diff --git a/.classpath b/.classpath new file mode 100644 index 0000000000000000000000000000000000000000..406ca4abdc68e88484ba4d3c6294fa9bc391cdb3 --- /dev/null +++ b/.classpath @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <classpathentry kind="src" path="src-gen"/> + <classpathentry kind="src" path="xtend-gen"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/.project b/.project new file mode 100644 index 0000000000000000000000000000000000000000..81322c6e412ea18515efc60d1fbc55ab28d53855 --- /dev/null +++ b/.project @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>edu.kit.ipd.descartes.mm.applicationlevel.repository.text</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.xtext.ui.shared.xtextBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.xtext.ui.shared.xtextNature</nature> + </natures> +</projectDescription> diff --git a/META-INF/MANIFEST.MF b/META-INF/MANIFEST.MF new file mode 100644 index 0000000000000000000000000000000000000000..d8c36916b99e924fc4b14a7d45ab3af0352ac001 --- /dev/null +++ b/META-INF/MANIFEST.MF @@ -0,0 +1,30 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: edu.kit.ipd.descartes.mm.applicationlevel.repository.text +Bundle-Vendor: My Company +Bundle-Version: 1.0.0 +Bundle-SymbolicName: edu.kit.ipd.descartes.mm.applicationlevel.repository.text; singleton:=true +Bundle-ActivationPolicy: lazy +Require-Bundle: org.eclipse.xtext;bundle-version="2.1.0";visibility:=reexport, + org.eclipse.xtext.xbase;bundle-version="2.1.0";resolution:=optional;visibility:=reexport, + org.apache.log4j;bundle-version="1.2.15";visibility:=reexport, + org.apache.commons.logging;bundle-version="1.0.4";resolution:=optional;visibility:=reexport, + org.eclipse.xtext.generator;resolution:=optional, + org.eclipse.emf.codegen.ecore;resolution:=optional, + org.eclipse.emf.mwe.utils;resolution:=optional, + org.eclipse.emf.mwe2.launch;resolution:=optional, + edu.kit.ipd.descartes.mm, + org.eclipse.xtext.util, + org.antlr.runtime +Import-Package: org.apache.log4j, + org.apache.commons.logging +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Export-Package: edu.kit.ipd.descartes.mm.applicationlevel.repository.text, + edu.kit.ipd.descartes.mm.applicationlevel.repository.text.services, + edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parseTreeConstruction, + edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parser.antlr, + edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parser.antlr.internal, + edu.kit.ipd.descartes.mm.applicationlevel.repository.text.validation, + edu.kit.ipd.descartes.mm.applicationlevel.repository.text.scoping, + edu.kit.ipd.descartes.mm.applicationlevel.repository.text.formatting + diff --git a/build.properties b/build.properties new file mode 100644 index 0000000000000000000000000000000000000000..31255ed05bc1242430be9f3e44440c2e42921649 --- /dev/null +++ b/build.properties @@ -0,0 +1,6 @@ +source.. = src/,\ + src-gen/,\ + xtend-gen/ +bin.includes = META-INF/,\ + .,\ + plugin.xml \ No newline at end of file diff --git a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/AbstractRepositoryDSLRuntimeModule.java b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/AbstractRepositoryDSLRuntimeModule.java new file mode 100644 index 0000000000000000000000000000000000000000..19261c2f16cf76bc50bccd62a1edf6d7982968b0 --- /dev/null +++ b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/AbstractRepositoryDSLRuntimeModule.java @@ -0,0 +1,142 @@ +/* + * generated by Xtext + */ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.text; + +import java.util.Properties; + +import org.eclipse.xtext.Constants; +import org.eclipse.xtext.service.DefaultRuntimeModule; + +import com.google.inject.Binder; +import com.google.inject.name.Names; + +/** + * Manual modifications go to {edu.kit.ipd.descartes.mm.applicationlevel.repository.text.RepositoryDSLRuntimeModule} + */ + @SuppressWarnings("all") +public abstract class AbstractRepositoryDSLRuntimeModule extends DefaultRuntimeModule { + + protected Properties properties = null; + + @Override + public void configure(Binder binder) { + properties = tryBindProperties(binder, "edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSL.properties"); + super.configure(binder); + } + + public void configureLanguageName(Binder binder) { + binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("edu.kit.ipd.descartes.mm.applicationlevel.repository.text.RepositoryDSL"); + } + + 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("repositoryDSL"); + } + + // contributed by org.eclipse.xtext.generator.grammarAccess.GrammarAccessFragment + public Class<? extends org.eclipse.xtext.IGrammarAccess> bindIGrammarAccess() { + return edu.kit.ipd.descartes.mm.applicationlevel.repository.text.services.RepositoryDSLGrammarAccess.class; + } + + // contributed by org.eclipse.xtext.generator.parseTreeConstructor.ParseTreeConstructorFragment + public Class<? extends org.eclipse.xtext.parsetree.reconstr.IParseTreeConstructor> bindIParseTreeConstructor() { + return edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parseTreeConstruction.RepositoryDSLParsetreeConstructor.class; + } + + // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment + public Class<? extends org.eclipse.xtext.parser.IParser> bindIParser() { + return edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parser.antlr.RepositoryDSLParser.class; + } + + // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment + public Class<? extends org.eclipse.xtext.parser.ITokenToStringConverter> bindITokenToStringConverter() { + return org.eclipse.xtext.parser.antlr.AntlrTokenToStringConverter.class; + } + + // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment + public Class<? extends org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider> bindIAntlrTokenFileProvider() { + return edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parser.antlr.RepositoryDSLAntlrTokenFileProvider.class; + } + + // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment + public Class<? extends org.eclipse.xtext.parser.antlr.Lexer> bindLexer() { + return edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parser.antlr.internal.InternalRepositoryDSLLexer.class; + } + + // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment + public com.google.inject.Provider<edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parser.antlr.internal.InternalRepositoryDSLLexer> provideInternalRepositoryDSLLexer() { + return org.eclipse.xtext.parser.antlr.LexerProvider.create(edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parser.antlr.internal.InternalRepositoryDSLLexer.class); + } + + // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment + public void configureRuntimeLexer(com.google.inject.Binder binder) { + binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.parser.antlr.LexerBindings.RUNTIME)).to(edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parser.antlr.internal.InternalRepositoryDSLLexer.class); + } + + // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment + public Class<? extends org.eclipse.xtext.parser.antlr.ITokenDefProvider> bindITokenDefProvider() { + return org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider.class; + } + + // contributed by org.eclipse.xtext.generator.ecore2xtext.Ecore2XtextValueConverterServiceFragment + public Class<? extends org.eclipse.xtext.conversion.IValueConverterService> bindIValueConverterService() { + return org.eclipse.xtext.common.services.Ecore2XtextTerminalConverters.class; + } + + // contributed by org.eclipse.xtext.generator.validation.JavaValidatorFragment + @org.eclipse.xtext.service.SingletonBinding(eager=true) public Class<? extends edu.kit.ipd.descartes.mm.applicationlevel.repository.text.validation.RepositoryDSLJavaValidator> bindRepositoryDSLJavaValidator() { + return edu.kit.ipd.descartes.mm.applicationlevel.repository.text.validation.RepositoryDSLJavaValidator.class; + } + + // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment + public Class<? extends org.eclipse.xtext.scoping.IScopeProvider> bindIScopeProvider() { + return edu.kit.ipd.descartes.mm.applicationlevel.repository.text.scoping.RepositoryDSLScopeProvider.class; + } + + // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment + public void configureIScopeProviderDelegate(com.google.inject.Binder binder) { + binder.bind(org.eclipse.xtext.scoping.IScopeProvider.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(org.eclipse.xtext.scoping.impl.SimpleLocalScopeProvider.class); + } + + // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment + public Class<? extends org.eclipse.xtext.scoping.IGlobalScopeProvider> bindIGlobalScopeProvider() { + return org.eclipse.xtext.scoping.impl.ImportUriGlobalScopeProvider.class; + } + + // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment + public void configureIgnoreCaseLinking(com.google.inject.Binder binder) { + binder.bindConstant().annotatedWith(org.eclipse.xtext.scoping.IgnoreCaseLinking.class).to(false); + } + + // contributed by org.eclipse.xtext.generator.exporting.SimpleNamesFragment + public Class<? extends org.eclipse.xtext.naming.IQualifiedNameProvider> bindIQualifiedNameProvider() { + return org.eclipse.xtext.naming.SimpleNameProvider.class; + } + + // contributed by org.eclipse.xtext.generator.formatting.FormatterFragment + public Class<? extends org.eclipse.xtext.formatting.IFormatter> bindIFormatter() { + return edu.kit.ipd.descartes.mm.applicationlevel.repository.text.formatting.RepositoryDSLFormatter.class; + } + + // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment + public Class<? extends org.eclipse.xtext.resource.IContainer.Manager> bindIContainer$Manager() { + return org.eclipse.xtext.resource.containers.StateBasedContainerManager.class; + } + + // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment + public Class<? extends org.eclipse.xtext.resource.containers.IAllContainersState.Provider> bindIAllContainersState$Provider() { + return org.eclipse.xtext.resource.containers.ResourceSetBasedAllContainersStateProvider.class; + } + + // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment + public void configureIResourceDescriptions(com.google.inject.Binder binder) { + binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class); + } + + // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment + public void configureIResourceDescriptionsBuilderScope(com.google.inject.Binder binder) { + binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class); + } + +} diff --git a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSL.xmi b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSL.xmi new file mode 100644 index 0000000000000000000000000000000000000000..0c23df9c83414d14d046e131282c0f9180e4c1bb --- /dev/null +++ b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSL.xmi @@ -0,0 +1,3049 @@ +<?xml version="1.0" encoding="ASCII"?> +<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext"> + <xtext:Grammar name="edu.kit.ipd.descartes.mm.applicationlevel.repository.text.RepositoryDSL" usedGrammars="/1"> + <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel"> + <ePackage href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#/"/> + </metamodelDeclarations> + <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="servicebehavior"> + <ePackage href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#/"/> + </metamodelDeclarations> + <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore"> + <ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/> + </metamodelDeclarations> + <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="repository"> + <ePackage href="http://www.descartes-research.net/metamodel/repository/0.1#/"/> + </metamodelDeclarations> + <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="system"> + <ePackage href="http://www.descartes-research.net/metamodel/system/0.1#/"/> + </metamodelDeclarations> + <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="resourceconfiguration"> + <ePackage href="http://www.descartes-research.net/metamodel/resourceconfiguration/0.1#/"/> + </metamodelDeclarations> + <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="functions"> + <ePackage href="http://www.descartes-research.net/metamodel/functions/0.1#/"/> + </metamodelDeclarations> + <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="resourcetype"> + <ePackage href="http://www.descartes-research.net/metamodel/resourcetype/0.1#/"/> + </metamodelDeclarations> + <rules xsi:type="xtext:ParserRule" name="Repository"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Repository"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="Repository"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="name"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="datatypes"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="datatypes" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.1"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="datatypes" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.1"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="interfaces"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="interfaces" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.14"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="interfaces" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.14"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="components"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="components" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="components" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="DataType"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//DataType"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.16"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.17"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.18"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="RepositoryComponent"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//RepositoryComponent"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.15"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.28"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.29"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.30"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="Relationship"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//Relationship"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.79"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.80"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="InfluencingParameter"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//InfluencingParameter"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.31"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.34"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.35"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.36"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="InterfaceProvidingEntity"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//InterfaceProvidingEntity"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.15"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.28"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.29"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.30"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="InterfaceProvidingRequiringEntity"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//InterfaceProvidingRequiringEntity"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.15"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.28"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.29"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.30"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="ServiceBehaviorAbstraction"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ServiceBehaviorAbstraction"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.37"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.27"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.25"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="ExternalCall"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ExternalCall"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.76"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.48"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="AbstractAction"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.38"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.40"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.41"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.42"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.43"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.44"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.45"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.46"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.47"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.48"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="ComponentInternalBehavior"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ComponentInternalBehavior"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.39"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.37"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="ProcessingResourceType"> + <type metamodel="/0/@metamodelDeclarations.7"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/resourcetype/0.1#//ProcessingResourceType"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.54"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.55"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="ProbabilityFunction"> + <type metamodel="/0/@metamodelDeclarations.6"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//ProbabilityFunction"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.60"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.61"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.62"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.63"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.64"/> + <elements xsi:type="xtext:RuleCall" rule="/0/@rules.65"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="EString"> + <type metamodel="/0/@metamodelDeclarations.2"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:RuleCall" rule="/1/@rules.2"/> + <elements xsi:type="xtext:RuleCall" rule="/1/@rules.0"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="Interface"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Interface"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="Interface"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="name"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="parentInterfaces"/> + <elements xsi:type="xtext:Keyword" value="("/> + <elements xsi:type="xtext:Assignment" feature="parentInterfaces" operator="+="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Interface"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="parentInterfaces" operator="+="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Interface"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value=")"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="signatures"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="signatures" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.21"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="signatures" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.21"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="RepositoryComponent_Impl"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//RepositoryComponent"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="RepositoryComponent"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="name"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="relationship"/> + <elements xsi:type="xtext:Keyword" value="("/> + <elements xsi:type="xtext:Assignment" feature="relationship" operator="+="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//Relationship"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="relationship" operator="+="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//Relationship"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value=")"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="providedRoles"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="providedRoles" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.24"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="providedRoles" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.24"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="blackBoxBehavior"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="blackBoxBehavior" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.25"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="blackBoxBehavior" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.25"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="requiredRoles"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="requiredRoles" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.26"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="requiredRoles" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.26"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="coarseGrainedBehavior"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="coarseGrainedBehavior" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.27"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="coarseGrainedBehavior" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.27"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="CollectionDataType"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//CollectionDataType"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="CollectionDataType"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="name"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="innerType"/> + <elements xsi:type="xtext:Assignment" feature="innerType" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//DataType"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="CompositeDataType"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//CompositeDataType"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="CompositeDataType"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="name"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="parentTypes"/> + <elements xsi:type="xtext:Keyword" value="("/> + <elements xsi:type="xtext:Assignment" feature="parentTypes" operator="+="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//CompositeDataType"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="parentTypes" operator="+="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//CompositeDataType"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value=")"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="innerDeclarations"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="innerDeclarations" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.19"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="innerDeclarations" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.19"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="PrimitiveDataType"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//PrimitiveDataType"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="PrimitiveDataType"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="type"/> + <elements xsi:type="xtext:Assignment" feature="type" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.20"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="InnerDeclaration"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//InnerDeclaration"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="InnerDeclaration"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="name"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="dataType"/> + <elements xsi:type="xtext:Assignment" feature="dataType" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//DataType"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:EnumRule" name="PrimitiveTypeEnum"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EEnum" href="http://www.descartes-research.net/metamodel/repository/0.1#//PrimitiveTypeEnum"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/repository/0.1#//PrimitiveTypeEnum/INT"/> + <literal value="INT"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/repository/0.1#//PrimitiveTypeEnum/STRING"/> + <literal value="STRING"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/repository/0.1#//PrimitiveTypeEnum/BOOL"/> + <literal value="BOOL"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/repository/0.1#//PrimitiveTypeEnum/DOUBLE"/> + <literal value="DOUBLE"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/repository/0.1#//PrimitiveTypeEnum/CHAR"/> + <literal value="CHAR"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/repository/0.1#//PrimitiveTypeEnum/BYTE"/> + <literal value="BYTE"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/repository/0.1#//PrimitiveTypeEnum/LONG"/> + <literal value="LONG"/> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="Signature"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Signature"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="Signature"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="name"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="returnType"/> + <elements xsi:type="xtext:Assignment" feature="returnType" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//DataType"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="parameters"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="parameters" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="parameters" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="Parameter"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Parameter"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="Parameter"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="modifier"/> + <elements xsi:type="xtext:Assignment" feature="modifier" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.23"/> + </elements> + <elements xsi:type="xtext:Keyword" value="dataType"/> + <elements xsi:type="xtext:Assignment" feature="dataType" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//DataType"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:EnumRule" name="ParameterModifier"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EEnum" href="http://www.descartes-research.net/metamodel/repository/0.1#//ParameterModifier"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/repository/0.1#//ParameterModifier/NONE"/> + <literal value="NONE"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/repository/0.1#//ParameterModifier/IN"/> + <literal value="IN"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/repository/0.1#//ParameterModifier/OUT"/> + <literal value="OUT"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/repository/0.1#//ParameterModifier/INOUT"/> + <literal value="INOUT"/> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="ProvidedRole"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//ProvidedRole"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="ProvidedRole"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="name"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="interface"/> + <elements xsi:type="xtext:Assignment" feature="interface" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Interface"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="BlackBoxBehavior"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//BlackBoxBehavior"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="BlackBoxBehavior"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="describedSignature"/> + <elements xsi:type="xtext:Assignment" feature="describedSignature" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Signature"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="describedEntity"/> + <elements xsi:type="xtext:Assignment" feature="describedEntity" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//InterfaceProvidingEntity"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="influencingParameter"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="influencingParameter" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="influencingParameter" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="responseTimeSpecification"/> + <elements xsi:type="xtext:Assignment" feature="responseTimeSpecification" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.32"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="RequiredRole"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//RequiredRole"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="RequiredRole"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="name"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="interface"/> + <elements xsi:type="xtext:Assignment" feature="interface" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Interface"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="CoarseGrainedBehavior"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//CoarseGrainedBehavior"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="CoarseGrainedBehavior"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="describedSignature"/> + <elements xsi:type="xtext:Assignment" feature="describedSignature" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Signature"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="describedEntity"/> + <elements xsi:type="xtext:Assignment" feature="describedEntity" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//InterfaceProvidingRequiringEntity"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="influencingParameter"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="influencingParameter" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="influencingParameter" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="externalCallFrequency"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="externalCallFrequency" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.77"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="externalCallFrequency" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.77"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="resourceDemandSpecification"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="resourceDemandSpecification" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.53"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="resourceDemandSpecification" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.53"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="BasicComponent"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//BasicComponent"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="BasicComponent"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="name"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="relationship"/> + <elements xsi:type="xtext:Keyword" value="("/> + <elements xsi:type="xtext:Assignment" feature="relationship" operator="+="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//Relationship"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="relationship" operator="+="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//Relationship"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value=")"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="providedRoles"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="providedRoles" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.24"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="providedRoles" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.24"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="blackBoxBehavior"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="blackBoxBehavior" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.25"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="blackBoxBehavior" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.25"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="requiredRoles"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="requiredRoles" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.26"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="requiredRoles" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.26"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="coarseGrainedBehavior"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="coarseGrainedBehavior" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.27"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="coarseGrainedBehavior" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.27"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="passiveResources"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="passiveResources" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.49"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="passiveResources" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.49"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="fineGrainedBehavior"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="fineGrainedBehavior" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.37"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="fineGrainedBehavior" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.37"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="CompositeComponent"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//CompositeComponent"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="CompositeComponent"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="name"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="relationship"/> + <elements xsi:type="xtext:Keyword" value="("/> + <elements xsi:type="xtext:Assignment" feature="relationship" operator="+="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//Relationship"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="relationship" operator="+="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//Relationship"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value=")"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="providedRoles"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="providedRoles" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.24"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="providedRoles" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.24"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="blackBoxBehavior"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="blackBoxBehavior" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.25"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="blackBoxBehavior" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.25"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="requiredRoles"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="requiredRoles" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.26"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="requiredRoles" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.26"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="coarseGrainedBehavior"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="coarseGrainedBehavior" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.27"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="coarseGrainedBehavior" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.27"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="assemblyContexts"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="assemblyContexts" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.71"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="assemblyContexts" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.71"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="assemblyConnectors"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="assemblyConnectors" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.72"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="assemblyConnectors" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.72"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="providedDelegationConnectors"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="providedDelegationConnectors" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.73"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="providedDelegationConnectors" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.73"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="requiredDelegationConnectors"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="requiredDelegationConnectors" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.74"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="requiredDelegationConnectors" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.74"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="SubSystem"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//SubSystem"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="SubSystem"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="name"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="relationship"/> + <elements xsi:type="xtext:Keyword" value="("/> + <elements xsi:type="xtext:Assignment" feature="relationship" operator="+="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//Relationship"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="relationship" operator="+="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//Relationship"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value=")"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="providedRoles"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="providedRoles" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.24"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="providedRoles" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.24"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="blackBoxBehavior"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="blackBoxBehavior" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.25"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="blackBoxBehavior" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.25"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="requiredRoles"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="requiredRoles" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.26"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="requiredRoles" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.26"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="coarseGrainedBehavior"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="coarseGrainedBehavior" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.27"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="coarseGrainedBehavior" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.27"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="assemblyContexts"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="assemblyContexts" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.71"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="assemblyContexts" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.71"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="assemblyConnectors"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="assemblyConnectors" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.72"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="assemblyConnectors" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.72"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="providedDelegationConnectors"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="providedDelegationConnectors" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.73"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="providedDelegationConnectors" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.73"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="requiredDelegationConnectors"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="requiredDelegationConnectors" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.74"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="requiredDelegationConnectors" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.74"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="InfluencingParameter_Impl"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//InfluencingParameter"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="InfluencingParameter"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="description"/> + <elements xsi:type="xtext:Assignment" feature="description" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="behavior"/> + <elements xsi:type="xtext:Assignment" feature="behavior" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ServiceBehaviorAbstraction"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="scope"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="scope" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.33"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="scope" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.33"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="ResponseTimeSpecification"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ResponseTimeSpecification"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Action"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ResponseTimeSpecification"/> + </type> + </elements> + <elements xsi:type="xtext:Keyword" value="ResponseTimeSpecification"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="Scope"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//Scope"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="Scope"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="interfaceProvidingRequiringEntity"/> + <elements xsi:type="xtext:Assignment" feature="interfaceProvidingRequiringEntity" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//InterfaceProvidingRequiringEntity"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="ServiceInputParameter"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//ServiceInputParameter"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="ServiceInputParameter"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="description"/> + <elements xsi:type="xtext:Assignment" feature="description" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="characterization"/> + <elements xsi:type="xtext:Assignment" feature="characterization" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.75"/> + </elements> + <elements xsi:type="xtext:Keyword" value="behavior"/> + <elements xsi:type="xtext:Assignment" feature="behavior" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ServiceBehaviorAbstraction"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="signature"/> + <elements xsi:type="xtext:Assignment" feature="signature" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Signature"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="parameter"/> + <elements xsi:type="xtext:Assignment" feature="parameter" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Parameter"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="returnType"/> + <elements xsi:type="xtext:Assignment" feature="returnType" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//DataType"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="providedRole"/> + <elements xsi:type="xtext:Assignment" feature="providedRole" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//ProvidedRole"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="scope"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="scope" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.33"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="scope" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.33"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="ExternalCallReturnParameter"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//ExternalCallReturnParameter"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="ExternalCallReturnParameter"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="description"/> + <elements xsi:type="xtext:Assignment" feature="description" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="characterization"/> + <elements xsi:type="xtext:Assignment" feature="characterization" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.75"/> + </elements> + <elements xsi:type="xtext:Keyword" value="behavior"/> + <elements xsi:type="xtext:Assignment" feature="behavior" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ServiceBehaviorAbstraction"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="signature"/> + <elements xsi:type="xtext:Assignment" feature="signature" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Signature"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="parameter"/> + <elements xsi:type="xtext:Assignment" feature="parameter" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Parameter"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="returnType"/> + <elements xsi:type="xtext:Assignment" feature="returnType" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//DataType"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="externalCall"/> + <elements xsi:type="xtext:Assignment" feature="externalCall" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ExternalCall"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="scope"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="scope" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.33"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="scope" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.33"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="ExternalCallParameter"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//ExternalCallParameter"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="ExternalCallParameter"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="description"/> + <elements xsi:type="xtext:Assignment" feature="description" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="characterization"/> + <elements xsi:type="xtext:Assignment" feature="characterization" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.75"/> + </elements> + <elements xsi:type="xtext:Keyword" value="behavior"/> + <elements xsi:type="xtext:Assignment" feature="behavior" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ServiceBehaviorAbstraction"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="signature"/> + <elements xsi:type="xtext:Assignment" feature="signature" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Signature"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="parameter"/> + <elements xsi:type="xtext:Assignment" feature="parameter" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Parameter"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="returnType"/> + <elements xsi:type="xtext:Assignment" feature="returnType" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//DataType"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="externallCall"/> + <elements xsi:type="xtext:Assignment" feature="externallCall" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ExternalCall"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="scope"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="scope" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.33"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="scope" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.33"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="FineGrainedBehavior"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//FineGrainedBehavior"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="FineGrainedBehavior"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="describedSignature"/> + <elements xsi:type="xtext:Assignment" feature="describedSignature" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Signature"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="basicComponent"/> + <elements xsi:type="xtext:Assignment" feature="basicComponent" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//BasicComponent"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="influencingParameter"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="influencingParameter" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="influencingParameter" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="actions"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="actions" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.9"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="actions" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.9"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Keyword" value="behavior"/> + <elements xsi:type="xtext:Assignment" feature="behavior" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="AbstractAction_Impl"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Action"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/> + </type> + </elements> + <elements xsi:type="xtext:Keyword" value="AbstractAction"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="predecessor"/> + <elements xsi:type="xtext:Assignment" feature="predecessor" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="successor"/> + <elements xsi:type="xtext:Assignment" feature="successor" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="ComponentInternalBehavior_Impl"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ComponentInternalBehavior"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Action"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ComponentInternalBehavior"/> + </type> + </elements> + <elements xsi:type="xtext:Keyword" value="ComponentInternalBehavior"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="actions"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="actions" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.9"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="actions" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.9"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="StartAction"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//StartAction"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Action"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//StartAction"/> + </type> + </elements> + <elements xsi:type="xtext:Keyword" value="StartAction"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="predecessor"/> + <elements xsi:type="xtext:Assignment" feature="predecessor" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="successor"/> + <elements xsi:type="xtext:Assignment" feature="successor" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="StopAction"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//StopAction"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Action"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//StopAction"/> + </type> + </elements> + <elements xsi:type="xtext:Keyword" value="StopAction"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="predecessor"/> + <elements xsi:type="xtext:Assignment" feature="predecessor" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="successor"/> + <elements xsi:type="xtext:Assignment" feature="successor" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="AcquireAction"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AcquireAction"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="AcquireAction"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="predecessor"/> + <elements xsi:type="xtext:Assignment" feature="predecessor" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="successor"/> + <elements xsi:type="xtext:Assignment" feature="successor" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="passiveResource"/> + <elements xsi:type="xtext:Assignment" feature="passiveResource" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.5"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/resourceconfiguration/0.1#//PassiveResourceSpecification"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="ReleaseAction"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ReleaseAction"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="ReleaseAction"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="predecessor"/> + <elements xsi:type="xtext:Assignment" feature="predecessor" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="successor"/> + <elements xsi:type="xtext:Assignment" feature="successor" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="passiveResource"/> + <elements xsi:type="xtext:Assignment" feature="passiveResource" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.5"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/resourceconfiguration/0.1#//PassiveResourceSpecification"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="InternalAction"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//InternalAction"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Action"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//InternalAction"/> + </type> + </elements> + <elements xsi:type="xtext:Keyword" value="InternalAction"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="predecessor"/> + <elements xsi:type="xtext:Assignment" feature="predecessor" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="successor"/> + <elements xsi:type="xtext:Assignment" feature="successor" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="resourceDemandSpecification"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="resourceDemandSpecification" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.53"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="resourceDemandSpecification" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.53"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="ForkAction"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ForkAction"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Assignment" feature="withSynchronizationBarrier" operator="?="> + <terminal xsi:type="xtext:Keyword" value="withSynchronizationBarrier"/> + </elements> + <elements xsi:type="xtext:Keyword" value="ForkAction"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="predecessor"/> + <elements xsi:type="xtext:Assignment" feature="predecessor" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="successor"/> + <elements xsi:type="xtext:Assignment" feature="successor" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="forkedBehaviors"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="forkedBehaviors" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="forkedBehaviors" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="BranchAction"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//BranchAction"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="BranchAction"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="predecessor"/> + <elements xsi:type="xtext:Assignment" feature="predecessor" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="successor"/> + <elements xsi:type="xtext:Assignment" feature="successor" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="branches"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="branches" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.57"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="branches" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.57"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Keyword" value="branchProbabilities"/> + <elements xsi:type="xtext:Assignment" feature="branchProbabilities" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.58"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="LoopAction"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//LoopAction"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="LoopAction"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="predecessor"/> + <elements xsi:type="xtext:Assignment" feature="predecessor" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="successor"/> + <elements xsi:type="xtext:Assignment" feature="successor" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="loopBodyBehavior"/> + <elements xsi:type="xtext:Assignment" feature="loopBodyBehavior" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/> + </elements> + <elements xsi:type="xtext:Keyword" value="loopIterationCountDistribution"/> + <elements xsi:type="xtext:Assignment" feature="loopIterationCountDistribution" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.70"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="ExternalCallAction"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ExternalCallAction"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="ExternalCallAction"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="predecessor"/> + <elements xsi:type="xtext:Assignment" feature="predecessor" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="successor"/> + <elements xsi:type="xtext:Assignment" feature="successor" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//AbstractAction"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="signature"/> + <elements xsi:type="xtext:Assignment" feature="signature" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Signature"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="requiredRole"/> + <elements xsi:type="xtext:Assignment" feature="requiredRole" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//RequiredRole"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="PassiveResourceSpecification"> + <type metamodel="/0/@metamodelDeclarations.5"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/resourceconfiguration/0.1#//PassiveResourceSpecification"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="PassiveResourceSpecification"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="name"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="passiveResourceType"/> + <elements xsi:type="xtext:Assignment" feature="passiveResourceType" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.7"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/resourcetype/0.1#//PassiveResourceType"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="capacity"/> + <elements xsi:type="xtext:Assignment" feature="capacity" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.50"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="PassiveResourceCapacity"> + <type metamodel="/0/@metamodelDeclarations.5"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/resourceconfiguration/0.1#//PassiveResourceCapacity"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="PassiveResourceCapacity"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="name"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="capacity"/> + <elements xsi:type="xtext:Assignment" feature="capacity" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.52"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="PassiveResourceType"> + <type metamodel="/0/@metamodelDeclarations.7"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/resourcetype/0.1#//PassiveResourceType"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="PassiveResourceType"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="name"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="EBigInteger"> + <type metamodel="/0/@metamodelDeclarations.2"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBigInteger"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" cardinality="?" value="-"/> + <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="ResourceDemandSpecification"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ResourceDemandSpecification"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="ResourceDemandSpecification"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="processingResourceType"/> + <elements xsi:type="xtext:Assignment" feature="processingResourceType" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.7"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/resourcetype/0.1#//ProcessingResourceType"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="ProcessingResourceType_Impl"> + <type metamodel="/0/@metamodelDeclarations.7"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/resourcetype/0.1#//ProcessingResourceType"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="ProcessingResourceType"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="name"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="CommunicationLinkResourceType"> + <type metamodel="/0/@metamodelDeclarations.7"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/resourcetype/0.1#//CommunicationLinkResourceType"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="CommunicationLinkResourceType"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="name"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="EBoolean"> + <type metamodel="/0/@metamodelDeclarations.2"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:Keyword" value="true"/> + <elements xsi:type="xtext:Keyword" value="false"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="BranchTransition"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//BranchTransition"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="BranchTransition"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="name"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="branchBehavior"/> + <elements xsi:type="xtext:Assignment" feature="branchBehavior" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="BranchProbabilities"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//BranchProbabilities"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="BranchProbabilities"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="probabilities"/> + <elements xsi:type="xtext:Assignment" feature="probabilities" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.6"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//RandomVariable"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="RandomVariable"> + <type metamodel="/0/@metamodelDeclarations.6"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//RandomVariable"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="RandomVariable"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="specification"/> + <elements xsi:type="xtext:Assignment" feature="specification" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="probFunction"/> + <elements xsi:type="xtext:Assignment" feature="probFunction" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.6"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//ProbabilityFunction"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="ProbabilityMassFunction"> + <type metamodel="/0/@metamodelDeclarations.6"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//ProbabilityMassFunction"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Action"> + <type metamodel="/0/@metamodelDeclarations.6"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//ProbabilityMassFunction"/> + </type> + </elements> + <elements xsi:type="xtext:Keyword" value="ProbabilityMassFunction"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="sample"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="sample" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.66"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="sample" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.66"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="ProbabilityDensityFunction_Impl"> + <type metamodel="/0/@metamodelDeclarations.6"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//ProbabilityDensityFunction"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Action"> + <type metamodel="/0/@metamodelDeclarations.6"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//ProbabilityDensityFunction"/> + </type> + </elements> + <elements xsi:type="xtext:Keyword" value="ProbabilityDensityFunction"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="BoxedPDF"> + <type metamodel="/0/@metamodelDeclarations.6"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//BoxedPDF"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Action"> + <type metamodel="/0/@metamodelDeclarations.6"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//BoxedPDF"/> + </type> + </elements> + <elements xsi:type="xtext:Keyword" value="BoxedPDF"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="sample"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Assignment" feature="sample" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.69"/> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="sample" operator="+="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.69"/> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="ContinuousPDF_Impl"> + <type metamodel="/0/@metamodelDeclarations.6"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//ContinuousPDF"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Action"> + <type metamodel="/0/@metamodelDeclarations.6"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//ContinuousPDF"/> + </type> + </elements> + <elements xsi:type="xtext:Keyword" value="ContinuousPDF"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="NormalDistribution"> + <type metamodel="/0/@metamodelDeclarations.6"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//NormalDistribution"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="NormalDistribution"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="mu"/> + <elements xsi:type="xtext:Assignment" feature="mu" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.68"/> + </elements> + <elements xsi:type="xtext:Keyword" value="sigma"/> + <elements xsi:type="xtext:Assignment" feature="sigma" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.68"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="ExponentialDistribution"> + <type metamodel="/0/@metamodelDeclarations.6"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//ExponentialDistribution"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="ExponentialDistribution"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="rate"/> + <elements xsi:type="xtext:Assignment" feature="rate" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.68"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="Sample"> + <type metamodel="/0/@metamodelDeclarations.6"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//Sample"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="Sample"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="probability"/> + <elements xsi:type="xtext:Assignment" feature="probability" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.68"/> + </elements> + <elements xsi:type="xtext:Keyword" value="value"/> + <elements xsi:type="xtext:Assignment" feature="value" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.2"> + <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="EObject"> + <type metamodel="/0/@metamodelDeclarations.2"> + <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Action"> + <type metamodel="/0/@metamodelDeclarations.2"> + <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </type> + </elements> + <elements xsi:type="xtext:Keyword" value="EObject"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="EBigDecimal"> + <type metamodel="/0/@metamodelDeclarations.2"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:RuleCall" cardinality="?" rule="/1/@rules.1"/> + <elements xsi:type="xtext:Keyword" value="."/> + <elements xsi:type="xtext:RuleCall" rule="/1/@rules.1"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="ContinuousSample"> + <type metamodel="/0/@metamodelDeclarations.6"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//ContinuousSample"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="ContinuousSample"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="value"/> + <elements xsi:type="xtext:Assignment" feature="value" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.68"/> + </elements> + <elements xsi:type="xtext:Keyword" value="probability"/> + <elements xsi:type="xtext:Assignment" feature="probability" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.68"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="LoopIterationCountDistribution"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//LoopIterationCountDistribution"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="LoopIterationCountDistribution"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="loopIterationCountDistribution"/> + <elements xsi:type="xtext:Assignment" feature="loopIterationCountDistribution" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.6"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//RandomVariable"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="AssemblyContext"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//AssemblyContext"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="AssemblyContext"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="name"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="encapsulatedComponent"/> + <elements xsi:type="xtext:Assignment" feature="encapsulatedComponent" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//RepositoryComponent"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="AssemblyConnector"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//AssemblyConnector"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="AssemblyConnector"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="name"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="requiredRole"/> + <elements xsi:type="xtext:Assignment" feature="requiredRole" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//RequiredRole"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="providedRole"/> + <elements xsi:type="xtext:Assignment" feature="providedRole" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//ProvidedRole"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="providingAssemblyContext"/> + <elements xsi:type="xtext:Assignment" feature="providingAssemblyContext" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//AssemblyContext"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="requiringAssemblyContext"/> + <elements xsi:type="xtext:Assignment" feature="requiringAssemblyContext" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//AssemblyContext"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="ProvidedDelegationConnector"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//ProvidedDelegationConnector"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="ProvidedDelegationConnector"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="name"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="assemblyContext"/> + <elements xsi:type="xtext:Assignment" feature="assemblyContext" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//AssemblyContext"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="innerProvidedRole"/> + <elements xsi:type="xtext:Assignment" feature="innerProvidedRole" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//ProvidedRole"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="outerProvidedRole"/> + <elements xsi:type="xtext:Assignment" feature="outerProvidedRole" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//ProvidedRole"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="RequiredDelegationConnector"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//RequiredDelegationConnector"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="RequiredDelegationConnector"/> + <elements xsi:type="xtext:Assignment" feature="id" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="name"/> + <elements xsi:type="xtext:Assignment" feature="name" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </elements> + <elements xsi:type="xtext:Keyword" value="assemblyContext"/> + <elements xsi:type="xtext:Assignment" feature="assemblyContext" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//AssemblyContext"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="innerRequiredRole"/> + <elements xsi:type="xtext:Assignment" feature="innerRequiredRole" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//RequiredRole"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="outerRequiredRole"/> + <elements xsi:type="xtext:Assignment" feature="outerRequiredRole" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//RequiredRole"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:EnumRule" name="CharacterizationType"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EEnum" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//CharacterizationType"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//CharacterizationType/VALUE"/> + <literal value="VALUE"/> + </elements> + <elements xsi:type="xtext:EnumLiteralDeclaration"> + <enumLiteral href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//CharacterizationType/NUMBER_OF_ELEMENTS"/> + <literal value="NUMBER_OF_ELEMENTS"/> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="ExternalCall_Impl"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ExternalCall"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="ExternalCall"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="signature"/> + <elements xsi:type="xtext:Assignment" feature="signature" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//Signature"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="requiredRole"/> + <elements xsi:type="xtext:Assignment" feature="requiredRole" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//RequiredRole"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="ExternalCallFrequency"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ExternalCallFrequency"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="ExternalCallFrequency"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="externalCall"/> + <elements xsi:type="xtext:Assignment" feature="externalCall" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.8"/> + </elements> + <elements xsi:type="xtext:Keyword" value="frequency"/> + <elements xsi:type="xtext:Assignment" feature="frequency" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.78"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="CallFrequency"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//CallFrequency"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="CallFrequency"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="frequency"/> + <elements xsi:type="xtext:Assignment" feature="frequency" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.6"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/functions/0.1#//RandomVariable"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="DependencyRelationship"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//DependencyRelationship"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="DependencyRelationship"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="surroundingEntity"/> + <elements xsi:type="xtext:Assignment" feature="surroundingEntity" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//InterfaceProvidingRequiringEntity"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="influencedVariable"/> + <elements xsi:type="xtext:Assignment" feature="influencedVariable" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//InfluencedVariable"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="influencingParameter"/> + <elements xsi:type="xtext:Assignment" feature="influencingParameter" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//InfluencingParameter"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="CorrelationRelationship"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//CorrelationRelationship"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="CorrelationRelationship"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Keyword" value="surroundingEntity"/> + <elements xsi:type="xtext:Assignment" feature="surroundingEntity" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//InterfaceProvidingRequiringEntity"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="leftInfluencingParameter"/> + <elements xsi:type="xtext:Assignment" feature="leftInfluencingParameter" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//InfluencingParameter"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="rightInfluencingParameter"/> + <elements xsi:type="xtext:Assignment" feature="rightInfluencingParameter" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//InfluencingParameter"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Keyword" value="leftComponentInstanceReference"/> + <elements xsi:type="xtext:Assignment" feature="leftComponentInstanceReference" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.82"/> + </elements> + <elements xsi:type="xtext:Keyword" value="rightComponentInstanceReference"/> + <elements xsi:type="xtext:Assignment" feature="rightComponentInstanceReference" operator="="> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.82"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="InfluencedVariable"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//InfluencedVariable"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Action"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//InfluencedVariable"/> + </type> + </elements> + <elements xsi:type="xtext:Keyword" value="InfluencedVariable"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="controlFlowVariable"/> + <elements xsi:type="xtext:Assignment" feature="controlFlowVariable" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//ControlFlowSpecification"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="resourceDemand"/> + <elements xsi:type="xtext:Assignment" feature="resourceDemand" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ResourceDemandSpecification"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="responseTime"/> + <elements xsi:type="xtext:Assignment" feature="responseTime" operator="="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.1"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/servicebehavior/0.1#//ResponseTimeSpecification"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + <rules xsi:type="xtext:ParserRule" name="ComponentInstanceReference"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//ComponentInstanceReference"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Action"> + <type metamodel="/0/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/parameterdependencies/0.1#//ComponentInstanceReference"/> + </type> + </elements> + <elements xsi:type="xtext:Keyword" value="ComponentInstanceReference"/> + <elements xsi:type="xtext:Keyword" value="{"/> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" value="assemblies"/> + <elements xsi:type="xtext:Keyword" value="("/> + <elements xsi:type="xtext:Assignment" feature="assemblies" operator="+="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//AssemblyContext"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + <elements xsi:type="xtext:Group" cardinality="*"> + <elements xsi:type="xtext:Keyword" value=","/> + <elements xsi:type="xtext:Assignment" feature="assemblies" operator="+="> + <terminal xsi:type="xtext:CrossReference"> + <type metamodel="/0/@metamodelDeclarations.3"> + <classifier xsi:type="ecore:EClass" href="http://www.descartes-research.net/metamodel/repository/0.1#//AssemblyContext"/> + </type> + <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.13"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value=")"/> + </elements> + <elements xsi:type="xtext:Keyword" value="}"/> + </alternatives> + </rules> + </xtext:Grammar> + <xtext:Grammar name="org.eclipse.xtext.common.Terminals" definesHiddenTokens="true" hiddenTokens="/1/@rules.5 /1/@rules.3 /1/@rules.4"> + <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore"> + <ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/> + </metamodelDeclarations> + <rules xsi:type="xtext:TerminalRule" name="ID"> + <type metamodel="/1/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" cardinality="?" value="^"/> + <elements xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:CharacterRange"> + <left value="a"/> + <right value="z"/> + </elements> + <elements xsi:type="xtext:CharacterRange"> + <left value="A"/> + <right value="Z"/> + </elements> + <elements xsi:type="xtext:Keyword" value="_"/> + </elements> + <elements xsi:type="xtext:Alternatives" cardinality="*"> + <elements xsi:type="xtext:CharacterRange"> + <left value="a"/> + <right value="z"/> + </elements> + <elements xsi:type="xtext:CharacterRange"> + <left value="A"/> + <right value="Z"/> + </elements> + <elements xsi:type="xtext:Keyword" value="_"/> + <elements xsi:type="xtext:CharacterRange"> + <left value="0"/> + <right value="9"/> + </elements> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:TerminalRule" name="INT"> + <type metamodel="/1/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </type> + <alternatives xsi:type="xtext:CharacterRange" cardinality="+"> + <left value="0"/> + <right value="9"/> + </alternatives> + </rules> + <rules xsi:type="xtext:TerminalRule" name="STRING"> + <type metamodel="/1/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </type> + <alternatives xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="""/> + <elements xsi:type="xtext:Alternatives" cardinality="*"> + <elements xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="\"/> + <elements xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:Keyword" value="b"/> + <elements xsi:type="xtext:Keyword" value="t"/> + <elements xsi:type="xtext:Keyword" value="n"/> + <elements xsi:type="xtext:Keyword" value="f"/> + <elements xsi:type="xtext:Keyword" value="r"/> + <elements xsi:type="xtext:Keyword" value="u"/> + <elements xsi:type="xtext:Keyword" value="""/> + <elements xsi:type="xtext:Keyword" value="'"/> + <elements xsi:type="xtext:Keyword" value="\"/> + </elements> + </elements> + <elements xsi:type="xtext:NegatedToken"> + <terminal xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:Keyword" value="\"/> + <elements xsi:type="xtext:Keyword" value="""/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="""/> + </elements> + <elements xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="'"/> + <elements xsi:type="xtext:Alternatives" cardinality="*"> + <elements xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="\"/> + <elements xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:Keyword" value="b"/> + <elements xsi:type="xtext:Keyword" value="t"/> + <elements xsi:type="xtext:Keyword" value="n"/> + <elements xsi:type="xtext:Keyword" value="f"/> + <elements xsi:type="xtext:Keyword" value="r"/> + <elements xsi:type="xtext:Keyword" value="u"/> + <elements xsi:type="xtext:Keyword" value="""/> + <elements xsi:type="xtext:Keyword" value="'"/> + <elements xsi:type="xtext:Keyword" value="\"/> + </elements> + </elements> + <elements xsi:type="xtext:NegatedToken"> + <terminal xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:Keyword" value="\"/> + <elements xsi:type="xtext:Keyword" value="'"/> + </terminal> + </elements> + </elements> + <elements xsi:type="xtext:Keyword" value="'"/> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:TerminalRule" name="ML_COMMENT"> + <type metamodel="/1/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="/*"/> + <elements xsi:type="xtext:UntilToken"> + <terminal xsi:type="xtext:Keyword" value="*/"/> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:TerminalRule" name="SL_COMMENT"> + <type metamodel="/1/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </type> + <alternatives xsi:type="xtext:Group"> + <elements xsi:type="xtext:Keyword" value="//"/> + <elements xsi:type="xtext:NegatedToken" cardinality="*"> + <terminal xsi:type="xtext:Alternatives"> + <elements xsi:type="xtext:Keyword" value="
"/> + <elements xsi:type="xtext:Keyword" value="
"/> + </terminal> + </elements> + <elements xsi:type="xtext:Group" cardinality="?"> + <elements xsi:type="xtext:Keyword" cardinality="?" value="
"/> + <elements xsi:type="xtext:Keyword" value="
"/> + </elements> + </alternatives> + </rules> + <rules xsi:type="xtext:TerminalRule" name="WS"> + <type metamodel="/1/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </type> + <alternatives xsi:type="xtext:Alternatives" cardinality="+"> + <elements xsi:type="xtext:Keyword" value=" "/> + <elements xsi:type="xtext:Keyword" value="	"/> + <elements xsi:type="xtext:Keyword" value="
"/> + <elements xsi:type="xtext:Keyword" value="
"/> + </alternatives> + </rules> + <rules xsi:type="xtext:TerminalRule" name="ANY_OTHER"> + <type metamodel="/1/@metamodelDeclarations.0"> + <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </type> + <alternatives xsi:type="xtext:Wildcard"/> + </rules> + </xtext:Grammar> +</xmi:XMI> diff --git a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSLStandaloneSetupGenerated.java b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSLStandaloneSetupGenerated.java new file mode 100644 index 0000000000000000000000000000000000000000..5fdc9c433e64dd91acade49774eca4e5f5a3707a --- /dev/null +++ b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSLStandaloneSetupGenerated.java @@ -0,0 +1,40 @@ + +package edu.kit.ipd.descartes.mm.applicationlevel.repository.text; + +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.xtext.ISetup; +import org.eclipse.emf.ecore.resource.Resource; + +import com.google.inject.Guice; +import com.google.inject.Injector; + +/** + * Generated from StandaloneSetup.xpt! + */ +@SuppressWarnings("all") +public class RepositoryDSLStandaloneSetupGenerated implements ISetup { + + public Injector createInjectorAndDoEMFRegistration() { + org.eclipse.xtext.common.TerminalsStandaloneSetup.doSetup(); + + Injector injector = createInjector(); + register(injector); + return injector; + } + + public Injector createInjector() { + return Guice.createInjector(new edu.kit.ipd.descartes.mm.applicationlevel.repository.text.RepositoryDSLRuntimeModule()); + } + + public void register(Injector injector) { + + org.eclipse.xtext.resource.IResourceFactory resourceFactory = injector.getInstance(org.eclipse.xtext.resource.IResourceFactory.class); + org.eclipse.xtext.resource.IResourceServiceProvider serviceProvider = injector.getInstance(org.eclipse.xtext.resource.IResourceServiceProvider.class); + Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("repositoryDSL", resourceFactory); + org.eclipse.xtext.resource.IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("repositoryDSL", serviceProvider); + + + + + } +} diff --git a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parseTreeConstruction/RepositoryDSLParsetreeConstructor.java b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parseTreeConstruction/RepositoryDSLParsetreeConstructor.java new file mode 100644 index 0000000000000000000000000000000000000000..ce41318d16b91b249e4da51d501ca569223a6266 --- /dev/null +++ b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parseTreeConstruction/RepositoryDSLParsetreeConstructor.java @@ -0,0 +1,31625 @@ +/* +* generated by Xtext +*/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parseTreeConstruction; + +import org.eclipse.emf.ecore.*; +import org.eclipse.xtext.*; +import org.eclipse.xtext.parsetree.reconstr.IEObjectConsumer; +import org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor; + +import edu.kit.ipd.descartes.mm.applicationlevel.repository.text.services.RepositoryDSLGrammarAccess; + +import com.google.inject.Inject; + +@SuppressWarnings("all") +public class RepositoryDSLParsetreeConstructor extends AbstractParseTreeConstructor { + + @Inject + private RepositoryDSLGrammarAccess grammarAccess; + + @Override + protected AbstractToken getRootToken(IEObjectConsumer inst) { + return new ThisRootNode(inst); + } + +protected class ThisRootNode extends RootToken { + public ThisRootNode(IEObjectConsumer inst) { + super(inst); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Repository_Group(this, this, 0, inst); + case 1: return new DataType_Alternatives(this, this, 1, inst); + case 2: return new RepositoryComponent_Alternatives(this, this, 2, inst); + case 3: return new Relationship_Alternatives(this, this, 3, inst); + case 4: return new InfluencingParameter_Alternatives(this, this, 4, inst); + case 5: return new InterfaceProvidingEntity_Alternatives(this, this, 5, inst); + case 6: return new InterfaceProvidingRequiringEntity_Alternatives(this, this, 6, inst); + case 7: return new ServiceBehaviorAbstraction_Alternatives(this, this, 7, inst); + case 8: return new ExternalCall_Alternatives(this, this, 8, inst); + case 9: return new AbstractAction_Alternatives(this, this, 9, inst); + case 10: return new ComponentInternalBehavior_Alternatives(this, this, 10, inst); + case 11: return new ProcessingResourceType_Alternatives(this, this, 11, inst); + case 12: return new ProbabilityFunction_Alternatives(this, this, 12, inst); + case 13: return new Interface_Group(this, this, 13, inst); + case 14: return new RepositoryComponent_Impl_Group(this, this, 14, inst); + case 15: return new CollectionDataType_Group(this, this, 15, inst); + case 16: return new CompositeDataType_Group(this, this, 16, inst); + case 17: return new PrimitiveDataType_Group(this, this, 17, inst); + case 18: return new InnerDeclaration_Group(this, this, 18, inst); + case 19: return new Signature_Group(this, this, 19, inst); + case 20: return new Parameter_Group(this, this, 20, inst); + case 21: return new ProvidedRole_Group(this, this, 21, inst); + case 22: return new BlackBoxBehavior_Group(this, this, 22, inst); + case 23: return new RequiredRole_Group(this, this, 23, inst); + case 24: return new CoarseGrainedBehavior_Group(this, this, 24, inst); + case 25: return new BasicComponent_Group(this, this, 25, inst); + case 26: return new CompositeComponent_Group(this, this, 26, inst); + case 27: return new SubSystem_Group(this, this, 27, inst); + case 28: return new InfluencingParameter_Impl_Group(this, this, 28, inst); + case 29: return new ResponseTimeSpecification_Group(this, this, 29, inst); + case 30: return new Scope_Group(this, this, 30, inst); + case 31: return new ServiceInputParameter_Group(this, this, 31, inst); + case 32: return new ExternalCallReturnParameter_Group(this, this, 32, inst); + case 33: return new ExternalCallParameter_Group(this, this, 33, inst); + case 34: return new FineGrainedBehavior_Group(this, this, 34, inst); + case 35: return new AbstractAction_Impl_Group(this, this, 35, inst); + case 36: return new ComponentInternalBehavior_Impl_Group(this, this, 36, inst); + case 37: return new StartAction_Group(this, this, 37, inst); + case 38: return new StopAction_Group(this, this, 38, inst); + case 39: return new AcquireAction_Group(this, this, 39, inst); + case 40: return new ReleaseAction_Group(this, this, 40, inst); + case 41: return new InternalAction_Group(this, this, 41, inst); + case 42: return new ForkAction_Group(this, this, 42, inst); + case 43: return new BranchAction_Group(this, this, 43, inst); + case 44: return new LoopAction_Group(this, this, 44, inst); + case 45: return new ExternalCallAction_Group(this, this, 45, inst); + case 46: return new PassiveResourceSpecification_Group(this, this, 46, inst); + case 47: return new PassiveResourceCapacity_Group(this, this, 47, inst); + case 48: return new PassiveResourceType_Group(this, this, 48, inst); + case 49: return new ResourceDemandSpecification_Group(this, this, 49, inst); + case 50: return new ProcessingResourceType_Impl_Group(this, this, 50, inst); + case 51: return new CommunicationLinkResourceType_Group(this, this, 51, inst); + case 52: return new BranchTransition_Group(this, this, 52, inst); + case 53: return new BranchProbabilities_Group(this, this, 53, inst); + case 54: return new RandomVariable_Group(this, this, 54, inst); + case 55: return new ProbabilityMassFunction_Group(this, this, 55, inst); + case 56: return new ProbabilityDensityFunction_Impl_Group(this, this, 56, inst); + case 57: return new BoxedPDF_Group(this, this, 57, inst); + case 58: return new ContinuousPDF_Impl_Group(this, this, 58, inst); + case 59: return new NormalDistribution_Group(this, this, 59, inst); + case 60: return new ExponentialDistribution_Group(this, this, 60, inst); + case 61: return new Sample_Group(this, this, 61, inst); + case 62: return new EObject_Group(this, this, 62, inst); + case 63: return new ContinuousSample_Group(this, this, 63, inst); + case 64: return new LoopIterationCountDistribution_Group(this, this, 64, inst); + case 65: return new AssemblyContext_Group(this, this, 65, inst); + case 66: return new AssemblyConnector_Group(this, this, 66, inst); + case 67: return new ProvidedDelegationConnector_Group(this, this, 67, inst); + case 68: return new RequiredDelegationConnector_Group(this, this, 68, inst); + case 69: return new ExternalCall_Impl_Group(this, this, 69, inst); + case 70: return new ExternalCallFrequency_Group(this, this, 70, inst); + case 71: return new CallFrequency_Group(this, this, 71, inst); + case 72: return new DependencyRelationship_Group(this, this, 72, inst); + case 73: return new CorrelationRelationship_Group(this, this, 73, inst); + case 74: return new InfluencedVariable_Group(this, this, 74, inst); + case 75: return new ComponentInstanceReference_Group(this, this, 75, inst); + default: return null; + } + } +} + + +/************ begin Rule Repository **************** + * + * Repository returns repository::Repository: + * "Repository" id=EString "{" "name" name=EString ("datatypes" "{" datatypes+=DataType ("," datatypes+=DataType)* "}")? + * ("interfaces" "{" interfaces+=Interface ("," interfaces+=Interface)* "}")? ("components" "{" + * components+=RepositoryComponent ("," components+=RepositoryComponent)* "}")? "}"; + * + **/ + +// "Repository" id=EString "{" "name" name=EString ("datatypes" "{" datatypes+=DataType ("," datatypes+=DataType)* "}")? +// ("interfaces" "{" interfaces+=Interface ("," interfaces+=Interface)* "}")? ("components" "{" +// components+=RepositoryComponent ("," components+=RepositoryComponent)* "}")? "}" +protected class Repository_Group extends GroupToken { + + public Repository_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getRepositoryAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Repository_RightCurlyBracketKeyword_8(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getRepositoryRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "Repository" +protected class Repository_RepositoryKeyword_0 extends KeywordToken { + + public Repository_RepositoryKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryAccess().getRepositoryKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// id=EString +protected class Repository_IdAssignment_1 extends AssignmentToken { + + public Repository_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getRepositoryAccess().getIdAssignment_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Repository_RepositoryKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("id",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getRepositoryAccess().getIdEStringParserRuleCall_1_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getRepositoryAccess().getIdEStringParserRuleCall_1_0(); + return obj; + } + return null; + } + +} + +// "{" +protected class Repository_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public Repository_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Repository_IdAssignment_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "name" +protected class Repository_NameKeyword_3 extends KeywordToken { + + public Repository_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryAccess().getNameKeyword_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Repository_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// name=EString +protected class Repository_NameAssignment_4 extends AssignmentToken { + + public Repository_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getRepositoryAccess().getNameAssignment_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Repository_NameKeyword_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getRepositoryAccess().getNameEStringParserRuleCall_4_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getRepositoryAccess().getNameEStringParserRuleCall_4_0(); + return obj; + } + return null; + } + +} + +// ("datatypes" "{" datatypes+=DataType ("," datatypes+=DataType)* "}")? +protected class Repository_Group_5 extends GroupToken { + + public Repository_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getRepositoryAccess().getGroup_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Repository_RightCurlyBracketKeyword_5_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "datatypes" +protected class Repository_DatatypesKeyword_5_0 extends KeywordToken { + + public Repository_DatatypesKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryAccess().getDatatypesKeyword_5_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Repository_NameAssignment_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "{" +protected class Repository_LeftCurlyBracketKeyword_5_1 extends KeywordToken { + + public Repository_LeftCurlyBracketKeyword_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_5_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Repository_DatatypesKeyword_5_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// datatypes+=DataType +protected class Repository_DatatypesAssignment_5_2 extends AssignmentToken { + + public Repository_DatatypesAssignment_5_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getRepositoryAccess().getDatatypesAssignment_5_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new DataType_Alternatives(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("datatypes",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("datatypes"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getDataTypeRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_5_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new Repository_LeftCurlyBracketKeyword_5_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," datatypes+=DataType)* +protected class Repository_Group_5_3 extends GroupToken { + + public Repository_Group_5_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getRepositoryAccess().getGroup_5_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Repository_DatatypesAssignment_5_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class Repository_CommaKeyword_5_3_0 extends KeywordToken { + + public Repository_CommaKeyword_5_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryAccess().getCommaKeyword_5_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Repository_Group_5_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new Repository_DatatypesAssignment_5_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// datatypes+=DataType +protected class Repository_DatatypesAssignment_5_3_1 extends AssignmentToken { + + public Repository_DatatypesAssignment_5_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getRepositoryAccess().getDatatypesAssignment_5_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new DataType_Alternatives(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("datatypes",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("datatypes"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getDataTypeRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_5_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new Repository_CommaKeyword_5_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class Repository_RightCurlyBracketKeyword_5_4 extends KeywordToken { + + public Repository_RightCurlyBracketKeyword_5_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_5_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Repository_Group_5_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new Repository_DatatypesAssignment_5_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("interfaces" "{" interfaces+=Interface ("," interfaces+=Interface)* "}")? +protected class Repository_Group_6 extends GroupToken { + + public Repository_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getRepositoryAccess().getGroup_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Repository_RightCurlyBracketKeyword_6_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "interfaces" +protected class Repository_InterfacesKeyword_6_0 extends KeywordToken { + + public Repository_InterfacesKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryAccess().getInterfacesKeyword_6_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Repository_Group_5(lastRuleCallOrigin, this, 0, inst); + case 1: return new Repository_NameAssignment_4(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// "{" +protected class Repository_LeftCurlyBracketKeyword_6_1 extends KeywordToken { + + public Repository_LeftCurlyBracketKeyword_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_6_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Repository_InterfacesKeyword_6_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// interfaces+=Interface +protected class Repository_InterfacesAssignment_6_2 extends AssignmentToken { + + public Repository_InterfacesAssignment_6_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getRepositoryAccess().getInterfacesAssignment_6_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Interface_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("interfaces",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("interfaces"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getInterfaceRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_6_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new Repository_LeftCurlyBracketKeyword_6_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," interfaces+=Interface)* +protected class Repository_Group_6_3 extends GroupToken { + + public Repository_Group_6_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getRepositoryAccess().getGroup_6_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Repository_InterfacesAssignment_6_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class Repository_CommaKeyword_6_3_0 extends KeywordToken { + + public Repository_CommaKeyword_6_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryAccess().getCommaKeyword_6_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Repository_Group_6_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new Repository_InterfacesAssignment_6_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// interfaces+=Interface +protected class Repository_InterfacesAssignment_6_3_1 extends AssignmentToken { + + public Repository_InterfacesAssignment_6_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getRepositoryAccess().getInterfacesAssignment_6_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Interface_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("interfaces",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("interfaces"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getInterfaceRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_6_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new Repository_CommaKeyword_6_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class Repository_RightCurlyBracketKeyword_6_4 extends KeywordToken { + + public Repository_RightCurlyBracketKeyword_6_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_6_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Repository_Group_6_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new Repository_InterfacesAssignment_6_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("components" "{" components+=RepositoryComponent ("," components+=RepositoryComponent)* "}")? +protected class Repository_Group_7 extends GroupToken { + + public Repository_Group_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getRepositoryAccess().getGroup_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Repository_RightCurlyBracketKeyword_7_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "components" +protected class Repository_ComponentsKeyword_7_0 extends KeywordToken { + + public Repository_ComponentsKeyword_7_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryAccess().getComponentsKeyword_7_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Repository_Group_6(lastRuleCallOrigin, this, 0, inst); + case 1: return new Repository_Group_5(lastRuleCallOrigin, this, 1, inst); + case 2: return new Repository_NameAssignment_4(lastRuleCallOrigin, this, 2, inst); + default: return null; + } + } + +} + +// "{" +protected class Repository_LeftCurlyBracketKeyword_7_1 extends KeywordToken { + + public Repository_LeftCurlyBracketKeyword_7_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_7_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Repository_ComponentsKeyword_7_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// components+=RepositoryComponent +protected class Repository_ComponentsAssignment_7_2 extends AssignmentToken { + + public Repository_ComponentsAssignment_7_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getRepositoryAccess().getComponentsAssignment_7_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Alternatives(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("components",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("components"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getRepositoryComponentRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_7_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new Repository_LeftCurlyBracketKeyword_7_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," components+=RepositoryComponent)* +protected class Repository_Group_7_3 extends GroupToken { + + public Repository_Group_7_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getRepositoryAccess().getGroup_7_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Repository_ComponentsAssignment_7_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class Repository_CommaKeyword_7_3_0 extends KeywordToken { + + public Repository_CommaKeyword_7_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryAccess().getCommaKeyword_7_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Repository_Group_7_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new Repository_ComponentsAssignment_7_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// components+=RepositoryComponent +protected class Repository_ComponentsAssignment_7_3_1 extends AssignmentToken { + + public Repository_ComponentsAssignment_7_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getRepositoryAccess().getComponentsAssignment_7_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Alternatives(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("components",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("components"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getRepositoryComponentRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_7_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new Repository_CommaKeyword_7_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class Repository_RightCurlyBracketKeyword_7_4 extends KeywordToken { + + public Repository_RightCurlyBracketKeyword_7_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_7_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Repository_Group_7_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new Repository_ComponentsAssignment_7_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// "}" +protected class Repository_RightCurlyBracketKeyword_8 extends KeywordToken { + + public Repository_RightCurlyBracketKeyword_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_8(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Repository_Group_7(lastRuleCallOrigin, this, 0, inst); + case 1: return new Repository_Group_6(lastRuleCallOrigin, this, 1, inst); + case 2: return new Repository_Group_5(lastRuleCallOrigin, this, 2, inst); + case 3: return new Repository_NameAssignment_4(lastRuleCallOrigin, this, 3, inst); + default: return null; + } + } + +} + + +/************ end Rule Repository ****************/ + + +/************ begin Rule DataType **************** + * + * DataType returns repository::DataType: + * CollectionDataType | CompositeDataType | PrimitiveDataType; + * + **/ + +// CollectionDataType | CompositeDataType | PrimitiveDataType +protected class DataType_Alternatives extends AlternativesToken { + + public DataType_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Alternatives getGrammarElement() { + return grammarAccess.getDataTypeAccess().getAlternatives(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new DataType_CollectionDataTypeParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); + case 1: return new DataType_CompositeDataTypeParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); + case 2: return new DataType_PrimitiveDataTypeParserRuleCall_2(lastRuleCallOrigin, this, 2, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getCollectionDataTypeRule().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getCompositeDataTypeRule().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getPrimitiveDataTypeRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// CollectionDataType +protected class DataType_CollectionDataTypeParserRuleCall_0 extends RuleCallToken { + + public DataType_CollectionDataTypeParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getDataTypeAccess().getCollectionDataTypeParserRuleCall_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CollectionDataType_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getCollectionDataTypeRule().getType().getClassifier()) + return null; + if(checkForRecursion(CollectionDataType_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// CompositeDataType +protected class DataType_CompositeDataTypeParserRuleCall_1 extends RuleCallToken { + + public DataType_CompositeDataTypeParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getDataTypeAccess().getCompositeDataTypeParserRuleCall_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeDataType_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getCompositeDataTypeRule().getType().getClassifier()) + return null; + if(checkForRecursion(CompositeDataType_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// PrimitiveDataType +protected class DataType_PrimitiveDataTypeParserRuleCall_2 extends RuleCallToken { + + public DataType_PrimitiveDataTypeParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getDataTypeAccess().getPrimitiveDataTypeParserRuleCall_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PrimitiveDataType_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getPrimitiveDataTypeRule().getType().getClassifier()) + return null; + if(checkForRecursion(PrimitiveDataType_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + + +/************ end Rule DataType ****************/ + + +/************ begin Rule RepositoryComponent **************** + * + * RepositoryComponent returns repository::RepositoryComponent: + * RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem; + * + **/ + +// RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem +protected class RepositoryComponent_Alternatives extends AlternativesToken { + + public RepositoryComponent_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Alternatives getGrammarElement() { + return grammarAccess.getRepositoryComponentAccess().getAlternatives(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_RepositoryComponent_ImplParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); + case 1: return new RepositoryComponent_BasicComponentParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); + case 2: return new RepositoryComponent_CompositeComponentParserRuleCall_2(lastRuleCallOrigin, this, 2, inst); + case 3: return new RepositoryComponent_SubSystemParserRuleCall_3(lastRuleCallOrigin, this, 3, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getBasicComponentRule().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getCompositeComponentRule().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getRepositoryComponent_ImplRule().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getSubSystemRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// RepositoryComponent_Impl +protected class RepositoryComponent_RepositoryComponent_ImplParserRuleCall_0 extends RuleCallToken { + + public RepositoryComponent_RepositoryComponent_ImplParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getRepositoryComponentAccess().getRepositoryComponent_ImplParserRuleCall_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getRepositoryComponent_ImplRule().getType().getClassifier()) + return null; + if(checkForRecursion(RepositoryComponent_Impl_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// BasicComponent +protected class RepositoryComponent_BasicComponentParserRuleCall_1 extends RuleCallToken { + + public RepositoryComponent_BasicComponentParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getRepositoryComponentAccess().getBasicComponentParserRuleCall_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getBasicComponentRule().getType().getClassifier()) + return null; + if(checkForRecursion(BasicComponent_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// CompositeComponent +protected class RepositoryComponent_CompositeComponentParserRuleCall_2 extends RuleCallToken { + + public RepositoryComponent_CompositeComponentParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getRepositoryComponentAccess().getCompositeComponentParserRuleCall_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getCompositeComponentRule().getType().getClassifier()) + return null; + if(checkForRecursion(CompositeComponent_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// SubSystem +protected class RepositoryComponent_SubSystemParserRuleCall_3 extends RuleCallToken { + + public RepositoryComponent_SubSystemParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getRepositoryComponentAccess().getSubSystemParserRuleCall_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getSubSystemRule().getType().getClassifier()) + return null; + if(checkForRecursion(SubSystem_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + + +/************ end Rule RepositoryComponent ****************/ + + +/************ begin Rule Relationship **************** + * + * Relationship: + * DependencyRelationship | CorrelationRelationship; + * + **/ + +// DependencyRelationship | CorrelationRelationship +protected class Relationship_Alternatives extends AlternativesToken { + + public Relationship_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Alternatives getGrammarElement() { + return grammarAccess.getRelationshipAccess().getAlternatives(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Relationship_DependencyRelationshipParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); + case 1: return new Relationship_CorrelationRelationshipParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getCorrelationRelationshipRule().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getDependencyRelationshipRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// DependencyRelationship +protected class Relationship_DependencyRelationshipParserRuleCall_0 extends RuleCallToken { + + public Relationship_DependencyRelationshipParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getRelationshipAccess().getDependencyRelationshipParserRuleCall_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new DependencyRelationship_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getDependencyRelationshipRule().getType().getClassifier()) + return null; + if(checkForRecursion(DependencyRelationship_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// CorrelationRelationship +protected class Relationship_CorrelationRelationshipParserRuleCall_1 extends RuleCallToken { + + public Relationship_CorrelationRelationshipParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getRelationshipAccess().getCorrelationRelationshipParserRuleCall_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CorrelationRelationship_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getCorrelationRelationshipRule().getType().getClassifier()) + return null; + if(checkForRecursion(CorrelationRelationship_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + + +/************ end Rule Relationship ****************/ + + +/************ begin Rule InfluencingParameter **************** + * + * InfluencingParameter: + * InfluencingParameter_Impl | ServiceInputParameter | ExternalCallReturnParameter | ExternalCallParameter; + * + **/ + +// InfluencingParameter_Impl | ServiceInputParameter | ExternalCallReturnParameter | ExternalCallParameter +protected class InfluencingParameter_Alternatives extends AlternativesToken { + + public InfluencingParameter_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Alternatives getGrammarElement() { + return grammarAccess.getInfluencingParameterAccess().getAlternatives(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencingParameter_InfluencingParameter_ImplParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); + case 1: return new InfluencingParameter_ServiceInputParameterParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); + case 2: return new InfluencingParameter_ExternalCallReturnParameterParserRuleCall_2(lastRuleCallOrigin, this, 2, inst); + case 3: return new InfluencingParameter_ExternalCallParameterParserRuleCall_3(lastRuleCallOrigin, this, 3, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getExternalCallParameterRule().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getExternalCallReturnParameterRule().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getInfluencingParameter_ImplRule().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getServiceInputParameterRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// InfluencingParameter_Impl +protected class InfluencingParameter_InfluencingParameter_ImplParserRuleCall_0 extends RuleCallToken { + + public InfluencingParameter_InfluencingParameter_ImplParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getInfluencingParameterAccess().getInfluencingParameter_ImplParserRuleCall_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencingParameter_Impl_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getInfluencingParameter_ImplRule().getType().getClassifier()) + return null; + if(checkForRecursion(InfluencingParameter_Impl_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// ServiceInputParameter +protected class InfluencingParameter_ServiceInputParameterParserRuleCall_1 extends RuleCallToken { + + public InfluencingParameter_ServiceInputParameterParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getInfluencingParameterAccess().getServiceInputParameterParserRuleCall_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ServiceInputParameter_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getServiceInputParameterRule().getType().getClassifier()) + return null; + if(checkForRecursion(ServiceInputParameter_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// ExternalCallReturnParameter +protected class InfluencingParameter_ExternalCallReturnParameterParserRuleCall_2 extends RuleCallToken { + + public InfluencingParameter_ExternalCallReturnParameterParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getInfluencingParameterAccess().getExternalCallReturnParameterParserRuleCall_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallReturnParameter_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getExternalCallReturnParameterRule().getType().getClassifier()) + return null; + if(checkForRecursion(ExternalCallReturnParameter_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// ExternalCallParameter +protected class InfluencingParameter_ExternalCallParameterParserRuleCall_3 extends RuleCallToken { + + public InfluencingParameter_ExternalCallParameterParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getInfluencingParameterAccess().getExternalCallParameterParserRuleCall_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallParameter_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getExternalCallParameterRule().getType().getClassifier()) + return null; + if(checkForRecursion(ExternalCallParameter_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + + +/************ end Rule InfluencingParameter ****************/ + + +/************ begin Rule InterfaceProvidingEntity **************** + * + * InterfaceProvidingEntity returns repository::InterfaceProvidingEntity: + * RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem; + * + **/ + +// RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem +protected class InterfaceProvidingEntity_Alternatives extends AlternativesToken { + + public InterfaceProvidingEntity_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Alternatives getGrammarElement() { + return grammarAccess.getInterfaceProvidingEntityAccess().getAlternatives(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InterfaceProvidingEntity_RepositoryComponent_ImplParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); + case 1: return new InterfaceProvidingEntity_BasicComponentParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); + case 2: return new InterfaceProvidingEntity_CompositeComponentParserRuleCall_2(lastRuleCallOrigin, this, 2, inst); + case 3: return new InterfaceProvidingEntity_SubSystemParserRuleCall_3(lastRuleCallOrigin, this, 3, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getBasicComponentRule().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getCompositeComponentRule().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getRepositoryComponent_ImplRule().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getSubSystemRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// RepositoryComponent_Impl +protected class InterfaceProvidingEntity_RepositoryComponent_ImplParserRuleCall_0 extends RuleCallToken { + + public InterfaceProvidingEntity_RepositoryComponent_ImplParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getInterfaceProvidingEntityAccess().getRepositoryComponent_ImplParserRuleCall_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getRepositoryComponent_ImplRule().getType().getClassifier()) + return null; + if(checkForRecursion(RepositoryComponent_Impl_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// BasicComponent +protected class InterfaceProvidingEntity_BasicComponentParserRuleCall_1 extends RuleCallToken { + + public InterfaceProvidingEntity_BasicComponentParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getInterfaceProvidingEntityAccess().getBasicComponentParserRuleCall_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getBasicComponentRule().getType().getClassifier()) + return null; + if(checkForRecursion(BasicComponent_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// CompositeComponent +protected class InterfaceProvidingEntity_CompositeComponentParserRuleCall_2 extends RuleCallToken { + + public InterfaceProvidingEntity_CompositeComponentParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getInterfaceProvidingEntityAccess().getCompositeComponentParserRuleCall_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getCompositeComponentRule().getType().getClassifier()) + return null; + if(checkForRecursion(CompositeComponent_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// SubSystem +protected class InterfaceProvidingEntity_SubSystemParserRuleCall_3 extends RuleCallToken { + + public InterfaceProvidingEntity_SubSystemParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getInterfaceProvidingEntityAccess().getSubSystemParserRuleCall_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getSubSystemRule().getType().getClassifier()) + return null; + if(checkForRecursion(SubSystem_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + + +/************ end Rule InterfaceProvidingEntity ****************/ + + +/************ begin Rule InterfaceProvidingRequiringEntity **************** + * + * InterfaceProvidingRequiringEntity returns repository::InterfaceProvidingRequiringEntity: + * RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem; + * + **/ + +// RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem +protected class InterfaceProvidingRequiringEntity_Alternatives extends AlternativesToken { + + public InterfaceProvidingRequiringEntity_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Alternatives getGrammarElement() { + return grammarAccess.getInterfaceProvidingRequiringEntityAccess().getAlternatives(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InterfaceProvidingRequiringEntity_RepositoryComponent_ImplParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); + case 1: return new InterfaceProvidingRequiringEntity_BasicComponentParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); + case 2: return new InterfaceProvidingRequiringEntity_CompositeComponentParserRuleCall_2(lastRuleCallOrigin, this, 2, inst); + case 3: return new InterfaceProvidingRequiringEntity_SubSystemParserRuleCall_3(lastRuleCallOrigin, this, 3, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getBasicComponentRule().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getCompositeComponentRule().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getRepositoryComponent_ImplRule().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getSubSystemRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// RepositoryComponent_Impl +protected class InterfaceProvidingRequiringEntity_RepositoryComponent_ImplParserRuleCall_0 extends RuleCallToken { + + public InterfaceProvidingRequiringEntity_RepositoryComponent_ImplParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getInterfaceProvidingRequiringEntityAccess().getRepositoryComponent_ImplParserRuleCall_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getRepositoryComponent_ImplRule().getType().getClassifier()) + return null; + if(checkForRecursion(RepositoryComponent_Impl_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// BasicComponent +protected class InterfaceProvidingRequiringEntity_BasicComponentParserRuleCall_1 extends RuleCallToken { + + public InterfaceProvidingRequiringEntity_BasicComponentParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getInterfaceProvidingRequiringEntityAccess().getBasicComponentParserRuleCall_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getBasicComponentRule().getType().getClassifier()) + return null; + if(checkForRecursion(BasicComponent_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// CompositeComponent +protected class InterfaceProvidingRequiringEntity_CompositeComponentParserRuleCall_2 extends RuleCallToken { + + public InterfaceProvidingRequiringEntity_CompositeComponentParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getInterfaceProvidingRequiringEntityAccess().getCompositeComponentParserRuleCall_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getCompositeComponentRule().getType().getClassifier()) + return null; + if(checkForRecursion(CompositeComponent_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// SubSystem +protected class InterfaceProvidingRequiringEntity_SubSystemParserRuleCall_3 extends RuleCallToken { + + public InterfaceProvidingRequiringEntity_SubSystemParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getInterfaceProvidingRequiringEntityAccess().getSubSystemParserRuleCall_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getSubSystemRule().getType().getClassifier()) + return null; + if(checkForRecursion(SubSystem_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + + +/************ end Rule InterfaceProvidingRequiringEntity ****************/ + + +/************ begin Rule ServiceBehaviorAbstraction **************** + * + * ServiceBehaviorAbstraction returns servicebehavior::ServiceBehaviorAbstraction: + * FineGrainedBehavior | CoarseGrainedBehavior | BlackBoxBehavior; + * + **/ + +// FineGrainedBehavior | CoarseGrainedBehavior | BlackBoxBehavior +protected class ServiceBehaviorAbstraction_Alternatives extends AlternativesToken { + + public ServiceBehaviorAbstraction_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Alternatives getGrammarElement() { + return grammarAccess.getServiceBehaviorAbstractionAccess().getAlternatives(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ServiceBehaviorAbstraction_FineGrainedBehaviorParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); + case 1: return new ServiceBehaviorAbstraction_CoarseGrainedBehaviorParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); + case 2: return new ServiceBehaviorAbstraction_BlackBoxBehaviorParserRuleCall_2(lastRuleCallOrigin, this, 2, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getBlackBoxBehaviorRule().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getCoarseGrainedBehaviorRule().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getFineGrainedBehaviorRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// FineGrainedBehavior +protected class ServiceBehaviorAbstraction_FineGrainedBehaviorParserRuleCall_0 extends RuleCallToken { + + public ServiceBehaviorAbstraction_FineGrainedBehaviorParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getServiceBehaviorAbstractionAccess().getFineGrainedBehaviorParserRuleCall_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new FineGrainedBehavior_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getFineGrainedBehaviorRule().getType().getClassifier()) + return null; + if(checkForRecursion(FineGrainedBehavior_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// CoarseGrainedBehavior +protected class ServiceBehaviorAbstraction_CoarseGrainedBehaviorParserRuleCall_1 extends RuleCallToken { + + public ServiceBehaviorAbstraction_CoarseGrainedBehaviorParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getServiceBehaviorAbstractionAccess().getCoarseGrainedBehaviorParserRuleCall_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getCoarseGrainedBehaviorRule().getType().getClassifier()) + return null; + if(checkForRecursion(CoarseGrainedBehavior_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// BlackBoxBehavior +protected class ServiceBehaviorAbstraction_BlackBoxBehaviorParserRuleCall_2 extends RuleCallToken { + + public ServiceBehaviorAbstraction_BlackBoxBehaviorParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getServiceBehaviorAbstractionAccess().getBlackBoxBehaviorParserRuleCall_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BlackBoxBehavior_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getBlackBoxBehaviorRule().getType().getClassifier()) + return null; + if(checkForRecursion(BlackBoxBehavior_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + + +/************ end Rule ServiceBehaviorAbstraction ****************/ + + +/************ begin Rule ExternalCall **************** + * + * ExternalCall returns servicebehavior::ExternalCall: + * ExternalCall_Impl | ExternalCallAction; + * + **/ + +// ExternalCall_Impl | ExternalCallAction +protected class ExternalCall_Alternatives extends AlternativesToken { + + public ExternalCall_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Alternatives getGrammarElement() { + return grammarAccess.getExternalCallAccess().getAlternatives(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCall_ExternalCall_ImplParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); + case 1: return new ExternalCall_ExternalCallActionParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getExternalCall_ImplRule().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getExternalCallActionRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// ExternalCall_Impl +protected class ExternalCall_ExternalCall_ImplParserRuleCall_0 extends RuleCallToken { + + public ExternalCall_ExternalCall_ImplParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getExternalCallAccess().getExternalCall_ImplParserRuleCall_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCall_Impl_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getExternalCall_ImplRule().getType().getClassifier()) + return null; + if(checkForRecursion(ExternalCall_Impl_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// ExternalCallAction +protected class ExternalCall_ExternalCallActionParserRuleCall_1 extends RuleCallToken { + + public ExternalCall_ExternalCallActionParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getExternalCallAccess().getExternalCallActionParserRuleCall_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallAction_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getExternalCallActionRule().getType().getClassifier()) + return null; + if(checkForRecursion(ExternalCallAction_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + + +/************ end Rule ExternalCall ****************/ + + +/************ begin Rule AbstractAction **************** + * + * AbstractAction returns servicebehavior::AbstractAction: + * AbstractAction_Impl | StartAction | StopAction | AcquireAction | ReleaseAction | InternalAction | ForkAction | + * BranchAction | LoopAction | ExternalCallAction; + * + **/ + +// AbstractAction_Impl | StartAction | StopAction | AcquireAction | ReleaseAction | InternalAction | ForkAction | +// BranchAction | LoopAction | ExternalCallAction +protected class AbstractAction_Alternatives extends AlternativesToken { + + public AbstractAction_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Alternatives getGrammarElement() { + return grammarAccess.getAbstractActionAccess().getAlternatives(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AbstractAction_AbstractAction_ImplParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); + case 1: return new AbstractAction_StartActionParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); + case 2: return new AbstractAction_StopActionParserRuleCall_2(lastRuleCallOrigin, this, 2, inst); + case 3: return new AbstractAction_AcquireActionParserRuleCall_3(lastRuleCallOrigin, this, 3, inst); + case 4: return new AbstractAction_ReleaseActionParserRuleCall_4(lastRuleCallOrigin, this, 4, inst); + case 5: return new AbstractAction_InternalActionParserRuleCall_5(lastRuleCallOrigin, this, 5, inst); + case 6: return new AbstractAction_ForkActionParserRuleCall_6(lastRuleCallOrigin, this, 6, inst); + case 7: return new AbstractAction_BranchActionParserRuleCall_7(lastRuleCallOrigin, this, 7, inst); + case 8: return new AbstractAction_LoopActionParserRuleCall_8(lastRuleCallOrigin, this, 8, inst); + case 9: return new AbstractAction_ExternalCallActionParserRuleCall_9(lastRuleCallOrigin, this, 9, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getAbstractAction_ImplAccess().getAbstractActionAction_0().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getAcquireActionRule().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getBranchActionRule().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getExternalCallActionRule().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getForkActionRule().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getInternalActionAccess().getInternalActionAction_0().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getLoopActionRule().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getReleaseActionRule().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getStartActionAccess().getStartActionAction_0().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getStopActionAccess().getStopActionAction_0().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// AbstractAction_Impl +protected class AbstractAction_AbstractAction_ImplParserRuleCall_0 extends RuleCallToken { + + public AbstractAction_AbstractAction_ImplParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getAbstractActionAccess().getAbstractAction_ImplParserRuleCall_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AbstractAction_Impl_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getAbstractAction_ImplAccess().getAbstractActionAction_0().getType().getClassifier()) + return null; + if(checkForRecursion(AbstractAction_Impl_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// StartAction +protected class AbstractAction_StartActionParserRuleCall_1 extends RuleCallToken { + + public AbstractAction_StartActionParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getAbstractActionAccess().getStartActionParserRuleCall_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new StartAction_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getStartActionAccess().getStartActionAction_0().getType().getClassifier()) + return null; + if(checkForRecursion(StartAction_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// StopAction +protected class AbstractAction_StopActionParserRuleCall_2 extends RuleCallToken { + + public AbstractAction_StopActionParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getAbstractActionAccess().getStopActionParserRuleCall_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new StopAction_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getStopActionAccess().getStopActionAction_0().getType().getClassifier()) + return null; + if(checkForRecursion(StopAction_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// AcquireAction +protected class AbstractAction_AcquireActionParserRuleCall_3 extends RuleCallToken { + + public AbstractAction_AcquireActionParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getAbstractActionAccess().getAcquireActionParserRuleCall_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AcquireAction_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getAcquireActionRule().getType().getClassifier()) + return null; + if(checkForRecursion(AcquireAction_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// ReleaseAction +protected class AbstractAction_ReleaseActionParserRuleCall_4 extends RuleCallToken { + + public AbstractAction_ReleaseActionParserRuleCall_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getAbstractActionAccess().getReleaseActionParserRuleCall_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ReleaseAction_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getReleaseActionRule().getType().getClassifier()) + return null; + if(checkForRecursion(ReleaseAction_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// InternalAction +protected class AbstractAction_InternalActionParserRuleCall_5 extends RuleCallToken { + + public AbstractAction_InternalActionParserRuleCall_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getAbstractActionAccess().getInternalActionParserRuleCall_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InternalAction_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getInternalActionAccess().getInternalActionAction_0().getType().getClassifier()) + return null; + if(checkForRecursion(InternalAction_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// ForkAction +protected class AbstractAction_ForkActionParserRuleCall_6 extends RuleCallToken { + + public AbstractAction_ForkActionParserRuleCall_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getAbstractActionAccess().getForkActionParserRuleCall_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ForkAction_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getForkActionRule().getType().getClassifier()) + return null; + if(checkForRecursion(ForkAction_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// BranchAction +protected class AbstractAction_BranchActionParserRuleCall_7 extends RuleCallToken { + + public AbstractAction_BranchActionParserRuleCall_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getAbstractActionAccess().getBranchActionParserRuleCall_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchAction_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getBranchActionRule().getType().getClassifier()) + return null; + if(checkForRecursion(BranchAction_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// LoopAction +protected class AbstractAction_LoopActionParserRuleCall_8 extends RuleCallToken { + + public AbstractAction_LoopActionParserRuleCall_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getAbstractActionAccess().getLoopActionParserRuleCall_8(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new LoopAction_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getLoopActionRule().getType().getClassifier()) + return null; + if(checkForRecursion(LoopAction_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// ExternalCallAction +protected class AbstractAction_ExternalCallActionParserRuleCall_9 extends RuleCallToken { + + public AbstractAction_ExternalCallActionParserRuleCall_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getAbstractActionAccess().getExternalCallActionParserRuleCall_9(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallAction_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getExternalCallActionRule().getType().getClassifier()) + return null; + if(checkForRecursion(ExternalCallAction_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + + +/************ end Rule AbstractAction ****************/ + + +/************ begin Rule ComponentInternalBehavior **************** + * + * ComponentInternalBehavior returns servicebehavior::ComponentInternalBehavior: + * ComponentInternalBehavior_Impl | FineGrainedBehavior; + * + **/ + +// ComponentInternalBehavior_Impl | FineGrainedBehavior +protected class ComponentInternalBehavior_Alternatives extends AlternativesToken { + + public ComponentInternalBehavior_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Alternatives getGrammarElement() { + return grammarAccess.getComponentInternalBehaviorAccess().getAlternatives(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ComponentInternalBehavior_ComponentInternalBehavior_ImplParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); + case 1: return new ComponentInternalBehavior_FineGrainedBehaviorParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getComponentInternalBehavior_ImplAccess().getComponentInternalBehaviorAction_0().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getFineGrainedBehaviorRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// ComponentInternalBehavior_Impl +protected class ComponentInternalBehavior_ComponentInternalBehavior_ImplParserRuleCall_0 extends RuleCallToken { + + public ComponentInternalBehavior_ComponentInternalBehavior_ImplParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getComponentInternalBehaviorAccess().getComponentInternalBehavior_ImplParserRuleCall_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ComponentInternalBehavior_Impl_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getComponentInternalBehavior_ImplAccess().getComponentInternalBehaviorAction_0().getType().getClassifier()) + return null; + if(checkForRecursion(ComponentInternalBehavior_Impl_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// FineGrainedBehavior +protected class ComponentInternalBehavior_FineGrainedBehaviorParserRuleCall_1 extends RuleCallToken { + + public ComponentInternalBehavior_FineGrainedBehaviorParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getComponentInternalBehaviorAccess().getFineGrainedBehaviorParserRuleCall_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new FineGrainedBehavior_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getFineGrainedBehaviorRule().getType().getClassifier()) + return null; + if(checkForRecursion(FineGrainedBehavior_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + + +/************ end Rule ComponentInternalBehavior ****************/ + + +/************ begin Rule ProcessingResourceType **************** + * + * ProcessingResourceType returns resourcetype::ProcessingResourceType: + * ProcessingResourceType_Impl | CommunicationLinkResourceType; + * + **/ + +// ProcessingResourceType_Impl | CommunicationLinkResourceType +protected class ProcessingResourceType_Alternatives extends AlternativesToken { + + public ProcessingResourceType_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Alternatives getGrammarElement() { + return grammarAccess.getProcessingResourceTypeAccess().getAlternatives(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProcessingResourceType_ProcessingResourceType_ImplParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); + case 1: return new ProcessingResourceType_CommunicationLinkResourceTypeParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getCommunicationLinkResourceTypeRule().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getProcessingResourceType_ImplRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// ProcessingResourceType_Impl +protected class ProcessingResourceType_ProcessingResourceType_ImplParserRuleCall_0 extends RuleCallToken { + + public ProcessingResourceType_ProcessingResourceType_ImplParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getProcessingResourceTypeAccess().getProcessingResourceType_ImplParserRuleCall_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProcessingResourceType_Impl_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getProcessingResourceType_ImplRule().getType().getClassifier()) + return null; + if(checkForRecursion(ProcessingResourceType_Impl_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// CommunicationLinkResourceType +protected class ProcessingResourceType_CommunicationLinkResourceTypeParserRuleCall_1 extends RuleCallToken { + + public ProcessingResourceType_CommunicationLinkResourceTypeParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getProcessingResourceTypeAccess().getCommunicationLinkResourceTypeParserRuleCall_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CommunicationLinkResourceType_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getCommunicationLinkResourceTypeRule().getType().getClassifier()) + return null; + if(checkForRecursion(CommunicationLinkResourceType_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + + +/************ end Rule ProcessingResourceType ****************/ + + +/************ begin Rule ProbabilityFunction **************** + * + * ProbabilityFunction returns functions::ProbabilityFunction: + * ProbabilityMassFunction | ProbabilityDensityFunction_Impl | BoxedPDF | ContinuousPDF_Impl | NormalDistribution | + * ExponentialDistribution; + * + **/ + +// ProbabilityMassFunction | ProbabilityDensityFunction_Impl | BoxedPDF | ContinuousPDF_Impl | NormalDistribution | +// ExponentialDistribution +protected class ProbabilityFunction_Alternatives extends AlternativesToken { + + public ProbabilityFunction_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Alternatives getGrammarElement() { + return grammarAccess.getProbabilityFunctionAccess().getAlternatives(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProbabilityFunction_ProbabilityMassFunctionParserRuleCall_0(lastRuleCallOrigin, this, 0, inst); + case 1: return new ProbabilityFunction_ProbabilityDensityFunction_ImplParserRuleCall_1(lastRuleCallOrigin, this, 1, inst); + case 2: return new ProbabilityFunction_BoxedPDFParserRuleCall_2(lastRuleCallOrigin, this, 2, inst); + case 3: return new ProbabilityFunction_ContinuousPDF_ImplParserRuleCall_3(lastRuleCallOrigin, this, 3, inst); + case 4: return new ProbabilityFunction_NormalDistributionParserRuleCall_4(lastRuleCallOrigin, this, 4, inst); + case 5: return new ProbabilityFunction_ExponentialDistributionParserRuleCall_5(lastRuleCallOrigin, this, 5, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getContinuousPDF_ImplAccess().getContinuousPDFAction_0().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getExponentialDistributionRule().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getNormalDistributionRule().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getProbabilityDensityFunction_ImplAccess().getProbabilityDensityFunctionAction_0().getType().getClassifier() && + getEObject().eClass() != grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// ProbabilityMassFunction +protected class ProbabilityFunction_ProbabilityMassFunctionParserRuleCall_0 extends RuleCallToken { + + public ProbabilityFunction_ProbabilityMassFunctionParserRuleCall_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getProbabilityFunctionAccess().getProbabilityMassFunctionParserRuleCall_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProbabilityMassFunction_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0().getType().getClassifier()) + return null; + if(checkForRecursion(ProbabilityMassFunction_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// ProbabilityDensityFunction_Impl +protected class ProbabilityFunction_ProbabilityDensityFunction_ImplParserRuleCall_1 extends RuleCallToken { + + public ProbabilityFunction_ProbabilityDensityFunction_ImplParserRuleCall_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getProbabilityFunctionAccess().getProbabilityDensityFunction_ImplParserRuleCall_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProbabilityDensityFunction_Impl_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getProbabilityDensityFunction_ImplAccess().getProbabilityDensityFunctionAction_0().getType().getClassifier()) + return null; + if(checkForRecursion(ProbabilityDensityFunction_Impl_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// BoxedPDF +protected class ProbabilityFunction_BoxedPDFParserRuleCall_2 extends RuleCallToken { + + public ProbabilityFunction_BoxedPDFParserRuleCall_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getProbabilityFunctionAccess().getBoxedPDFParserRuleCall_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BoxedPDF_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0().getType().getClassifier()) + return null; + if(checkForRecursion(BoxedPDF_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// ContinuousPDF_Impl +protected class ProbabilityFunction_ContinuousPDF_ImplParserRuleCall_3 extends RuleCallToken { + + public ProbabilityFunction_ContinuousPDF_ImplParserRuleCall_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getProbabilityFunctionAccess().getContinuousPDF_ImplParserRuleCall_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ContinuousPDF_Impl_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getContinuousPDF_ImplAccess().getContinuousPDFAction_0().getType().getClassifier()) + return null; + if(checkForRecursion(ContinuousPDF_Impl_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// NormalDistribution +protected class ProbabilityFunction_NormalDistributionParserRuleCall_4 extends RuleCallToken { + + public ProbabilityFunction_NormalDistributionParserRuleCall_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getProbabilityFunctionAccess().getNormalDistributionParserRuleCall_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new NormalDistribution_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getNormalDistributionRule().getType().getClassifier()) + return null; + if(checkForRecursion(NormalDistribution_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + +// ExponentialDistribution +protected class ProbabilityFunction_ExponentialDistributionParserRuleCall_5 extends RuleCallToken { + + public ProbabilityFunction_ExponentialDistributionParserRuleCall_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public RuleCall getGrammarElement() { + return grammarAccess.getProbabilityFunctionAccess().getExponentialDistributionParserRuleCall_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExponentialDistribution_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getExponentialDistributionRule().getType().getClassifier()) + return null; + if(checkForRecursion(ExponentialDistribution_Group.class, eObjectConsumer)) return null; + return eObjectConsumer; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, inst); + } + } +} + + +/************ end Rule ProbabilityFunction ****************/ + + + +/************ begin Rule Interface **************** + * + * Interface returns repository::Interface: + * "Interface" id=EString "{" "name" name=EString ("parentInterfaces" "(" + * parentInterfaces+=[repository::Interface|EString] ("," parentInterfaces+=[repository::Interface|EString])* ")")? + * ("signatures" "{" signatures+=Signature ("," signatures+=Signature)* "}")? "}"; + * + **/ + +// "Interface" id=EString "{" "name" name=EString ("parentInterfaces" "(" parentInterfaces+=[repository::Interface|EString] +// ("," parentInterfaces+=[repository::Interface|EString])* ")")? ("signatures" "{" signatures+=Signature ("," +// signatures+=Signature)* "}")? "}" +protected class Interface_Group extends GroupToken { + + public Interface_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getInterfaceAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Interface_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getInterfaceRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "Interface" +protected class Interface_InterfaceKeyword_0 extends KeywordToken { + + public Interface_InterfaceKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInterfaceAccess().getInterfaceKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// id=EString +protected class Interface_IdAssignment_1 extends AssignmentToken { + + public Interface_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getInterfaceAccess().getIdAssignment_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Interface_InterfaceKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("id",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getInterfaceAccess().getIdEStringParserRuleCall_1_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getInterfaceAccess().getIdEStringParserRuleCall_1_0(); + return obj; + } + return null; + } + +} + +// "{" +protected class Interface_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public Interface_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInterfaceAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Interface_IdAssignment_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "name" +protected class Interface_NameKeyword_3 extends KeywordToken { + + public Interface_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInterfaceAccess().getNameKeyword_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Interface_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// name=EString +protected class Interface_NameAssignment_4 extends AssignmentToken { + + public Interface_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getInterfaceAccess().getNameAssignment_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Interface_NameKeyword_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getInterfaceAccess().getNameEStringParserRuleCall_4_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getInterfaceAccess().getNameEStringParserRuleCall_4_0(); + return obj; + } + return null; + } + +} + +// ("parentInterfaces" "(" parentInterfaces+=[repository::Interface|EString] ("," +// parentInterfaces+=[repository::Interface|EString])* ")")? +protected class Interface_Group_5 extends GroupToken { + + public Interface_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getInterfaceAccess().getGroup_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Interface_RightParenthesisKeyword_5_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "parentInterfaces" +protected class Interface_ParentInterfacesKeyword_5_0 extends KeywordToken { + + public Interface_ParentInterfacesKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInterfaceAccess().getParentInterfacesKeyword_5_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Interface_NameAssignment_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "(" +protected class Interface_LeftParenthesisKeyword_5_1 extends KeywordToken { + + public Interface_LeftParenthesisKeyword_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInterfaceAccess().getLeftParenthesisKeyword_5_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Interface_ParentInterfacesKeyword_5_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// parentInterfaces+=[repository::Interface|EString] +protected class Interface_ParentInterfacesAssignment_5_2 extends AssignmentToken { + + public Interface_ParentInterfacesAssignment_5_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getInterfaceAccess().getParentInterfacesAssignment_5_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Interface_LeftParenthesisKeyword_5_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("parentInterfaces",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("parentInterfaces"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getInterfaceAccess().getParentInterfacesInterfaceCrossReference_5_2_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getInterfaceAccess().getParentInterfacesInterfaceCrossReference_5_2_0(); + return obj; + } + } + return null; + } + +} + +// ("," parentInterfaces+=[repository::Interface|EString])* +protected class Interface_Group_5_3 extends GroupToken { + + public Interface_Group_5_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getInterfaceAccess().getGroup_5_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Interface_ParentInterfacesAssignment_5_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class Interface_CommaKeyword_5_3_0 extends KeywordToken { + + public Interface_CommaKeyword_5_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInterfaceAccess().getCommaKeyword_5_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Interface_Group_5_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new Interface_ParentInterfacesAssignment_5_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// parentInterfaces+=[repository::Interface|EString] +protected class Interface_ParentInterfacesAssignment_5_3_1 extends AssignmentToken { + + public Interface_ParentInterfacesAssignment_5_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getInterfaceAccess().getParentInterfacesAssignment_5_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Interface_CommaKeyword_5_3_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("parentInterfaces",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("parentInterfaces"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getInterfaceAccess().getParentInterfacesInterfaceCrossReference_5_3_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getInterfaceAccess().getParentInterfacesInterfaceCrossReference_5_3_1_0(); + return obj; + } + } + return null; + } + +} + + +// ")" +protected class Interface_RightParenthesisKeyword_5_4 extends KeywordToken { + + public Interface_RightParenthesisKeyword_5_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInterfaceAccess().getRightParenthesisKeyword_5_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Interface_Group_5_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new Interface_ParentInterfacesAssignment_5_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("signatures" "{" signatures+=Signature ("," signatures+=Signature)* "}")? +protected class Interface_Group_6 extends GroupToken { + + public Interface_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getInterfaceAccess().getGroup_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Interface_RightCurlyBracketKeyword_6_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "signatures" +protected class Interface_SignaturesKeyword_6_0 extends KeywordToken { + + public Interface_SignaturesKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInterfaceAccess().getSignaturesKeyword_6_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Interface_Group_5(lastRuleCallOrigin, this, 0, inst); + case 1: return new Interface_NameAssignment_4(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// "{" +protected class Interface_LeftCurlyBracketKeyword_6_1 extends KeywordToken { + + public Interface_LeftCurlyBracketKeyword_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInterfaceAccess().getLeftCurlyBracketKeyword_6_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Interface_SignaturesKeyword_6_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// signatures+=Signature +protected class Interface_SignaturesAssignment_6_2 extends AssignmentToken { + + public Interface_SignaturesAssignment_6_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getInterfaceAccess().getSignaturesAssignment_6_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Signature_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("signatures",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("signatures"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getSignatureRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_6_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new Interface_LeftCurlyBracketKeyword_6_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," signatures+=Signature)* +protected class Interface_Group_6_3 extends GroupToken { + + public Interface_Group_6_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getInterfaceAccess().getGroup_6_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Interface_SignaturesAssignment_6_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class Interface_CommaKeyword_6_3_0 extends KeywordToken { + + public Interface_CommaKeyword_6_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInterfaceAccess().getCommaKeyword_6_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Interface_Group_6_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new Interface_SignaturesAssignment_6_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// signatures+=Signature +protected class Interface_SignaturesAssignment_6_3_1 extends AssignmentToken { + + public Interface_SignaturesAssignment_6_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getInterfaceAccess().getSignaturesAssignment_6_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Signature_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("signatures",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("signatures"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getSignatureRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_6_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new Interface_CommaKeyword_6_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class Interface_RightCurlyBracketKeyword_6_4 extends KeywordToken { + + public Interface_RightCurlyBracketKeyword_6_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInterfaceAccess().getRightCurlyBracketKeyword_6_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Interface_Group_6_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new Interface_SignaturesAssignment_6_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// "}" +protected class Interface_RightCurlyBracketKeyword_7 extends KeywordToken { + + public Interface_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInterfaceAccess().getRightCurlyBracketKeyword_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Interface_Group_6(lastRuleCallOrigin, this, 0, inst); + case 1: return new Interface_Group_5(lastRuleCallOrigin, this, 1, inst); + case 2: return new Interface_NameAssignment_4(lastRuleCallOrigin, this, 2, inst); + default: return null; + } + } + +} + + +/************ end Rule Interface ****************/ + + +/************ begin Rule RepositoryComponent_Impl **************** + * + * RepositoryComponent_Impl returns repository::RepositoryComponent: + * "RepositoryComponent" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] ("," + * relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole ("," + * providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," + * blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole ("," + * requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior ("," + * coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? "}"; + * + **/ + +// "RepositoryComponent" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] ("," +// relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole ("," +// providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," +// blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole ("," +// requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior ("," +// coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? "}" +protected class RepositoryComponent_Impl_Group extends GroupToken { + + public RepositoryComponent_Impl_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_RightCurlyBracketKeyword_10(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getRepositoryComponent_ImplRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "RepositoryComponent" +protected class RepositoryComponent_Impl_RepositoryComponentKeyword_0 extends KeywordToken { + + public RepositoryComponent_Impl_RepositoryComponentKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getRepositoryComponentKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// id=EString +protected class RepositoryComponent_Impl_IdAssignment_1 extends AssignmentToken { + + public RepositoryComponent_Impl_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getIdAssignment_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_RepositoryComponentKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("id",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getRepositoryComponent_ImplAccess().getIdEStringParserRuleCall_1_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getRepositoryComponent_ImplAccess().getIdEStringParserRuleCall_1_0(); + return obj; + } + return null; + } + +} + +// "{" +protected class RepositoryComponent_Impl_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public RepositoryComponent_Impl_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_IdAssignment_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "name" +protected class RepositoryComponent_Impl_NameKeyword_3 extends KeywordToken { + + public RepositoryComponent_Impl_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getNameKeyword_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// name=EString +protected class RepositoryComponent_Impl_NameAssignment_4 extends AssignmentToken { + + public RepositoryComponent_Impl_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getNameAssignment_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_NameKeyword_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getRepositoryComponent_ImplAccess().getNameEStringParserRuleCall_4_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getRepositoryComponent_ImplAccess().getNameEStringParserRuleCall_4_0(); + return obj; + } + return null; + } + +} + +// ("relationship" "(" relationship+=[Relationship|EString] ("," relationship+=[Relationship|EString])* ")")? +protected class RepositoryComponent_Impl_Group_5 extends GroupToken { + + public RepositoryComponent_Impl_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getGroup_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_RightParenthesisKeyword_5_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "relationship" +protected class RepositoryComponent_Impl_RelationshipKeyword_5_0 extends KeywordToken { + + public RepositoryComponent_Impl_RelationshipKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipKeyword_5_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_NameAssignment_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "(" +protected class RepositoryComponent_Impl_LeftParenthesisKeyword_5_1 extends KeywordToken { + + public RepositoryComponent_Impl_LeftParenthesisKeyword_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getLeftParenthesisKeyword_5_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_RelationshipKeyword_5_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// relationship+=[Relationship|EString] +protected class RepositoryComponent_Impl_RelationshipAssignment_5_2 extends AssignmentToken { + + public RepositoryComponent_Impl_RelationshipAssignment_5_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipAssignment_5_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_LeftParenthesisKeyword_5_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("relationship",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("relationship"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipRelationshipCrossReference_5_2_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipRelationshipCrossReference_5_2_0(); + return obj; + } + } + return null; + } + +} + +// ("," relationship+=[Relationship|EString])* +protected class RepositoryComponent_Impl_Group_5_3 extends GroupToken { + + public RepositoryComponent_Impl_Group_5_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getGroup_5_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_RelationshipAssignment_5_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class RepositoryComponent_Impl_CommaKeyword_5_3_0 extends KeywordToken { + + public RepositoryComponent_Impl_CommaKeyword_5_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_5_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_Group_5_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new RepositoryComponent_Impl_RelationshipAssignment_5_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// relationship+=[Relationship|EString] +protected class RepositoryComponent_Impl_RelationshipAssignment_5_3_1 extends AssignmentToken { + + public RepositoryComponent_Impl_RelationshipAssignment_5_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipAssignment_5_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_CommaKeyword_5_3_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("relationship",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("relationship"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipRelationshipCrossReference_5_3_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipRelationshipCrossReference_5_3_1_0(); + return obj; + } + } + return null; + } + +} + + +// ")" +protected class RepositoryComponent_Impl_RightParenthesisKeyword_5_4 extends KeywordToken { + + public RepositoryComponent_Impl_RightParenthesisKeyword_5_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getRightParenthesisKeyword_5_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_Group_5_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new RepositoryComponent_Impl_RelationshipAssignment_5_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("providedRoles" "{" providedRoles+=ProvidedRole ("," providedRoles+=ProvidedRole)* "}")? +protected class RepositoryComponent_Impl_Group_6 extends GroupToken { + + public RepositoryComponent_Impl_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getGroup_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_RightCurlyBracketKeyword_6_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "providedRoles" +protected class RepositoryComponent_Impl_ProvidedRolesKeyword_6_0 extends KeywordToken { + + public RepositoryComponent_Impl_ProvidedRolesKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesKeyword_6_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_Group_5(lastRuleCallOrigin, this, 0, inst); + case 1: return new RepositoryComponent_Impl_NameAssignment_4(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// "{" +protected class RepositoryComponent_Impl_LeftCurlyBracketKeyword_6_1 extends KeywordToken { + + public RepositoryComponent_Impl_LeftCurlyBracketKeyword_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_6_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_ProvidedRolesKeyword_6_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// providedRoles+=ProvidedRole +protected class RepositoryComponent_Impl_ProvidedRolesAssignment_6_2 extends AssignmentToken { + + public RepositoryComponent_Impl_ProvidedRolesAssignment_6_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesAssignment_6_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedRole_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("providedRoles",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("providedRoles"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getProvidedRoleRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesProvidedRoleParserRuleCall_6_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new RepositoryComponent_Impl_LeftCurlyBracketKeyword_6_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," providedRoles+=ProvidedRole)* +protected class RepositoryComponent_Impl_Group_6_3 extends GroupToken { + + public RepositoryComponent_Impl_Group_6_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getGroup_6_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_ProvidedRolesAssignment_6_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class RepositoryComponent_Impl_CommaKeyword_6_3_0 extends KeywordToken { + + public RepositoryComponent_Impl_CommaKeyword_6_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_6_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_Group_6_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new RepositoryComponent_Impl_ProvidedRolesAssignment_6_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// providedRoles+=ProvidedRole +protected class RepositoryComponent_Impl_ProvidedRolesAssignment_6_3_1 extends AssignmentToken { + + public RepositoryComponent_Impl_ProvidedRolesAssignment_6_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesAssignment_6_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedRole_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("providedRoles",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("providedRoles"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getProvidedRoleRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new RepositoryComponent_Impl_CommaKeyword_6_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class RepositoryComponent_Impl_RightCurlyBracketKeyword_6_4 extends KeywordToken { + + public RepositoryComponent_Impl_RightCurlyBracketKeyword_6_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_6_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_Group_6_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new RepositoryComponent_Impl_ProvidedRolesAssignment_6_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," blackBoxBehavior+=BlackBoxBehavior)* "}")? +protected class RepositoryComponent_Impl_Group_7 extends GroupToken { + + public RepositoryComponent_Impl_Group_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getGroup_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_RightCurlyBracketKeyword_7_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "blackBoxBehavior" +protected class RepositoryComponent_Impl_BlackBoxBehaviorKeyword_7_0 extends KeywordToken { + + public RepositoryComponent_Impl_BlackBoxBehaviorKeyword_7_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getBlackBoxBehaviorKeyword_7_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_Group_6(lastRuleCallOrigin, this, 0, inst); + case 1: return new RepositoryComponent_Impl_Group_5(lastRuleCallOrigin, this, 1, inst); + case 2: return new RepositoryComponent_Impl_NameAssignment_4(lastRuleCallOrigin, this, 2, inst); + default: return null; + } + } + +} + +// "{" +protected class RepositoryComponent_Impl_LeftCurlyBracketKeyword_7_1 extends KeywordToken { + + public RepositoryComponent_Impl_LeftCurlyBracketKeyword_7_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_7_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_BlackBoxBehaviorKeyword_7_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// blackBoxBehavior+=BlackBoxBehavior +protected class RepositoryComponent_Impl_BlackBoxBehaviorAssignment_7_2 extends AssignmentToken { + + public RepositoryComponent_Impl_BlackBoxBehaviorAssignment_7_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getBlackBoxBehaviorAssignment_7_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BlackBoxBehavior_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("blackBoxBehavior",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("blackBoxBehavior"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getBlackBoxBehaviorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getRepositoryComponent_ImplAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new RepositoryComponent_Impl_LeftCurlyBracketKeyword_7_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," blackBoxBehavior+=BlackBoxBehavior)* +protected class RepositoryComponent_Impl_Group_7_3 extends GroupToken { + + public RepositoryComponent_Impl_Group_7_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getGroup_7_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_BlackBoxBehaviorAssignment_7_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class RepositoryComponent_Impl_CommaKeyword_7_3_0 extends KeywordToken { + + public RepositoryComponent_Impl_CommaKeyword_7_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_7_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_Group_7_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new RepositoryComponent_Impl_BlackBoxBehaviorAssignment_7_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// blackBoxBehavior+=BlackBoxBehavior +protected class RepositoryComponent_Impl_BlackBoxBehaviorAssignment_7_3_1 extends AssignmentToken { + + public RepositoryComponent_Impl_BlackBoxBehaviorAssignment_7_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getBlackBoxBehaviorAssignment_7_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BlackBoxBehavior_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("blackBoxBehavior",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("blackBoxBehavior"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getBlackBoxBehaviorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getRepositoryComponent_ImplAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new RepositoryComponent_Impl_CommaKeyword_7_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class RepositoryComponent_Impl_RightCurlyBracketKeyword_7_4 extends KeywordToken { + + public RepositoryComponent_Impl_RightCurlyBracketKeyword_7_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_7_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_Group_7_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new RepositoryComponent_Impl_BlackBoxBehaviorAssignment_7_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("requiredRoles" "{" requiredRoles+=RequiredRole ("," requiredRoles+=RequiredRole)* "}")? +protected class RepositoryComponent_Impl_Group_8 extends GroupToken { + + public RepositoryComponent_Impl_Group_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getGroup_8(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_RightCurlyBracketKeyword_8_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "requiredRoles" +protected class RepositoryComponent_Impl_RequiredRolesKeyword_8_0 extends KeywordToken { + + public RepositoryComponent_Impl_RequiredRolesKeyword_8_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesKeyword_8_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_Group_7(lastRuleCallOrigin, this, 0, inst); + case 1: return new RepositoryComponent_Impl_Group_6(lastRuleCallOrigin, this, 1, inst); + case 2: return new RepositoryComponent_Impl_Group_5(lastRuleCallOrigin, this, 2, inst); + case 3: return new RepositoryComponent_Impl_NameAssignment_4(lastRuleCallOrigin, this, 3, inst); + default: return null; + } + } + +} + +// "{" +protected class RepositoryComponent_Impl_LeftCurlyBracketKeyword_8_1 extends KeywordToken { + + public RepositoryComponent_Impl_LeftCurlyBracketKeyword_8_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_8_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_RequiredRolesKeyword_8_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// requiredRoles+=RequiredRole +protected class RepositoryComponent_Impl_RequiredRolesAssignment_8_2 extends AssignmentToken { + + public RepositoryComponent_Impl_RequiredRolesAssignment_8_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesAssignment_8_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredRole_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("requiredRoles",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiredRoles"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getRequiredRoleRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesRequiredRoleParserRuleCall_8_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new RepositoryComponent_Impl_LeftCurlyBracketKeyword_8_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," requiredRoles+=RequiredRole)* +protected class RepositoryComponent_Impl_Group_8_3 extends GroupToken { + + public RepositoryComponent_Impl_Group_8_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getGroup_8_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_RequiredRolesAssignment_8_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class RepositoryComponent_Impl_CommaKeyword_8_3_0 extends KeywordToken { + + public RepositoryComponent_Impl_CommaKeyword_8_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_8_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_Group_8_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new RepositoryComponent_Impl_RequiredRolesAssignment_8_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// requiredRoles+=RequiredRole +protected class RepositoryComponent_Impl_RequiredRolesAssignment_8_3_1 extends AssignmentToken { + + public RepositoryComponent_Impl_RequiredRolesAssignment_8_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesAssignment_8_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredRole_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("requiredRoles",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiredRoles"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getRequiredRoleRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new RepositoryComponent_Impl_CommaKeyword_8_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class RepositoryComponent_Impl_RightCurlyBracketKeyword_8_4 extends KeywordToken { + + public RepositoryComponent_Impl_RightCurlyBracketKeyword_8_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_8_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_Group_8_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new RepositoryComponent_Impl_RequiredRolesAssignment_8_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior ("," +// coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? +protected class RepositoryComponent_Impl_Group_9 extends GroupToken { + + public RepositoryComponent_Impl_Group_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getGroup_9(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_RightCurlyBracketKeyword_9_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "coarseGrainedBehavior" +protected class RepositoryComponent_Impl_CoarseGrainedBehaviorKeyword_9_0 extends KeywordToken { + + public RepositoryComponent_Impl_CoarseGrainedBehaviorKeyword_9_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getCoarseGrainedBehaviorKeyword_9_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_Group_8(lastRuleCallOrigin, this, 0, inst); + case 1: return new RepositoryComponent_Impl_Group_7(lastRuleCallOrigin, this, 1, inst); + case 2: return new RepositoryComponent_Impl_Group_6(lastRuleCallOrigin, this, 2, inst); + case 3: return new RepositoryComponent_Impl_Group_5(lastRuleCallOrigin, this, 3, inst); + case 4: return new RepositoryComponent_Impl_NameAssignment_4(lastRuleCallOrigin, this, 4, inst); + default: return null; + } + } + +} + +// "{" +protected class RepositoryComponent_Impl_LeftCurlyBracketKeyword_9_1 extends KeywordToken { + + public RepositoryComponent_Impl_LeftCurlyBracketKeyword_9_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_9_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_CoarseGrainedBehaviorKeyword_9_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// coarseGrainedBehavior+=CoarseGrainedBehavior +protected class RepositoryComponent_Impl_CoarseGrainedBehaviorAssignment_9_2 extends AssignmentToken { + + public RepositoryComponent_Impl_CoarseGrainedBehaviorAssignment_9_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getCoarseGrainedBehaviorAssignment_9_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("coarseGrainedBehavior",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("coarseGrainedBehavior"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getCoarseGrainedBehaviorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getRepositoryComponent_ImplAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new RepositoryComponent_Impl_LeftCurlyBracketKeyword_9_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," coarseGrainedBehavior+=CoarseGrainedBehavior)* +protected class RepositoryComponent_Impl_Group_9_3 extends GroupToken { + + public RepositoryComponent_Impl_Group_9_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getGroup_9_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_CoarseGrainedBehaviorAssignment_9_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class RepositoryComponent_Impl_CommaKeyword_9_3_0 extends KeywordToken { + + public RepositoryComponent_Impl_CommaKeyword_9_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_9_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_Group_9_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new RepositoryComponent_Impl_CoarseGrainedBehaviorAssignment_9_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// coarseGrainedBehavior+=CoarseGrainedBehavior +protected class RepositoryComponent_Impl_CoarseGrainedBehaviorAssignment_9_3_1 extends AssignmentToken { + + public RepositoryComponent_Impl_CoarseGrainedBehaviorAssignment_9_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getCoarseGrainedBehaviorAssignment_9_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("coarseGrainedBehavior",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("coarseGrainedBehavior"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getCoarseGrainedBehaviorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getRepositoryComponent_ImplAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new RepositoryComponent_Impl_CommaKeyword_9_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class RepositoryComponent_Impl_RightCurlyBracketKeyword_9_4 extends KeywordToken { + + public RepositoryComponent_Impl_RightCurlyBracketKeyword_9_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_9_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_Group_9_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new RepositoryComponent_Impl_CoarseGrainedBehaviorAssignment_9_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// "}" +protected class RepositoryComponent_Impl_RightCurlyBracketKeyword_10 extends KeywordToken { + + public RepositoryComponent_Impl_RightCurlyBracketKeyword_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_10(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RepositoryComponent_Impl_Group_9(lastRuleCallOrigin, this, 0, inst); + case 1: return new RepositoryComponent_Impl_Group_8(lastRuleCallOrigin, this, 1, inst); + case 2: return new RepositoryComponent_Impl_Group_7(lastRuleCallOrigin, this, 2, inst); + case 3: return new RepositoryComponent_Impl_Group_6(lastRuleCallOrigin, this, 3, inst); + case 4: return new RepositoryComponent_Impl_Group_5(lastRuleCallOrigin, this, 4, inst); + case 5: return new RepositoryComponent_Impl_NameAssignment_4(lastRuleCallOrigin, this, 5, inst); + default: return null; + } + } + +} + + +/************ end Rule RepositoryComponent_Impl ****************/ + + +/************ begin Rule CollectionDataType **************** + * + * CollectionDataType returns repository::CollectionDataType: + * "CollectionDataType" id=EString "{" "name" name=EString "innerType" innerType=[repository::DataType|EString] "}"; + * + **/ + +// "CollectionDataType" id=EString "{" "name" name=EString "innerType" innerType=[repository::DataType|EString] "}" +protected class CollectionDataType_Group extends GroupToken { + + public CollectionDataType_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCollectionDataTypeAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CollectionDataType_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getCollectionDataTypeRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "CollectionDataType" +protected class CollectionDataType_CollectionDataTypeKeyword_0 extends KeywordToken { + + public CollectionDataType_CollectionDataTypeKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCollectionDataTypeAccess().getCollectionDataTypeKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// id=EString +protected class CollectionDataType_IdAssignment_1 extends AssignmentToken { + + public CollectionDataType_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCollectionDataTypeAccess().getIdAssignment_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CollectionDataType_CollectionDataTypeKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("id",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getCollectionDataTypeAccess().getIdEStringParserRuleCall_1_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getCollectionDataTypeAccess().getIdEStringParserRuleCall_1_0(); + return obj; + } + return null; + } + +} + +// "{" +protected class CollectionDataType_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public CollectionDataType_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCollectionDataTypeAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CollectionDataType_IdAssignment_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "name" +protected class CollectionDataType_NameKeyword_3 extends KeywordToken { + + public CollectionDataType_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCollectionDataTypeAccess().getNameKeyword_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CollectionDataType_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// name=EString +protected class CollectionDataType_NameAssignment_4 extends AssignmentToken { + + public CollectionDataType_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCollectionDataTypeAccess().getNameAssignment_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CollectionDataType_NameKeyword_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getCollectionDataTypeAccess().getNameEStringParserRuleCall_4_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getCollectionDataTypeAccess().getNameEStringParserRuleCall_4_0(); + return obj; + } + return null; + } + +} + +// "innerType" +protected class CollectionDataType_InnerTypeKeyword_5 extends KeywordToken { + + public CollectionDataType_InnerTypeKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCollectionDataTypeAccess().getInnerTypeKeyword_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CollectionDataType_NameAssignment_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// innerType=[repository::DataType|EString] +protected class CollectionDataType_InnerTypeAssignment_6 extends AssignmentToken { + + public CollectionDataType_InnerTypeAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCollectionDataTypeAccess().getInnerTypeAssignment_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CollectionDataType_InnerTypeKeyword_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("innerType",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("innerType"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getCollectionDataTypeAccess().getInnerTypeDataTypeCrossReference_6_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getCollectionDataTypeAccess().getInnerTypeDataTypeCrossReference_6_0(); + return obj; + } + } + return null; + } + +} + +// "}" +protected class CollectionDataType_RightCurlyBracketKeyword_7 extends KeywordToken { + + public CollectionDataType_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCollectionDataTypeAccess().getRightCurlyBracketKeyword_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CollectionDataType_InnerTypeAssignment_6(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule CollectionDataType ****************/ + + +/************ begin Rule CompositeDataType **************** + * + * CompositeDataType returns repository::CompositeDataType: + * "CompositeDataType" id=EString "{" "name" name=EString ("parentTypes" "(" + * parentTypes+=[repository::CompositeDataType|EString] ("," parentTypes+=[repository::CompositeDataType|EString])* ")")? + * ("innerDeclarations" "{" innerDeclarations+=InnerDeclaration ("," innerDeclarations+=InnerDeclaration)* "}")? "}"; + * + **/ + +// "CompositeDataType" id=EString "{" "name" name=EString ("parentTypes" "(" +// parentTypes+=[repository::CompositeDataType|EString] ("," parentTypes+=[repository::CompositeDataType|EString])* ")")? +// ("innerDeclarations" "{" innerDeclarations+=InnerDeclaration ("," innerDeclarations+=InnerDeclaration)* "}")? "}" +protected class CompositeDataType_Group extends GroupToken { + + public CompositeDataType_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCompositeDataTypeAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeDataType_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getCompositeDataTypeRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "CompositeDataType" +protected class CompositeDataType_CompositeDataTypeKeyword_0 extends KeywordToken { + + public CompositeDataType_CompositeDataTypeKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeDataTypeAccess().getCompositeDataTypeKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// id=EString +protected class CompositeDataType_IdAssignment_1 extends AssignmentToken { + + public CompositeDataType_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCompositeDataTypeAccess().getIdAssignment_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeDataType_CompositeDataTypeKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("id",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getCompositeDataTypeAccess().getIdEStringParserRuleCall_1_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getCompositeDataTypeAccess().getIdEStringParserRuleCall_1_0(); + return obj; + } + return null; + } + +} + +// "{" +protected class CompositeDataType_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public CompositeDataType_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeDataTypeAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeDataType_IdAssignment_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "name" +protected class CompositeDataType_NameKeyword_3 extends KeywordToken { + + public CompositeDataType_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeDataTypeAccess().getNameKeyword_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeDataType_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// name=EString +protected class CompositeDataType_NameAssignment_4 extends AssignmentToken { + + public CompositeDataType_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCompositeDataTypeAccess().getNameAssignment_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeDataType_NameKeyword_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getCompositeDataTypeAccess().getNameEStringParserRuleCall_4_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getCompositeDataTypeAccess().getNameEStringParserRuleCall_4_0(); + return obj; + } + return null; + } + +} + +// ("parentTypes" "(" parentTypes+=[repository::CompositeDataType|EString] ("," +// parentTypes+=[repository::CompositeDataType|EString])* ")")? +protected class CompositeDataType_Group_5 extends GroupToken { + + public CompositeDataType_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCompositeDataTypeAccess().getGroup_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeDataType_RightParenthesisKeyword_5_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "parentTypes" +protected class CompositeDataType_ParentTypesKeyword_5_0 extends KeywordToken { + + public CompositeDataType_ParentTypesKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeDataTypeAccess().getParentTypesKeyword_5_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeDataType_NameAssignment_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "(" +protected class CompositeDataType_LeftParenthesisKeyword_5_1 extends KeywordToken { + + public CompositeDataType_LeftParenthesisKeyword_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeDataTypeAccess().getLeftParenthesisKeyword_5_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeDataType_ParentTypesKeyword_5_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// parentTypes+=[repository::CompositeDataType|EString] +protected class CompositeDataType_ParentTypesAssignment_5_2 extends AssignmentToken { + + public CompositeDataType_ParentTypesAssignment_5_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCompositeDataTypeAccess().getParentTypesAssignment_5_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeDataType_LeftParenthesisKeyword_5_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("parentTypes",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("parentTypes"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getCompositeDataTypeAccess().getParentTypesCompositeDataTypeCrossReference_5_2_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getCompositeDataTypeAccess().getParentTypesCompositeDataTypeCrossReference_5_2_0(); + return obj; + } + } + return null; + } + +} + +// ("," parentTypes+=[repository::CompositeDataType|EString])* +protected class CompositeDataType_Group_5_3 extends GroupToken { + + public CompositeDataType_Group_5_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCompositeDataTypeAccess().getGroup_5_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeDataType_ParentTypesAssignment_5_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class CompositeDataType_CommaKeyword_5_3_0 extends KeywordToken { + + public CompositeDataType_CommaKeyword_5_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeDataTypeAccess().getCommaKeyword_5_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeDataType_Group_5_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeDataType_ParentTypesAssignment_5_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// parentTypes+=[repository::CompositeDataType|EString] +protected class CompositeDataType_ParentTypesAssignment_5_3_1 extends AssignmentToken { + + public CompositeDataType_ParentTypesAssignment_5_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCompositeDataTypeAccess().getParentTypesAssignment_5_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeDataType_CommaKeyword_5_3_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("parentTypes",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("parentTypes"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getCompositeDataTypeAccess().getParentTypesCompositeDataTypeCrossReference_5_3_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getCompositeDataTypeAccess().getParentTypesCompositeDataTypeCrossReference_5_3_1_0(); + return obj; + } + } + return null; + } + +} + + +// ")" +protected class CompositeDataType_RightParenthesisKeyword_5_4 extends KeywordToken { + + public CompositeDataType_RightParenthesisKeyword_5_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeDataTypeAccess().getRightParenthesisKeyword_5_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeDataType_Group_5_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeDataType_ParentTypesAssignment_5_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("innerDeclarations" "{" innerDeclarations+=InnerDeclaration ("," innerDeclarations+=InnerDeclaration)* "}")? +protected class CompositeDataType_Group_6 extends GroupToken { + + public CompositeDataType_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCompositeDataTypeAccess().getGroup_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeDataType_RightCurlyBracketKeyword_6_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "innerDeclarations" +protected class CompositeDataType_InnerDeclarationsKeyword_6_0 extends KeywordToken { + + public CompositeDataType_InnerDeclarationsKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsKeyword_6_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeDataType_Group_5(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeDataType_NameAssignment_4(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// "{" +protected class CompositeDataType_LeftCurlyBracketKeyword_6_1 extends KeywordToken { + + public CompositeDataType_LeftCurlyBracketKeyword_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeDataTypeAccess().getLeftCurlyBracketKeyword_6_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeDataType_InnerDeclarationsKeyword_6_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// innerDeclarations+=InnerDeclaration +protected class CompositeDataType_InnerDeclarationsAssignment_6_2 extends AssignmentToken { + + public CompositeDataType_InnerDeclarationsAssignment_6_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsAssignment_6_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InnerDeclaration_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("innerDeclarations",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("innerDeclarations"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getInnerDeclarationRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsInnerDeclarationParserRuleCall_6_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new CompositeDataType_LeftCurlyBracketKeyword_6_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," innerDeclarations+=InnerDeclaration)* +protected class CompositeDataType_Group_6_3 extends GroupToken { + + public CompositeDataType_Group_6_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCompositeDataTypeAccess().getGroup_6_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeDataType_InnerDeclarationsAssignment_6_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class CompositeDataType_CommaKeyword_6_3_0 extends KeywordToken { + + public CompositeDataType_CommaKeyword_6_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeDataTypeAccess().getCommaKeyword_6_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeDataType_Group_6_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeDataType_InnerDeclarationsAssignment_6_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// innerDeclarations+=InnerDeclaration +protected class CompositeDataType_InnerDeclarationsAssignment_6_3_1 extends AssignmentToken { + + public CompositeDataType_InnerDeclarationsAssignment_6_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsAssignment_6_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InnerDeclaration_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("innerDeclarations",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("innerDeclarations"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getInnerDeclarationRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsInnerDeclarationParserRuleCall_6_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new CompositeDataType_CommaKeyword_6_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class CompositeDataType_RightCurlyBracketKeyword_6_4 extends KeywordToken { + + public CompositeDataType_RightCurlyBracketKeyword_6_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeDataTypeAccess().getRightCurlyBracketKeyword_6_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeDataType_Group_6_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeDataType_InnerDeclarationsAssignment_6_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// "}" +protected class CompositeDataType_RightCurlyBracketKeyword_7 extends KeywordToken { + + public CompositeDataType_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeDataTypeAccess().getRightCurlyBracketKeyword_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeDataType_Group_6(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeDataType_Group_5(lastRuleCallOrigin, this, 1, inst); + case 2: return new CompositeDataType_NameAssignment_4(lastRuleCallOrigin, this, 2, inst); + default: return null; + } + } + +} + + +/************ end Rule CompositeDataType ****************/ + + +/************ begin Rule PrimitiveDataType **************** + * + * PrimitiveDataType returns repository::PrimitiveDataType: + * "PrimitiveDataType" "{" "type" type=PrimitiveTypeEnum "}"; + * + **/ + +// "PrimitiveDataType" "{" "type" type=PrimitiveTypeEnum "}" +protected class PrimitiveDataType_Group extends GroupToken { + + public PrimitiveDataType_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getPrimitiveDataTypeAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PrimitiveDataType_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getPrimitiveDataTypeRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "PrimitiveDataType" +protected class PrimitiveDataType_PrimitiveDataTypeKeyword_0 extends KeywordToken { + + public PrimitiveDataType_PrimitiveDataTypeKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getPrimitiveDataTypeAccess().getPrimitiveDataTypeKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// "{" +protected class PrimitiveDataType_LeftCurlyBracketKeyword_1 extends KeywordToken { + + public PrimitiveDataType_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getPrimitiveDataTypeAccess().getLeftCurlyBracketKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PrimitiveDataType_PrimitiveDataTypeKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "type" +protected class PrimitiveDataType_TypeKeyword_2 extends KeywordToken { + + public PrimitiveDataType_TypeKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getPrimitiveDataTypeAccess().getTypeKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PrimitiveDataType_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// type=PrimitiveTypeEnum +protected class PrimitiveDataType_TypeAssignment_3 extends AssignmentToken { + + public PrimitiveDataType_TypeAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getPrimitiveDataTypeAccess().getTypeAssignment_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PrimitiveDataType_TypeKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("type",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("type"); + if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getPrimitiveDataTypeAccess().getTypePrimitiveTypeEnumEnumRuleCall_3_0(), value, null)) { + type = AssignmentType.ENUM_RULE_CALL; + element = grammarAccess.getPrimitiveDataTypeAccess().getTypePrimitiveTypeEnumEnumRuleCall_3_0(); + return obj; + } + return null; + } + +} + +// "}" +protected class PrimitiveDataType_RightCurlyBracketKeyword_4 extends KeywordToken { + + public PrimitiveDataType_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getPrimitiveDataTypeAccess().getRightCurlyBracketKeyword_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PrimitiveDataType_TypeAssignment_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule PrimitiveDataType ****************/ + + +/************ begin Rule InnerDeclaration **************** + * + * InnerDeclaration returns repository::InnerDeclaration: + * "InnerDeclaration" id=EString "{" "name" name=EString "dataType" dataType=[repository::DataType|EString] "}"; + * + **/ + +// "InnerDeclaration" id=EString "{" "name" name=EString "dataType" dataType=[repository::DataType|EString] "}" +protected class InnerDeclaration_Group extends GroupToken { + + public InnerDeclaration_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getInnerDeclarationAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InnerDeclaration_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getInnerDeclarationRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "InnerDeclaration" +protected class InnerDeclaration_InnerDeclarationKeyword_0 extends KeywordToken { + + public InnerDeclaration_InnerDeclarationKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInnerDeclarationAccess().getInnerDeclarationKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// id=EString +protected class InnerDeclaration_IdAssignment_1 extends AssignmentToken { + + public InnerDeclaration_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getInnerDeclarationAccess().getIdAssignment_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InnerDeclaration_InnerDeclarationKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("id",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getInnerDeclarationAccess().getIdEStringParserRuleCall_1_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getInnerDeclarationAccess().getIdEStringParserRuleCall_1_0(); + return obj; + } + return null; + } + +} + +// "{" +protected class InnerDeclaration_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public InnerDeclaration_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInnerDeclarationAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InnerDeclaration_IdAssignment_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "name" +protected class InnerDeclaration_NameKeyword_3 extends KeywordToken { + + public InnerDeclaration_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInnerDeclarationAccess().getNameKeyword_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InnerDeclaration_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// name=EString +protected class InnerDeclaration_NameAssignment_4 extends AssignmentToken { + + public InnerDeclaration_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getInnerDeclarationAccess().getNameAssignment_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InnerDeclaration_NameKeyword_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getInnerDeclarationAccess().getNameEStringParserRuleCall_4_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getInnerDeclarationAccess().getNameEStringParserRuleCall_4_0(); + return obj; + } + return null; + } + +} + +// "dataType" +protected class InnerDeclaration_DataTypeKeyword_5 extends KeywordToken { + + public InnerDeclaration_DataTypeKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInnerDeclarationAccess().getDataTypeKeyword_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InnerDeclaration_NameAssignment_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// dataType=[repository::DataType|EString] +protected class InnerDeclaration_DataTypeAssignment_6 extends AssignmentToken { + + public InnerDeclaration_DataTypeAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getInnerDeclarationAccess().getDataTypeAssignment_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InnerDeclaration_DataTypeKeyword_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("dataType",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("dataType"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getInnerDeclarationAccess().getDataTypeDataTypeCrossReference_6_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getInnerDeclarationAccess().getDataTypeDataTypeCrossReference_6_0(); + return obj; + } + } + return null; + } + +} + +// "}" +protected class InnerDeclaration_RightCurlyBracketKeyword_7 extends KeywordToken { + + public InnerDeclaration_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInnerDeclarationAccess().getRightCurlyBracketKeyword_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InnerDeclaration_DataTypeAssignment_6(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule InnerDeclaration ****************/ + + +/************ begin Rule Signature **************** + * + * Signature returns repository::Signature: + * "Signature" id=EString "{" "name" name=EString ("returnType" returnType=[repository::DataType|EString])? ("parameters" + * "{" parameters+=Parameter ("," parameters+=Parameter)* "}")? "}"; + * + **/ + +// "Signature" id=EString "{" "name" name=EString ("returnType" returnType=[repository::DataType|EString])? ("parameters" +// "{" parameters+=Parameter ("," parameters+=Parameter)* "}")? "}" +protected class Signature_Group extends GroupToken { + + public Signature_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getSignatureAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Signature_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getSignatureRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "Signature" +protected class Signature_SignatureKeyword_0 extends KeywordToken { + + public Signature_SignatureKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSignatureAccess().getSignatureKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// id=EString +protected class Signature_IdAssignment_1 extends AssignmentToken { + + public Signature_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getSignatureAccess().getIdAssignment_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Signature_SignatureKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("id",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getSignatureAccess().getIdEStringParserRuleCall_1_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getSignatureAccess().getIdEStringParserRuleCall_1_0(); + return obj; + } + return null; + } + +} + +// "{" +protected class Signature_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public Signature_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSignatureAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Signature_IdAssignment_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "name" +protected class Signature_NameKeyword_3 extends KeywordToken { + + public Signature_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSignatureAccess().getNameKeyword_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Signature_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// name=EString +protected class Signature_NameAssignment_4 extends AssignmentToken { + + public Signature_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getSignatureAccess().getNameAssignment_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Signature_NameKeyword_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getSignatureAccess().getNameEStringParserRuleCall_4_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getSignatureAccess().getNameEStringParserRuleCall_4_0(); + return obj; + } + return null; + } + +} + +// ("returnType" returnType=[repository::DataType|EString])? +protected class Signature_Group_5 extends GroupToken { + + public Signature_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getSignatureAccess().getGroup_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Signature_ReturnTypeAssignment_5_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "returnType" +protected class Signature_ReturnTypeKeyword_5_0 extends KeywordToken { + + public Signature_ReturnTypeKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSignatureAccess().getReturnTypeKeyword_5_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Signature_NameAssignment_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// returnType=[repository::DataType|EString] +protected class Signature_ReturnTypeAssignment_5_1 extends AssignmentToken { + + public Signature_ReturnTypeAssignment_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getSignatureAccess().getReturnTypeAssignment_5_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Signature_ReturnTypeKeyword_5_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("returnType",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("returnType"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getSignatureAccess().getReturnTypeDataTypeCrossReference_5_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getSignatureAccess().getReturnTypeDataTypeCrossReference_5_1_0(); + return obj; + } + } + return null; + } + +} + + +// ("parameters" "{" parameters+=Parameter ("," parameters+=Parameter)* "}")? +protected class Signature_Group_6 extends GroupToken { + + public Signature_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getSignatureAccess().getGroup_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Signature_RightCurlyBracketKeyword_6_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "parameters" +protected class Signature_ParametersKeyword_6_0 extends KeywordToken { + + public Signature_ParametersKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSignatureAccess().getParametersKeyword_6_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Signature_Group_5(lastRuleCallOrigin, this, 0, inst); + case 1: return new Signature_NameAssignment_4(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// "{" +protected class Signature_LeftCurlyBracketKeyword_6_1 extends KeywordToken { + + public Signature_LeftCurlyBracketKeyword_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSignatureAccess().getLeftCurlyBracketKeyword_6_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Signature_ParametersKeyword_6_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// parameters+=Parameter +protected class Signature_ParametersAssignment_6_2 extends AssignmentToken { + + public Signature_ParametersAssignment_6_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getSignatureAccess().getParametersAssignment_6_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Parameter_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("parameters",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("parameters"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getParameterRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getSignatureAccess().getParametersParameterParserRuleCall_6_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new Signature_LeftCurlyBracketKeyword_6_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," parameters+=Parameter)* +protected class Signature_Group_6_3 extends GroupToken { + + public Signature_Group_6_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getSignatureAccess().getGroup_6_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Signature_ParametersAssignment_6_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class Signature_CommaKeyword_6_3_0 extends KeywordToken { + + public Signature_CommaKeyword_6_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSignatureAccess().getCommaKeyword_6_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Signature_Group_6_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new Signature_ParametersAssignment_6_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// parameters+=Parameter +protected class Signature_ParametersAssignment_6_3_1 extends AssignmentToken { + + public Signature_ParametersAssignment_6_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getSignatureAccess().getParametersAssignment_6_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Parameter_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("parameters",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("parameters"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getParameterRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getSignatureAccess().getParametersParameterParserRuleCall_6_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new Signature_CommaKeyword_6_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class Signature_RightCurlyBracketKeyword_6_4 extends KeywordToken { + + public Signature_RightCurlyBracketKeyword_6_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSignatureAccess().getRightCurlyBracketKeyword_6_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Signature_Group_6_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new Signature_ParametersAssignment_6_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// "}" +protected class Signature_RightCurlyBracketKeyword_7 extends KeywordToken { + + public Signature_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSignatureAccess().getRightCurlyBracketKeyword_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Signature_Group_6(lastRuleCallOrigin, this, 0, inst); + case 1: return new Signature_Group_5(lastRuleCallOrigin, this, 1, inst); + case 2: return new Signature_NameAssignment_4(lastRuleCallOrigin, this, 2, inst); + default: return null; + } + } + +} + + +/************ end Rule Signature ****************/ + + +/************ begin Rule Parameter **************** + * + * Parameter returns repository::Parameter: + * "Parameter" name=EString "{" "modifier" modifier=ParameterModifier "dataType" dataType=[repository::DataType|EString] + * "}"; + * + **/ + +// "Parameter" name=EString "{" "modifier" modifier=ParameterModifier "dataType" dataType=[repository::DataType|EString] +// "}" +protected class Parameter_Group extends GroupToken { + + public Parameter_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getParameterAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Parameter_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getParameterRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "Parameter" +protected class Parameter_ParameterKeyword_0 extends KeywordToken { + + public Parameter_ParameterKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getParameterAccess().getParameterKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// name=EString +protected class Parameter_NameAssignment_1 extends AssignmentToken { + + public Parameter_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getParameterAccess().getNameAssignment_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Parameter_ParameterKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getParameterAccess().getNameEStringParserRuleCall_1_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getParameterAccess().getNameEStringParserRuleCall_1_0(); + return obj; + } + return null; + } + +} + +// "{" +protected class Parameter_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public Parameter_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getParameterAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Parameter_NameAssignment_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "modifier" +protected class Parameter_ModifierKeyword_3 extends KeywordToken { + + public Parameter_ModifierKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getParameterAccess().getModifierKeyword_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Parameter_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// modifier=ParameterModifier +protected class Parameter_ModifierAssignment_4 extends AssignmentToken { + + public Parameter_ModifierAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getParameterAccess().getModifierAssignment_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Parameter_ModifierKeyword_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("modifier",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("modifier"); + if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getParameterAccess().getModifierParameterModifierEnumRuleCall_4_0(), value, null)) { + type = AssignmentType.ENUM_RULE_CALL; + element = grammarAccess.getParameterAccess().getModifierParameterModifierEnumRuleCall_4_0(); + return obj; + } + return null; + } + +} + +// "dataType" +protected class Parameter_DataTypeKeyword_5 extends KeywordToken { + + public Parameter_DataTypeKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getParameterAccess().getDataTypeKeyword_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Parameter_ModifierAssignment_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// dataType=[repository::DataType|EString] +protected class Parameter_DataTypeAssignment_6 extends AssignmentToken { + + public Parameter_DataTypeAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getParameterAccess().getDataTypeAssignment_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Parameter_DataTypeKeyword_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("dataType",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("dataType"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getParameterAccess().getDataTypeDataTypeCrossReference_6_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getParameterAccess().getDataTypeDataTypeCrossReference_6_0(); + return obj; + } + } + return null; + } + +} + +// "}" +protected class Parameter_RightCurlyBracketKeyword_7 extends KeywordToken { + + public Parameter_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getParameterAccess().getRightCurlyBracketKeyword_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Parameter_DataTypeAssignment_6(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule Parameter ****************/ + + +/************ begin Rule ProvidedRole **************** + * + * ProvidedRole returns repository::ProvidedRole: + * "ProvidedRole" id=EString "{" "name" name=EString "interface" interface=[repository::Interface|EString] "}"; + * + **/ + +// "ProvidedRole" id=EString "{" "name" name=EString "interface" interface=[repository::Interface|EString] "}" +protected class ProvidedRole_Group extends GroupToken { + + public ProvidedRole_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getProvidedRoleAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedRole_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getProvidedRoleRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "ProvidedRole" +protected class ProvidedRole_ProvidedRoleKeyword_0 extends KeywordToken { + + public ProvidedRole_ProvidedRoleKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getProvidedRoleAccess().getProvidedRoleKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// id=EString +protected class ProvidedRole_IdAssignment_1 extends AssignmentToken { + + public ProvidedRole_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getProvidedRoleAccess().getIdAssignment_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedRole_ProvidedRoleKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("id",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getProvidedRoleAccess().getIdEStringParserRuleCall_1_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getProvidedRoleAccess().getIdEStringParserRuleCall_1_0(); + return obj; + } + return null; + } + +} + +// "{" +protected class ProvidedRole_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public ProvidedRole_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getProvidedRoleAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedRole_IdAssignment_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "name" +protected class ProvidedRole_NameKeyword_3 extends KeywordToken { + + public ProvidedRole_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getProvidedRoleAccess().getNameKeyword_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedRole_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// name=EString +protected class ProvidedRole_NameAssignment_4 extends AssignmentToken { + + public ProvidedRole_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getProvidedRoleAccess().getNameAssignment_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedRole_NameKeyword_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getProvidedRoleAccess().getNameEStringParserRuleCall_4_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getProvidedRoleAccess().getNameEStringParserRuleCall_4_0(); + return obj; + } + return null; + } + +} + +// "interface" +protected class ProvidedRole_InterfaceKeyword_5 extends KeywordToken { + + public ProvidedRole_InterfaceKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getProvidedRoleAccess().getInterfaceKeyword_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedRole_NameAssignment_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// interface=[repository::Interface|EString] +protected class ProvidedRole_InterfaceAssignment_6 extends AssignmentToken { + + public ProvidedRole_InterfaceAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getProvidedRoleAccess().getInterfaceAssignment_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedRole_InterfaceKeyword_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("interface",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("interface"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceCrossReference_6_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceCrossReference_6_0(); + return obj; + } + } + return null; + } + +} + +// "}" +protected class ProvidedRole_RightCurlyBracketKeyword_7 extends KeywordToken { + + public ProvidedRole_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getProvidedRoleAccess().getRightCurlyBracketKeyword_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedRole_InterfaceAssignment_6(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule ProvidedRole ****************/ + + +/************ begin Rule BlackBoxBehavior **************** + * + * BlackBoxBehavior returns servicebehavior::BlackBoxBehavior: + * "BlackBoxBehavior" "{" ("describedSignature" describedSignature=[repository::Signature|EString])? "describedEntity" + * describedEntity=[repository::InterfaceProvidingEntity|EString] ("influencingParameter" "{" + * influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* "}")? + * ("responseTimeSpecification" responseTimeSpecification=ResponseTimeSpecification)? "}"; + * + **/ + +// "BlackBoxBehavior" "{" ("describedSignature" describedSignature=[repository::Signature|EString])? "describedEntity" +// describedEntity=[repository::InterfaceProvidingEntity|EString] ("influencingParameter" "{" +// influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* "}")? +// ("responseTimeSpecification" responseTimeSpecification=ResponseTimeSpecification)? "}" +protected class BlackBoxBehavior_Group extends GroupToken { + + public BlackBoxBehavior_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getBlackBoxBehaviorAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BlackBoxBehavior_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getBlackBoxBehaviorRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "BlackBoxBehavior" +protected class BlackBoxBehavior_BlackBoxBehaviorKeyword_0 extends KeywordToken { + + public BlackBoxBehavior_BlackBoxBehaviorKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBlackBoxBehaviorAccess().getBlackBoxBehaviorKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// "{" +protected class BlackBoxBehavior_LeftCurlyBracketKeyword_1 extends KeywordToken { + + public BlackBoxBehavior_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBlackBoxBehaviorAccess().getLeftCurlyBracketKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BlackBoxBehavior_BlackBoxBehaviorKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// ("describedSignature" describedSignature=[repository::Signature|EString])? +protected class BlackBoxBehavior_Group_2 extends GroupToken { + + public BlackBoxBehavior_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getBlackBoxBehaviorAccess().getGroup_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BlackBoxBehavior_DescribedSignatureAssignment_2_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "describedSignature" +protected class BlackBoxBehavior_DescribedSignatureKeyword_2_0 extends KeywordToken { + + public BlackBoxBehavior_DescribedSignatureKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBlackBoxBehaviorAccess().getDescribedSignatureKeyword_2_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BlackBoxBehavior_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// describedSignature=[repository::Signature|EString] +protected class BlackBoxBehavior_DescribedSignatureAssignment_2_1 extends AssignmentToken { + + public BlackBoxBehavior_DescribedSignatureAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBlackBoxBehaviorAccess().getDescribedSignatureAssignment_2_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BlackBoxBehavior_DescribedSignatureKeyword_2_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("describedSignature",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("describedSignature"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getBlackBoxBehaviorAccess().getDescribedSignatureSignatureCrossReference_2_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getBlackBoxBehaviorAccess().getDescribedSignatureSignatureCrossReference_2_1_0(); + return obj; + } + } + return null; + } + +} + + +// "describedEntity" +protected class BlackBoxBehavior_DescribedEntityKeyword_3 extends KeywordToken { + + public BlackBoxBehavior_DescribedEntityKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBlackBoxBehaviorAccess().getDescribedEntityKeyword_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BlackBoxBehavior_Group_2(lastRuleCallOrigin, this, 0, inst); + case 1: return new BlackBoxBehavior_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// describedEntity=[repository::InterfaceProvidingEntity|EString] +protected class BlackBoxBehavior_DescribedEntityAssignment_4 extends AssignmentToken { + + public BlackBoxBehavior_DescribedEntityAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBlackBoxBehaviorAccess().getDescribedEntityAssignment_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BlackBoxBehavior_DescribedEntityKeyword_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("describedEntity",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("describedEntity"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getBlackBoxBehaviorAccess().getDescribedEntityInterfaceProvidingEntityCrossReference_4_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getBlackBoxBehaviorAccess().getDescribedEntityInterfaceProvidingEntityCrossReference_4_0(); + return obj; + } + } + return null; + } + +} + +// ("influencingParameter" "{" influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* +// "}")? +protected class BlackBoxBehavior_Group_5 extends GroupToken { + + public BlackBoxBehavior_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getBlackBoxBehaviorAccess().getGroup_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BlackBoxBehavior_RightCurlyBracketKeyword_5_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "influencingParameter" +protected class BlackBoxBehavior_InfluencingParameterKeyword_5_0 extends KeywordToken { + + public BlackBoxBehavior_InfluencingParameterKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBlackBoxBehaviorAccess().getInfluencingParameterKeyword_5_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BlackBoxBehavior_DescribedEntityAssignment_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "{" +protected class BlackBoxBehavior_LeftCurlyBracketKeyword_5_1 extends KeywordToken { + + public BlackBoxBehavior_LeftCurlyBracketKeyword_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBlackBoxBehaviorAccess().getLeftCurlyBracketKeyword_5_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BlackBoxBehavior_InfluencingParameterKeyword_5_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// influencingParameter+=InfluencingParameter +protected class BlackBoxBehavior_InfluencingParameterAssignment_5_2 extends AssignmentToken { + + public BlackBoxBehavior_InfluencingParameterAssignment_5_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBlackBoxBehaviorAccess().getInfluencingParameterAssignment_5_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencingParameter_Alternatives(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("influencingParameter",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("influencingParameter"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getInfluencingParameterRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getBlackBoxBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new BlackBoxBehavior_LeftCurlyBracketKeyword_5_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," influencingParameter+=InfluencingParameter)* +protected class BlackBoxBehavior_Group_5_3 extends GroupToken { + + public BlackBoxBehavior_Group_5_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getBlackBoxBehaviorAccess().getGroup_5_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BlackBoxBehavior_InfluencingParameterAssignment_5_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class BlackBoxBehavior_CommaKeyword_5_3_0 extends KeywordToken { + + public BlackBoxBehavior_CommaKeyword_5_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBlackBoxBehaviorAccess().getCommaKeyword_5_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BlackBoxBehavior_Group_5_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new BlackBoxBehavior_InfluencingParameterAssignment_5_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// influencingParameter+=InfluencingParameter +protected class BlackBoxBehavior_InfluencingParameterAssignment_5_3_1 extends AssignmentToken { + + public BlackBoxBehavior_InfluencingParameterAssignment_5_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBlackBoxBehaviorAccess().getInfluencingParameterAssignment_5_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencingParameter_Alternatives(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("influencingParameter",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("influencingParameter"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getInfluencingParameterRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getBlackBoxBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new BlackBoxBehavior_CommaKeyword_5_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class BlackBoxBehavior_RightCurlyBracketKeyword_5_4 extends KeywordToken { + + public BlackBoxBehavior_RightCurlyBracketKeyword_5_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBlackBoxBehaviorAccess().getRightCurlyBracketKeyword_5_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BlackBoxBehavior_Group_5_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new BlackBoxBehavior_InfluencingParameterAssignment_5_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("responseTimeSpecification" responseTimeSpecification=ResponseTimeSpecification)? +protected class BlackBoxBehavior_Group_6 extends GroupToken { + + public BlackBoxBehavior_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getBlackBoxBehaviorAccess().getGroup_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BlackBoxBehavior_ResponseTimeSpecificationAssignment_6_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "responseTimeSpecification" +protected class BlackBoxBehavior_ResponseTimeSpecificationKeyword_6_0 extends KeywordToken { + + public BlackBoxBehavior_ResponseTimeSpecificationKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBlackBoxBehaviorAccess().getResponseTimeSpecificationKeyword_6_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BlackBoxBehavior_Group_5(lastRuleCallOrigin, this, 0, inst); + case 1: return new BlackBoxBehavior_DescribedEntityAssignment_4(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// responseTimeSpecification=ResponseTimeSpecification +protected class BlackBoxBehavior_ResponseTimeSpecificationAssignment_6_1 extends AssignmentToken { + + public BlackBoxBehavior_ResponseTimeSpecificationAssignment_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBlackBoxBehaviorAccess().getResponseTimeSpecificationAssignment_6_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ResponseTimeSpecification_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("responseTimeSpecification",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("responseTimeSpecification"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getResponseTimeSpecificationRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getBlackBoxBehaviorAccess().getResponseTimeSpecificationResponseTimeSpecificationParserRuleCall_6_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new BlackBoxBehavior_ResponseTimeSpecificationKeyword_6_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class BlackBoxBehavior_RightCurlyBracketKeyword_7 extends KeywordToken { + + public BlackBoxBehavior_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBlackBoxBehaviorAccess().getRightCurlyBracketKeyword_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BlackBoxBehavior_Group_6(lastRuleCallOrigin, this, 0, inst); + case 1: return new BlackBoxBehavior_Group_5(lastRuleCallOrigin, this, 1, inst); + case 2: return new BlackBoxBehavior_DescribedEntityAssignment_4(lastRuleCallOrigin, this, 2, inst); + default: return null; + } + } + +} + + +/************ end Rule BlackBoxBehavior ****************/ + + +/************ begin Rule RequiredRole **************** + * + * RequiredRole returns repository::RequiredRole: + * "RequiredRole" id=EString "{" "name" name=EString "interface" interface=[repository::Interface|EString] "}"; + * + **/ + +// "RequiredRole" id=EString "{" "name" name=EString "interface" interface=[repository::Interface|EString] "}" +protected class RequiredRole_Group extends GroupToken { + + public RequiredRole_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getRequiredRoleAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredRole_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getRequiredRoleRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "RequiredRole" +protected class RequiredRole_RequiredRoleKeyword_0 extends KeywordToken { + + public RequiredRole_RequiredRoleKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRequiredRoleAccess().getRequiredRoleKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// id=EString +protected class RequiredRole_IdAssignment_1 extends AssignmentToken { + + public RequiredRole_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getRequiredRoleAccess().getIdAssignment_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredRole_RequiredRoleKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("id",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getRequiredRoleAccess().getIdEStringParserRuleCall_1_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getRequiredRoleAccess().getIdEStringParserRuleCall_1_0(); + return obj; + } + return null; + } + +} + +// "{" +protected class RequiredRole_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public RequiredRole_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRequiredRoleAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredRole_IdAssignment_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "name" +protected class RequiredRole_NameKeyword_3 extends KeywordToken { + + public RequiredRole_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRequiredRoleAccess().getNameKeyword_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredRole_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// name=EString +protected class RequiredRole_NameAssignment_4 extends AssignmentToken { + + public RequiredRole_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getRequiredRoleAccess().getNameAssignment_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredRole_NameKeyword_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getRequiredRoleAccess().getNameEStringParserRuleCall_4_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getRequiredRoleAccess().getNameEStringParserRuleCall_4_0(); + return obj; + } + return null; + } + +} + +// "interface" +protected class RequiredRole_InterfaceKeyword_5 extends KeywordToken { + + public RequiredRole_InterfaceKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRequiredRoleAccess().getInterfaceKeyword_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredRole_NameAssignment_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// interface=[repository::Interface|EString] +protected class RequiredRole_InterfaceAssignment_6 extends AssignmentToken { + + public RequiredRole_InterfaceAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getRequiredRoleAccess().getInterfaceAssignment_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredRole_InterfaceKeyword_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("interface",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("interface"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceCrossReference_6_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceCrossReference_6_0(); + return obj; + } + } + return null; + } + +} + +// "}" +protected class RequiredRole_RightCurlyBracketKeyword_7 extends KeywordToken { + + public RequiredRole_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRequiredRoleAccess().getRightCurlyBracketKeyword_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredRole_InterfaceAssignment_6(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule RequiredRole ****************/ + + +/************ begin Rule CoarseGrainedBehavior **************** + * + * CoarseGrainedBehavior returns servicebehavior::CoarseGrainedBehavior: + * "CoarseGrainedBehavior" "{" ("describedSignature" describedSignature=[repository::Signature|EString])? + * "describedEntity" describedEntity=[repository::InterfaceProvidingRequiringEntity|EString] ("influencingParameter" "{" + * influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* "}")? + * ("externalCallFrequency" "{" externalCallFrequency+=ExternalCallFrequency ("," + * externalCallFrequency+=ExternalCallFrequency)* "}")? ("resourceDemandSpecification" "{" + * resourceDemandSpecification+=ResourceDemandSpecification ("," + * resourceDemandSpecification+=ResourceDemandSpecification)* "}")? "}"; + * + **/ + +// "CoarseGrainedBehavior" "{" ("describedSignature" describedSignature=[repository::Signature|EString])? "describedEntity" +// describedEntity=[repository::InterfaceProvidingRequiringEntity|EString] ("influencingParameter" "{" +// influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* "}")? +// ("externalCallFrequency" "{" externalCallFrequency+=ExternalCallFrequency ("," +// externalCallFrequency+=ExternalCallFrequency)* "}")? ("resourceDemandSpecification" "{" +// resourceDemandSpecification+=ResourceDemandSpecification ("," +// resourceDemandSpecification+=ResourceDemandSpecification)* "}")? "}" +protected class CoarseGrainedBehavior_Group extends GroupToken { + + public CoarseGrainedBehavior_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_RightCurlyBracketKeyword_8(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getCoarseGrainedBehaviorRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "CoarseGrainedBehavior" +protected class CoarseGrainedBehavior_CoarseGrainedBehaviorKeyword_0 extends KeywordToken { + + public CoarseGrainedBehavior_CoarseGrainedBehaviorKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getCoarseGrainedBehaviorKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// "{" +protected class CoarseGrainedBehavior_LeftCurlyBracketKeyword_1 extends KeywordToken { + + public CoarseGrainedBehavior_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getLeftCurlyBracketKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_CoarseGrainedBehaviorKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// ("describedSignature" describedSignature=[repository::Signature|EString])? +protected class CoarseGrainedBehavior_Group_2 extends GroupToken { + + public CoarseGrainedBehavior_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getGroup_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_DescribedSignatureAssignment_2_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "describedSignature" +protected class CoarseGrainedBehavior_DescribedSignatureKeyword_2_0 extends KeywordToken { + + public CoarseGrainedBehavior_DescribedSignatureKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedSignatureKeyword_2_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// describedSignature=[repository::Signature|EString] +protected class CoarseGrainedBehavior_DescribedSignatureAssignment_2_1 extends AssignmentToken { + + public CoarseGrainedBehavior_DescribedSignatureAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedSignatureAssignment_2_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_DescribedSignatureKeyword_2_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("describedSignature",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("describedSignature"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedSignatureSignatureCrossReference_2_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedSignatureSignatureCrossReference_2_1_0(); + return obj; + } + } + return null; + } + +} + + +// "describedEntity" +protected class CoarseGrainedBehavior_DescribedEntityKeyword_3 extends KeywordToken { + + public CoarseGrainedBehavior_DescribedEntityKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedEntityKeyword_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_Group_2(lastRuleCallOrigin, this, 0, inst); + case 1: return new CoarseGrainedBehavior_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// describedEntity=[repository::InterfaceProvidingRequiringEntity|EString] +protected class CoarseGrainedBehavior_DescribedEntityAssignment_4 extends AssignmentToken { + + public CoarseGrainedBehavior_DescribedEntityAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedEntityAssignment_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_DescribedEntityKeyword_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("describedEntity",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("describedEntity"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedEntityInterfaceProvidingRequiringEntityCrossReference_4_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedEntityInterfaceProvidingRequiringEntityCrossReference_4_0(); + return obj; + } + } + return null; + } + +} + +// ("influencingParameter" "{" influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* +// "}")? +protected class CoarseGrainedBehavior_Group_5 extends GroupToken { + + public CoarseGrainedBehavior_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getGroup_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_RightCurlyBracketKeyword_5_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "influencingParameter" +protected class CoarseGrainedBehavior_InfluencingParameterKeyword_5_0 extends KeywordToken { + + public CoarseGrainedBehavior_InfluencingParameterKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getInfluencingParameterKeyword_5_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_DescribedEntityAssignment_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "{" +protected class CoarseGrainedBehavior_LeftCurlyBracketKeyword_5_1 extends KeywordToken { + + public CoarseGrainedBehavior_LeftCurlyBracketKeyword_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getLeftCurlyBracketKeyword_5_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_InfluencingParameterKeyword_5_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// influencingParameter+=InfluencingParameter +protected class CoarseGrainedBehavior_InfluencingParameterAssignment_5_2 extends AssignmentToken { + + public CoarseGrainedBehavior_InfluencingParameterAssignment_5_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getInfluencingParameterAssignment_5_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencingParameter_Alternatives(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("influencingParameter",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("influencingParameter"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getInfluencingParameterRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getCoarseGrainedBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new CoarseGrainedBehavior_LeftCurlyBracketKeyword_5_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," influencingParameter+=InfluencingParameter)* +protected class CoarseGrainedBehavior_Group_5_3 extends GroupToken { + + public CoarseGrainedBehavior_Group_5_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getGroup_5_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_InfluencingParameterAssignment_5_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class CoarseGrainedBehavior_CommaKeyword_5_3_0 extends KeywordToken { + + public CoarseGrainedBehavior_CommaKeyword_5_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getCommaKeyword_5_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_Group_5_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new CoarseGrainedBehavior_InfluencingParameterAssignment_5_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// influencingParameter+=InfluencingParameter +protected class CoarseGrainedBehavior_InfluencingParameterAssignment_5_3_1 extends AssignmentToken { + + public CoarseGrainedBehavior_InfluencingParameterAssignment_5_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getInfluencingParameterAssignment_5_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencingParameter_Alternatives(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("influencingParameter",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("influencingParameter"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getInfluencingParameterRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getCoarseGrainedBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new CoarseGrainedBehavior_CommaKeyword_5_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class CoarseGrainedBehavior_RightCurlyBracketKeyword_5_4 extends KeywordToken { + + public CoarseGrainedBehavior_RightCurlyBracketKeyword_5_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getRightCurlyBracketKeyword_5_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_Group_5_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new CoarseGrainedBehavior_InfluencingParameterAssignment_5_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("externalCallFrequency" "{" externalCallFrequency+=ExternalCallFrequency ("," +// externalCallFrequency+=ExternalCallFrequency)* "}")? +protected class CoarseGrainedBehavior_Group_6 extends GroupToken { + + public CoarseGrainedBehavior_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getGroup_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_RightCurlyBracketKeyword_6_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "externalCallFrequency" +protected class CoarseGrainedBehavior_ExternalCallFrequencyKeyword_6_0 extends KeywordToken { + + public CoarseGrainedBehavior_ExternalCallFrequencyKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getExternalCallFrequencyKeyword_6_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_Group_5(lastRuleCallOrigin, this, 0, inst); + case 1: return new CoarseGrainedBehavior_DescribedEntityAssignment_4(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// "{" +protected class CoarseGrainedBehavior_LeftCurlyBracketKeyword_6_1 extends KeywordToken { + + public CoarseGrainedBehavior_LeftCurlyBracketKeyword_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getLeftCurlyBracketKeyword_6_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_ExternalCallFrequencyKeyword_6_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// externalCallFrequency+=ExternalCallFrequency +protected class CoarseGrainedBehavior_ExternalCallFrequencyAssignment_6_2 extends AssignmentToken { + + public CoarseGrainedBehavior_ExternalCallFrequencyAssignment_6_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getExternalCallFrequencyAssignment_6_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallFrequency_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("externalCallFrequency",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("externalCallFrequency"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getExternalCallFrequencyRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getCoarseGrainedBehaviorAccess().getExternalCallFrequencyExternalCallFrequencyParserRuleCall_6_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new CoarseGrainedBehavior_LeftCurlyBracketKeyword_6_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," externalCallFrequency+=ExternalCallFrequency)* +protected class CoarseGrainedBehavior_Group_6_3 extends GroupToken { + + public CoarseGrainedBehavior_Group_6_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getGroup_6_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_ExternalCallFrequencyAssignment_6_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class CoarseGrainedBehavior_CommaKeyword_6_3_0 extends KeywordToken { + + public CoarseGrainedBehavior_CommaKeyword_6_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getCommaKeyword_6_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_Group_6_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new CoarseGrainedBehavior_ExternalCallFrequencyAssignment_6_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// externalCallFrequency+=ExternalCallFrequency +protected class CoarseGrainedBehavior_ExternalCallFrequencyAssignment_6_3_1 extends AssignmentToken { + + public CoarseGrainedBehavior_ExternalCallFrequencyAssignment_6_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getExternalCallFrequencyAssignment_6_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallFrequency_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("externalCallFrequency",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("externalCallFrequency"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getExternalCallFrequencyRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getCoarseGrainedBehaviorAccess().getExternalCallFrequencyExternalCallFrequencyParserRuleCall_6_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new CoarseGrainedBehavior_CommaKeyword_6_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class CoarseGrainedBehavior_RightCurlyBracketKeyword_6_4 extends KeywordToken { + + public CoarseGrainedBehavior_RightCurlyBracketKeyword_6_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getRightCurlyBracketKeyword_6_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_Group_6_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new CoarseGrainedBehavior_ExternalCallFrequencyAssignment_6_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("resourceDemandSpecification" "{" resourceDemandSpecification+=ResourceDemandSpecification ("," +// resourceDemandSpecification+=ResourceDemandSpecification)* "}")? +protected class CoarseGrainedBehavior_Group_7 extends GroupToken { + + public CoarseGrainedBehavior_Group_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getGroup_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_RightCurlyBracketKeyword_7_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "resourceDemandSpecification" +protected class CoarseGrainedBehavior_ResourceDemandSpecificationKeyword_7_0 extends KeywordToken { + + public CoarseGrainedBehavior_ResourceDemandSpecificationKeyword_7_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getResourceDemandSpecificationKeyword_7_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_Group_6(lastRuleCallOrigin, this, 0, inst); + case 1: return new CoarseGrainedBehavior_Group_5(lastRuleCallOrigin, this, 1, inst); + case 2: return new CoarseGrainedBehavior_DescribedEntityAssignment_4(lastRuleCallOrigin, this, 2, inst); + default: return null; + } + } + +} + +// "{" +protected class CoarseGrainedBehavior_LeftCurlyBracketKeyword_7_1 extends KeywordToken { + + public CoarseGrainedBehavior_LeftCurlyBracketKeyword_7_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getLeftCurlyBracketKeyword_7_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_ResourceDemandSpecificationKeyword_7_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// resourceDemandSpecification+=ResourceDemandSpecification +protected class CoarseGrainedBehavior_ResourceDemandSpecificationAssignment_7_2 extends AssignmentToken { + + public CoarseGrainedBehavior_ResourceDemandSpecificationAssignment_7_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getResourceDemandSpecificationAssignment_7_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ResourceDemandSpecification_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("resourceDemandSpecification",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("resourceDemandSpecification"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getResourceDemandSpecificationRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getCoarseGrainedBehaviorAccess().getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_7_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new CoarseGrainedBehavior_LeftCurlyBracketKeyword_7_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," resourceDemandSpecification+=ResourceDemandSpecification)* +protected class CoarseGrainedBehavior_Group_7_3 extends GroupToken { + + public CoarseGrainedBehavior_Group_7_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getGroup_7_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_ResourceDemandSpecificationAssignment_7_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class CoarseGrainedBehavior_CommaKeyword_7_3_0 extends KeywordToken { + + public CoarseGrainedBehavior_CommaKeyword_7_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getCommaKeyword_7_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_Group_7_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new CoarseGrainedBehavior_ResourceDemandSpecificationAssignment_7_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// resourceDemandSpecification+=ResourceDemandSpecification +protected class CoarseGrainedBehavior_ResourceDemandSpecificationAssignment_7_3_1 extends AssignmentToken { + + public CoarseGrainedBehavior_ResourceDemandSpecificationAssignment_7_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getResourceDemandSpecificationAssignment_7_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ResourceDemandSpecification_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("resourceDemandSpecification",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("resourceDemandSpecification"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getResourceDemandSpecificationRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getCoarseGrainedBehaviorAccess().getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_7_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new CoarseGrainedBehavior_CommaKeyword_7_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class CoarseGrainedBehavior_RightCurlyBracketKeyword_7_4 extends KeywordToken { + + public CoarseGrainedBehavior_RightCurlyBracketKeyword_7_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getRightCurlyBracketKeyword_7_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_Group_7_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new CoarseGrainedBehavior_ResourceDemandSpecificationAssignment_7_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// "}" +protected class CoarseGrainedBehavior_RightCurlyBracketKeyword_8 extends KeywordToken { + + public CoarseGrainedBehavior_RightCurlyBracketKeyword_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCoarseGrainedBehaviorAccess().getRightCurlyBracketKeyword_8(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_Group_7(lastRuleCallOrigin, this, 0, inst); + case 1: return new CoarseGrainedBehavior_Group_6(lastRuleCallOrigin, this, 1, inst); + case 2: return new CoarseGrainedBehavior_Group_5(lastRuleCallOrigin, this, 2, inst); + case 3: return new CoarseGrainedBehavior_DescribedEntityAssignment_4(lastRuleCallOrigin, this, 3, inst); + default: return null; + } + } + +} + + +/************ end Rule CoarseGrainedBehavior ****************/ + + +/************ begin Rule BasicComponent **************** + * + * BasicComponent returns repository::BasicComponent: + * "BasicComponent" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] ("," + * relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole ("," + * providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," + * blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole ("," + * requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior ("," + * coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? ("passiveResources" "{" + * passiveResources+=PassiveResourceSpecification ("," passiveResources+=PassiveResourceSpecification)* "}")? + * ("fineGrainedBehavior" "{" fineGrainedBehavior+=FineGrainedBehavior ("," fineGrainedBehavior+=FineGrainedBehavior)* + * "}")? "}"; + * + **/ + +// "BasicComponent" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] ("," +// relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole ("," +// providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," +// blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole ("," +// requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior ("," +// coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? ("passiveResources" "{" +// passiveResources+=PassiveResourceSpecification ("," passiveResources+=PassiveResourceSpecification)* "}")? +// ("fineGrainedBehavior" "{" fineGrainedBehavior+=FineGrainedBehavior ("," fineGrainedBehavior+=FineGrainedBehavior)* +// "}")? "}" +protected class BasicComponent_Group extends GroupToken { + + public BasicComponent_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_RightCurlyBracketKeyword_12(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getBasicComponentRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "BasicComponent" +protected class BasicComponent_BasicComponentKeyword_0 extends KeywordToken { + + public BasicComponent_BasicComponentKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getBasicComponentKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// id=EString +protected class BasicComponent_IdAssignment_1 extends AssignmentToken { + + public BasicComponent_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getIdAssignment_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_BasicComponentKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("id",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getBasicComponentAccess().getIdEStringParserRuleCall_1_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getBasicComponentAccess().getIdEStringParserRuleCall_1_0(); + return obj; + } + return null; + } + +} + +// "{" +protected class BasicComponent_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public BasicComponent_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_IdAssignment_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "name" +protected class BasicComponent_NameKeyword_3 extends KeywordToken { + + public BasicComponent_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getNameKeyword_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// name=EString +protected class BasicComponent_NameAssignment_4 extends AssignmentToken { + + public BasicComponent_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getNameAssignment_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_NameKeyword_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getBasicComponentAccess().getNameEStringParserRuleCall_4_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getBasicComponentAccess().getNameEStringParserRuleCall_4_0(); + return obj; + } + return null; + } + +} + +// ("relationship" "(" relationship+=[Relationship|EString] ("," relationship+=[Relationship|EString])* ")")? +protected class BasicComponent_Group_5 extends GroupToken { + + public BasicComponent_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getGroup_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_RightParenthesisKeyword_5_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "relationship" +protected class BasicComponent_RelationshipKeyword_5_0 extends KeywordToken { + + public BasicComponent_RelationshipKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getRelationshipKeyword_5_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_NameAssignment_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "(" +protected class BasicComponent_LeftParenthesisKeyword_5_1 extends KeywordToken { + + public BasicComponent_LeftParenthesisKeyword_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getLeftParenthesisKeyword_5_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_RelationshipKeyword_5_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// relationship+=[Relationship|EString] +protected class BasicComponent_RelationshipAssignment_5_2 extends AssignmentToken { + + public BasicComponent_RelationshipAssignment_5_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getRelationshipAssignment_5_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_LeftParenthesisKeyword_5_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("relationship",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("relationship"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getBasicComponentAccess().getRelationshipRelationshipCrossReference_5_2_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getBasicComponentAccess().getRelationshipRelationshipCrossReference_5_2_0(); + return obj; + } + } + return null; + } + +} + +// ("," relationship+=[Relationship|EString])* +protected class BasicComponent_Group_5_3 extends GroupToken { + + public BasicComponent_Group_5_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getGroup_5_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_RelationshipAssignment_5_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class BasicComponent_CommaKeyword_5_3_0 extends KeywordToken { + + public BasicComponent_CommaKeyword_5_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getCommaKeyword_5_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_Group_5_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new BasicComponent_RelationshipAssignment_5_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// relationship+=[Relationship|EString] +protected class BasicComponent_RelationshipAssignment_5_3_1 extends AssignmentToken { + + public BasicComponent_RelationshipAssignment_5_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getRelationshipAssignment_5_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_CommaKeyword_5_3_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("relationship",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("relationship"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getBasicComponentAccess().getRelationshipRelationshipCrossReference_5_3_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getBasicComponentAccess().getRelationshipRelationshipCrossReference_5_3_1_0(); + return obj; + } + } + return null; + } + +} + + +// ")" +protected class BasicComponent_RightParenthesisKeyword_5_4 extends KeywordToken { + + public BasicComponent_RightParenthesisKeyword_5_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getRightParenthesisKeyword_5_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_Group_5_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new BasicComponent_RelationshipAssignment_5_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("providedRoles" "{" providedRoles+=ProvidedRole ("," providedRoles+=ProvidedRole)* "}")? +protected class BasicComponent_Group_6 extends GroupToken { + + public BasicComponent_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getGroup_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_RightCurlyBracketKeyword_6_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "providedRoles" +protected class BasicComponent_ProvidedRolesKeyword_6_0 extends KeywordToken { + + public BasicComponent_ProvidedRolesKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getProvidedRolesKeyword_6_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_Group_5(lastRuleCallOrigin, this, 0, inst); + case 1: return new BasicComponent_NameAssignment_4(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// "{" +protected class BasicComponent_LeftCurlyBracketKeyword_6_1 extends KeywordToken { + + public BasicComponent_LeftCurlyBracketKeyword_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_6_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_ProvidedRolesKeyword_6_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// providedRoles+=ProvidedRole +protected class BasicComponent_ProvidedRolesAssignment_6_2 extends AssignmentToken { + + public BasicComponent_ProvidedRolesAssignment_6_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getProvidedRolesAssignment_6_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedRole_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("providedRoles",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("providedRoles"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getProvidedRoleRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getBasicComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_6_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new BasicComponent_LeftCurlyBracketKeyword_6_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," providedRoles+=ProvidedRole)* +protected class BasicComponent_Group_6_3 extends GroupToken { + + public BasicComponent_Group_6_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getGroup_6_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_ProvidedRolesAssignment_6_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class BasicComponent_CommaKeyword_6_3_0 extends KeywordToken { + + public BasicComponent_CommaKeyword_6_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getCommaKeyword_6_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_Group_6_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new BasicComponent_ProvidedRolesAssignment_6_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// providedRoles+=ProvidedRole +protected class BasicComponent_ProvidedRolesAssignment_6_3_1 extends AssignmentToken { + + public BasicComponent_ProvidedRolesAssignment_6_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getProvidedRolesAssignment_6_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedRole_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("providedRoles",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("providedRoles"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getProvidedRoleRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getBasicComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new BasicComponent_CommaKeyword_6_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class BasicComponent_RightCurlyBracketKeyword_6_4 extends KeywordToken { + + public BasicComponent_RightCurlyBracketKeyword_6_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_6_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_Group_6_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new BasicComponent_ProvidedRolesAssignment_6_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," blackBoxBehavior+=BlackBoxBehavior)* "}")? +protected class BasicComponent_Group_7 extends GroupToken { + + public BasicComponent_Group_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getGroup_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_RightCurlyBracketKeyword_7_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "blackBoxBehavior" +protected class BasicComponent_BlackBoxBehaviorKeyword_7_0 extends KeywordToken { + + public BasicComponent_BlackBoxBehaviorKeyword_7_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getBlackBoxBehaviorKeyword_7_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_Group_6(lastRuleCallOrigin, this, 0, inst); + case 1: return new BasicComponent_Group_5(lastRuleCallOrigin, this, 1, inst); + case 2: return new BasicComponent_NameAssignment_4(lastRuleCallOrigin, this, 2, inst); + default: return null; + } + } + +} + +// "{" +protected class BasicComponent_LeftCurlyBracketKeyword_7_1 extends KeywordToken { + + public BasicComponent_LeftCurlyBracketKeyword_7_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_7_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_BlackBoxBehaviorKeyword_7_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// blackBoxBehavior+=BlackBoxBehavior +protected class BasicComponent_BlackBoxBehaviorAssignment_7_2 extends AssignmentToken { + + public BasicComponent_BlackBoxBehaviorAssignment_7_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getBlackBoxBehaviorAssignment_7_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BlackBoxBehavior_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("blackBoxBehavior",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("blackBoxBehavior"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getBlackBoxBehaviorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getBasicComponentAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new BasicComponent_LeftCurlyBracketKeyword_7_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," blackBoxBehavior+=BlackBoxBehavior)* +protected class BasicComponent_Group_7_3 extends GroupToken { + + public BasicComponent_Group_7_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getGroup_7_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_BlackBoxBehaviorAssignment_7_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class BasicComponent_CommaKeyword_7_3_0 extends KeywordToken { + + public BasicComponent_CommaKeyword_7_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getCommaKeyword_7_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_Group_7_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new BasicComponent_BlackBoxBehaviorAssignment_7_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// blackBoxBehavior+=BlackBoxBehavior +protected class BasicComponent_BlackBoxBehaviorAssignment_7_3_1 extends AssignmentToken { + + public BasicComponent_BlackBoxBehaviorAssignment_7_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getBlackBoxBehaviorAssignment_7_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BlackBoxBehavior_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("blackBoxBehavior",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("blackBoxBehavior"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getBlackBoxBehaviorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getBasicComponentAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new BasicComponent_CommaKeyword_7_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class BasicComponent_RightCurlyBracketKeyword_7_4 extends KeywordToken { + + public BasicComponent_RightCurlyBracketKeyword_7_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_7_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_Group_7_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new BasicComponent_BlackBoxBehaviorAssignment_7_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("requiredRoles" "{" requiredRoles+=RequiredRole ("," requiredRoles+=RequiredRole)* "}")? +protected class BasicComponent_Group_8 extends GroupToken { + + public BasicComponent_Group_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getGroup_8(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_RightCurlyBracketKeyword_8_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "requiredRoles" +protected class BasicComponent_RequiredRolesKeyword_8_0 extends KeywordToken { + + public BasicComponent_RequiredRolesKeyword_8_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getRequiredRolesKeyword_8_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_Group_7(lastRuleCallOrigin, this, 0, inst); + case 1: return new BasicComponent_Group_6(lastRuleCallOrigin, this, 1, inst); + case 2: return new BasicComponent_Group_5(lastRuleCallOrigin, this, 2, inst); + case 3: return new BasicComponent_NameAssignment_4(lastRuleCallOrigin, this, 3, inst); + default: return null; + } + } + +} + +// "{" +protected class BasicComponent_LeftCurlyBracketKeyword_8_1 extends KeywordToken { + + public BasicComponent_LeftCurlyBracketKeyword_8_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_8_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_RequiredRolesKeyword_8_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// requiredRoles+=RequiredRole +protected class BasicComponent_RequiredRolesAssignment_8_2 extends AssignmentToken { + + public BasicComponent_RequiredRolesAssignment_8_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getRequiredRolesAssignment_8_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredRole_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("requiredRoles",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiredRoles"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getRequiredRoleRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getBasicComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_8_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new BasicComponent_LeftCurlyBracketKeyword_8_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," requiredRoles+=RequiredRole)* +protected class BasicComponent_Group_8_3 extends GroupToken { + + public BasicComponent_Group_8_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getGroup_8_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_RequiredRolesAssignment_8_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class BasicComponent_CommaKeyword_8_3_0 extends KeywordToken { + + public BasicComponent_CommaKeyword_8_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getCommaKeyword_8_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_Group_8_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new BasicComponent_RequiredRolesAssignment_8_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// requiredRoles+=RequiredRole +protected class BasicComponent_RequiredRolesAssignment_8_3_1 extends AssignmentToken { + + public BasicComponent_RequiredRolesAssignment_8_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getRequiredRolesAssignment_8_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredRole_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("requiredRoles",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiredRoles"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getRequiredRoleRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getBasicComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new BasicComponent_CommaKeyword_8_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class BasicComponent_RightCurlyBracketKeyword_8_4 extends KeywordToken { + + public BasicComponent_RightCurlyBracketKeyword_8_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_8_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_Group_8_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new BasicComponent_RequiredRolesAssignment_8_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior ("," +// coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? +protected class BasicComponent_Group_9 extends GroupToken { + + public BasicComponent_Group_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getGroup_9(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_RightCurlyBracketKeyword_9_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "coarseGrainedBehavior" +protected class BasicComponent_CoarseGrainedBehaviorKeyword_9_0 extends KeywordToken { + + public BasicComponent_CoarseGrainedBehaviorKeyword_9_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getCoarseGrainedBehaviorKeyword_9_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_Group_8(lastRuleCallOrigin, this, 0, inst); + case 1: return new BasicComponent_Group_7(lastRuleCallOrigin, this, 1, inst); + case 2: return new BasicComponent_Group_6(lastRuleCallOrigin, this, 2, inst); + case 3: return new BasicComponent_Group_5(lastRuleCallOrigin, this, 3, inst); + case 4: return new BasicComponent_NameAssignment_4(lastRuleCallOrigin, this, 4, inst); + default: return null; + } + } + +} + +// "{" +protected class BasicComponent_LeftCurlyBracketKeyword_9_1 extends KeywordToken { + + public BasicComponent_LeftCurlyBracketKeyword_9_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_9_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_CoarseGrainedBehaviorKeyword_9_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// coarseGrainedBehavior+=CoarseGrainedBehavior +protected class BasicComponent_CoarseGrainedBehaviorAssignment_9_2 extends AssignmentToken { + + public BasicComponent_CoarseGrainedBehaviorAssignment_9_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getCoarseGrainedBehaviorAssignment_9_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("coarseGrainedBehavior",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("coarseGrainedBehavior"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getCoarseGrainedBehaviorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getBasicComponentAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new BasicComponent_LeftCurlyBracketKeyword_9_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," coarseGrainedBehavior+=CoarseGrainedBehavior)* +protected class BasicComponent_Group_9_3 extends GroupToken { + + public BasicComponent_Group_9_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getGroup_9_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_CoarseGrainedBehaviorAssignment_9_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class BasicComponent_CommaKeyword_9_3_0 extends KeywordToken { + + public BasicComponent_CommaKeyword_9_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getCommaKeyword_9_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_Group_9_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new BasicComponent_CoarseGrainedBehaviorAssignment_9_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// coarseGrainedBehavior+=CoarseGrainedBehavior +protected class BasicComponent_CoarseGrainedBehaviorAssignment_9_3_1 extends AssignmentToken { + + public BasicComponent_CoarseGrainedBehaviorAssignment_9_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getCoarseGrainedBehaviorAssignment_9_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("coarseGrainedBehavior",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("coarseGrainedBehavior"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getCoarseGrainedBehaviorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getBasicComponentAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new BasicComponent_CommaKeyword_9_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class BasicComponent_RightCurlyBracketKeyword_9_4 extends KeywordToken { + + public BasicComponent_RightCurlyBracketKeyword_9_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_9_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_Group_9_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new BasicComponent_CoarseGrainedBehaviorAssignment_9_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("passiveResources" "{" passiveResources+=PassiveResourceSpecification ("," +// passiveResources+=PassiveResourceSpecification)* "}")? +protected class BasicComponent_Group_10 extends GroupToken { + + public BasicComponent_Group_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getGroup_10(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_RightCurlyBracketKeyword_10_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "passiveResources" +protected class BasicComponent_PassiveResourcesKeyword_10_0 extends KeywordToken { + + public BasicComponent_PassiveResourcesKeyword_10_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getPassiveResourcesKeyword_10_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_Group_9(lastRuleCallOrigin, this, 0, inst); + case 1: return new BasicComponent_Group_8(lastRuleCallOrigin, this, 1, inst); + case 2: return new BasicComponent_Group_7(lastRuleCallOrigin, this, 2, inst); + case 3: return new BasicComponent_Group_6(lastRuleCallOrigin, this, 3, inst); + case 4: return new BasicComponent_Group_5(lastRuleCallOrigin, this, 4, inst); + case 5: return new BasicComponent_NameAssignment_4(lastRuleCallOrigin, this, 5, inst); + default: return null; + } + } + +} + +// "{" +protected class BasicComponent_LeftCurlyBracketKeyword_10_1 extends KeywordToken { + + public BasicComponent_LeftCurlyBracketKeyword_10_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_10_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_PassiveResourcesKeyword_10_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// passiveResources+=PassiveResourceSpecification +protected class BasicComponent_PassiveResourcesAssignment_10_2 extends AssignmentToken { + + public BasicComponent_PassiveResourcesAssignment_10_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getPassiveResourcesAssignment_10_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PassiveResourceSpecification_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("passiveResources",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("passiveResources"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getPassiveResourceSpecificationRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getBasicComponentAccess().getPassiveResourcesPassiveResourceSpecificationParserRuleCall_10_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new BasicComponent_LeftCurlyBracketKeyword_10_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," passiveResources+=PassiveResourceSpecification)* +protected class BasicComponent_Group_10_3 extends GroupToken { + + public BasicComponent_Group_10_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getGroup_10_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_PassiveResourcesAssignment_10_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class BasicComponent_CommaKeyword_10_3_0 extends KeywordToken { + + public BasicComponent_CommaKeyword_10_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getCommaKeyword_10_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_Group_10_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new BasicComponent_PassiveResourcesAssignment_10_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// passiveResources+=PassiveResourceSpecification +protected class BasicComponent_PassiveResourcesAssignment_10_3_1 extends AssignmentToken { + + public BasicComponent_PassiveResourcesAssignment_10_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getPassiveResourcesAssignment_10_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PassiveResourceSpecification_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("passiveResources",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("passiveResources"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getPassiveResourceSpecificationRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getBasicComponentAccess().getPassiveResourcesPassiveResourceSpecificationParserRuleCall_10_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new BasicComponent_CommaKeyword_10_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class BasicComponent_RightCurlyBracketKeyword_10_4 extends KeywordToken { + + public BasicComponent_RightCurlyBracketKeyword_10_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_10_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_Group_10_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new BasicComponent_PassiveResourcesAssignment_10_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("fineGrainedBehavior" "{" fineGrainedBehavior+=FineGrainedBehavior ("," fineGrainedBehavior+=FineGrainedBehavior)* +// "}")? +protected class BasicComponent_Group_11 extends GroupToken { + + public BasicComponent_Group_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getGroup_11(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_RightCurlyBracketKeyword_11_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "fineGrainedBehavior" +protected class BasicComponent_FineGrainedBehaviorKeyword_11_0 extends KeywordToken { + + public BasicComponent_FineGrainedBehaviorKeyword_11_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getFineGrainedBehaviorKeyword_11_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_Group_10(lastRuleCallOrigin, this, 0, inst); + case 1: return new BasicComponent_Group_9(lastRuleCallOrigin, this, 1, inst); + case 2: return new BasicComponent_Group_8(lastRuleCallOrigin, this, 2, inst); + case 3: return new BasicComponent_Group_7(lastRuleCallOrigin, this, 3, inst); + case 4: return new BasicComponent_Group_6(lastRuleCallOrigin, this, 4, inst); + case 5: return new BasicComponent_Group_5(lastRuleCallOrigin, this, 5, inst); + case 6: return new BasicComponent_NameAssignment_4(lastRuleCallOrigin, this, 6, inst); + default: return null; + } + } + +} + +// "{" +protected class BasicComponent_LeftCurlyBracketKeyword_11_1 extends KeywordToken { + + public BasicComponent_LeftCurlyBracketKeyword_11_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_11_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_FineGrainedBehaviorKeyword_11_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// fineGrainedBehavior+=FineGrainedBehavior +protected class BasicComponent_FineGrainedBehaviorAssignment_11_2 extends AssignmentToken { + + public BasicComponent_FineGrainedBehaviorAssignment_11_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getFineGrainedBehaviorAssignment_11_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new FineGrainedBehavior_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("fineGrainedBehavior",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("fineGrainedBehavior"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getFineGrainedBehaviorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getBasicComponentAccess().getFineGrainedBehaviorFineGrainedBehaviorParserRuleCall_11_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new BasicComponent_LeftCurlyBracketKeyword_11_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," fineGrainedBehavior+=FineGrainedBehavior)* +protected class BasicComponent_Group_11_3 extends GroupToken { + + public BasicComponent_Group_11_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getGroup_11_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_FineGrainedBehaviorAssignment_11_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class BasicComponent_CommaKeyword_11_3_0 extends KeywordToken { + + public BasicComponent_CommaKeyword_11_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getCommaKeyword_11_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_Group_11_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new BasicComponent_FineGrainedBehaviorAssignment_11_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// fineGrainedBehavior+=FineGrainedBehavior +protected class BasicComponent_FineGrainedBehaviorAssignment_11_3_1 extends AssignmentToken { + + public BasicComponent_FineGrainedBehaviorAssignment_11_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getFineGrainedBehaviorAssignment_11_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new FineGrainedBehavior_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("fineGrainedBehavior",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("fineGrainedBehavior"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getFineGrainedBehaviorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getBasicComponentAccess().getFineGrainedBehaviorFineGrainedBehaviorParserRuleCall_11_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new BasicComponent_CommaKeyword_11_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class BasicComponent_RightCurlyBracketKeyword_11_4 extends KeywordToken { + + public BasicComponent_RightCurlyBracketKeyword_11_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_11_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_Group_11_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new BasicComponent_FineGrainedBehaviorAssignment_11_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// "}" +protected class BasicComponent_RightCurlyBracketKeyword_12 extends KeywordToken { + + public BasicComponent_RightCurlyBracketKeyword_12(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_12(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BasicComponent_Group_11(lastRuleCallOrigin, this, 0, inst); + case 1: return new BasicComponent_Group_10(lastRuleCallOrigin, this, 1, inst); + case 2: return new BasicComponent_Group_9(lastRuleCallOrigin, this, 2, inst); + case 3: return new BasicComponent_Group_8(lastRuleCallOrigin, this, 3, inst); + case 4: return new BasicComponent_Group_7(lastRuleCallOrigin, this, 4, inst); + case 5: return new BasicComponent_Group_6(lastRuleCallOrigin, this, 5, inst); + case 6: return new BasicComponent_Group_5(lastRuleCallOrigin, this, 6, inst); + case 7: return new BasicComponent_NameAssignment_4(lastRuleCallOrigin, this, 7, inst); + default: return null; + } + } + +} + + +/************ end Rule BasicComponent ****************/ + + +/************ begin Rule CompositeComponent **************** + * + * CompositeComponent returns repository::CompositeComponent: + * "CompositeComponent" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] ("," + * relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole ("," + * providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," + * blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole ("," + * requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior ("," + * coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? ("assemblyContexts" "{" assemblyContexts+=AssemblyContext ("," + * assemblyContexts+=AssemblyContext)* "}")? ("assemblyConnectors" "{" assemblyConnectors+=AssemblyConnector ("," + * assemblyConnectors+=AssemblyConnector)* "}")? ("providedDelegationConnectors" "{" + * providedDelegationConnectors+=ProvidedDelegationConnector ("," + * providedDelegationConnectors+=ProvidedDelegationConnector)* "}")? ("requiredDelegationConnectors" "{" + * requiredDelegationConnectors+=RequiredDelegationConnector ("," + * requiredDelegationConnectors+=RequiredDelegationConnector)* "}")? "}"; + * + **/ + +// "CompositeComponent" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] ("," +// relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole ("," +// providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," +// blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole ("," +// requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior ("," +// coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? ("assemblyContexts" "{" assemblyContexts+=AssemblyContext ("," +// assemblyContexts+=AssemblyContext)* "}")? ("assemblyConnectors" "{" assemblyConnectors+=AssemblyConnector ("," +// assemblyConnectors+=AssemblyConnector)* "}")? ("providedDelegationConnectors" "{" +// providedDelegationConnectors+=ProvidedDelegationConnector ("," +// providedDelegationConnectors+=ProvidedDelegationConnector)* "}")? ("requiredDelegationConnectors" "{" +// requiredDelegationConnectors+=RequiredDelegationConnector ("," +// requiredDelegationConnectors+=RequiredDelegationConnector)* "}")? "}" +protected class CompositeComponent_Group extends GroupToken { + + public CompositeComponent_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_RightCurlyBracketKeyword_14(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getCompositeComponentRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "CompositeComponent" +protected class CompositeComponent_CompositeComponentKeyword_0 extends KeywordToken { + + public CompositeComponent_CompositeComponentKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getCompositeComponentKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// id=EString +protected class CompositeComponent_IdAssignment_1 extends AssignmentToken { + + public CompositeComponent_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getIdAssignment_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_CompositeComponentKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("id",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getCompositeComponentAccess().getIdEStringParserRuleCall_1_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getCompositeComponentAccess().getIdEStringParserRuleCall_1_0(); + return obj; + } + return null; + } + +} + +// "{" +protected class CompositeComponent_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public CompositeComponent_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_IdAssignment_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "name" +protected class CompositeComponent_NameKeyword_3 extends KeywordToken { + + public CompositeComponent_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getNameKeyword_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// name=EString +protected class CompositeComponent_NameAssignment_4 extends AssignmentToken { + + public CompositeComponent_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getNameAssignment_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_NameKeyword_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getCompositeComponentAccess().getNameEStringParserRuleCall_4_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getCompositeComponentAccess().getNameEStringParserRuleCall_4_0(); + return obj; + } + return null; + } + +} + +// ("relationship" "(" relationship+=[Relationship|EString] ("," relationship+=[Relationship|EString])* ")")? +protected class CompositeComponent_Group_5 extends GroupToken { + + public CompositeComponent_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getGroup_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_RightParenthesisKeyword_5_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "relationship" +protected class CompositeComponent_RelationshipKeyword_5_0 extends KeywordToken { + + public CompositeComponent_RelationshipKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getRelationshipKeyword_5_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_NameAssignment_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "(" +protected class CompositeComponent_LeftParenthesisKeyword_5_1 extends KeywordToken { + + public CompositeComponent_LeftParenthesisKeyword_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getLeftParenthesisKeyword_5_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_RelationshipKeyword_5_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// relationship+=[Relationship|EString] +protected class CompositeComponent_RelationshipAssignment_5_2 extends AssignmentToken { + + public CompositeComponent_RelationshipAssignment_5_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getRelationshipAssignment_5_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_LeftParenthesisKeyword_5_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("relationship",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("relationship"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getCompositeComponentAccess().getRelationshipRelationshipCrossReference_5_2_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getCompositeComponentAccess().getRelationshipRelationshipCrossReference_5_2_0(); + return obj; + } + } + return null; + } + +} + +// ("," relationship+=[Relationship|EString])* +protected class CompositeComponent_Group_5_3 extends GroupToken { + + public CompositeComponent_Group_5_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getGroup_5_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_RelationshipAssignment_5_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class CompositeComponent_CommaKeyword_5_3_0 extends KeywordToken { + + public CompositeComponent_CommaKeyword_5_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getCommaKeyword_5_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_Group_5_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeComponent_RelationshipAssignment_5_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// relationship+=[Relationship|EString] +protected class CompositeComponent_RelationshipAssignment_5_3_1 extends AssignmentToken { + + public CompositeComponent_RelationshipAssignment_5_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getRelationshipAssignment_5_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_CommaKeyword_5_3_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("relationship",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("relationship"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getCompositeComponentAccess().getRelationshipRelationshipCrossReference_5_3_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getCompositeComponentAccess().getRelationshipRelationshipCrossReference_5_3_1_0(); + return obj; + } + } + return null; + } + +} + + +// ")" +protected class CompositeComponent_RightParenthesisKeyword_5_4 extends KeywordToken { + + public CompositeComponent_RightParenthesisKeyword_5_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getRightParenthesisKeyword_5_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_Group_5_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeComponent_RelationshipAssignment_5_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("providedRoles" "{" providedRoles+=ProvidedRole ("," providedRoles+=ProvidedRole)* "}")? +protected class CompositeComponent_Group_6 extends GroupToken { + + public CompositeComponent_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getGroup_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_RightCurlyBracketKeyword_6_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "providedRoles" +protected class CompositeComponent_ProvidedRolesKeyword_6_0 extends KeywordToken { + + public CompositeComponent_ProvidedRolesKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getProvidedRolesKeyword_6_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_Group_5(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeComponent_NameAssignment_4(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// "{" +protected class CompositeComponent_LeftCurlyBracketKeyword_6_1 extends KeywordToken { + + public CompositeComponent_LeftCurlyBracketKeyword_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_6_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_ProvidedRolesKeyword_6_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// providedRoles+=ProvidedRole +protected class CompositeComponent_ProvidedRolesAssignment_6_2 extends AssignmentToken { + + public CompositeComponent_ProvidedRolesAssignment_6_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getProvidedRolesAssignment_6_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedRole_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("providedRoles",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("providedRoles"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getProvidedRoleRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getCompositeComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_6_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new CompositeComponent_LeftCurlyBracketKeyword_6_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," providedRoles+=ProvidedRole)* +protected class CompositeComponent_Group_6_3 extends GroupToken { + + public CompositeComponent_Group_6_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getGroup_6_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_ProvidedRolesAssignment_6_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class CompositeComponent_CommaKeyword_6_3_0 extends KeywordToken { + + public CompositeComponent_CommaKeyword_6_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getCommaKeyword_6_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_Group_6_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeComponent_ProvidedRolesAssignment_6_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// providedRoles+=ProvidedRole +protected class CompositeComponent_ProvidedRolesAssignment_6_3_1 extends AssignmentToken { + + public CompositeComponent_ProvidedRolesAssignment_6_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getProvidedRolesAssignment_6_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedRole_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("providedRoles",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("providedRoles"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getProvidedRoleRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getCompositeComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new CompositeComponent_CommaKeyword_6_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class CompositeComponent_RightCurlyBracketKeyword_6_4 extends KeywordToken { + + public CompositeComponent_RightCurlyBracketKeyword_6_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_6_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_Group_6_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeComponent_ProvidedRolesAssignment_6_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," blackBoxBehavior+=BlackBoxBehavior)* "}")? +protected class CompositeComponent_Group_7 extends GroupToken { + + public CompositeComponent_Group_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getGroup_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_RightCurlyBracketKeyword_7_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "blackBoxBehavior" +protected class CompositeComponent_BlackBoxBehaviorKeyword_7_0 extends KeywordToken { + + public CompositeComponent_BlackBoxBehaviorKeyword_7_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getBlackBoxBehaviorKeyword_7_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_Group_6(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeComponent_Group_5(lastRuleCallOrigin, this, 1, inst); + case 2: return new CompositeComponent_NameAssignment_4(lastRuleCallOrigin, this, 2, inst); + default: return null; + } + } + +} + +// "{" +protected class CompositeComponent_LeftCurlyBracketKeyword_7_1 extends KeywordToken { + + public CompositeComponent_LeftCurlyBracketKeyword_7_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_7_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_BlackBoxBehaviorKeyword_7_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// blackBoxBehavior+=BlackBoxBehavior +protected class CompositeComponent_BlackBoxBehaviorAssignment_7_2 extends AssignmentToken { + + public CompositeComponent_BlackBoxBehaviorAssignment_7_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getBlackBoxBehaviorAssignment_7_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BlackBoxBehavior_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("blackBoxBehavior",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("blackBoxBehavior"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getBlackBoxBehaviorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getCompositeComponentAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new CompositeComponent_LeftCurlyBracketKeyword_7_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," blackBoxBehavior+=BlackBoxBehavior)* +protected class CompositeComponent_Group_7_3 extends GroupToken { + + public CompositeComponent_Group_7_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getGroup_7_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_BlackBoxBehaviorAssignment_7_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class CompositeComponent_CommaKeyword_7_3_0 extends KeywordToken { + + public CompositeComponent_CommaKeyword_7_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getCommaKeyword_7_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_Group_7_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeComponent_BlackBoxBehaviorAssignment_7_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// blackBoxBehavior+=BlackBoxBehavior +protected class CompositeComponent_BlackBoxBehaviorAssignment_7_3_1 extends AssignmentToken { + + public CompositeComponent_BlackBoxBehaviorAssignment_7_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getBlackBoxBehaviorAssignment_7_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BlackBoxBehavior_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("blackBoxBehavior",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("blackBoxBehavior"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getBlackBoxBehaviorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getCompositeComponentAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new CompositeComponent_CommaKeyword_7_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class CompositeComponent_RightCurlyBracketKeyword_7_4 extends KeywordToken { + + public CompositeComponent_RightCurlyBracketKeyword_7_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_7_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_Group_7_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeComponent_BlackBoxBehaviorAssignment_7_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("requiredRoles" "{" requiredRoles+=RequiredRole ("," requiredRoles+=RequiredRole)* "}")? +protected class CompositeComponent_Group_8 extends GroupToken { + + public CompositeComponent_Group_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getGroup_8(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_RightCurlyBracketKeyword_8_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "requiredRoles" +protected class CompositeComponent_RequiredRolesKeyword_8_0 extends KeywordToken { + + public CompositeComponent_RequiredRolesKeyword_8_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getRequiredRolesKeyword_8_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_Group_7(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeComponent_Group_6(lastRuleCallOrigin, this, 1, inst); + case 2: return new CompositeComponent_Group_5(lastRuleCallOrigin, this, 2, inst); + case 3: return new CompositeComponent_NameAssignment_4(lastRuleCallOrigin, this, 3, inst); + default: return null; + } + } + +} + +// "{" +protected class CompositeComponent_LeftCurlyBracketKeyword_8_1 extends KeywordToken { + + public CompositeComponent_LeftCurlyBracketKeyword_8_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_8_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_RequiredRolesKeyword_8_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// requiredRoles+=RequiredRole +protected class CompositeComponent_RequiredRolesAssignment_8_2 extends AssignmentToken { + + public CompositeComponent_RequiredRolesAssignment_8_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getRequiredRolesAssignment_8_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredRole_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("requiredRoles",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiredRoles"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getRequiredRoleRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getCompositeComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_8_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new CompositeComponent_LeftCurlyBracketKeyword_8_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," requiredRoles+=RequiredRole)* +protected class CompositeComponent_Group_8_3 extends GroupToken { + + public CompositeComponent_Group_8_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getGroup_8_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_RequiredRolesAssignment_8_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class CompositeComponent_CommaKeyword_8_3_0 extends KeywordToken { + + public CompositeComponent_CommaKeyword_8_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getCommaKeyword_8_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_Group_8_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeComponent_RequiredRolesAssignment_8_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// requiredRoles+=RequiredRole +protected class CompositeComponent_RequiredRolesAssignment_8_3_1 extends AssignmentToken { + + public CompositeComponent_RequiredRolesAssignment_8_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getRequiredRolesAssignment_8_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredRole_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("requiredRoles",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiredRoles"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getRequiredRoleRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getCompositeComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new CompositeComponent_CommaKeyword_8_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class CompositeComponent_RightCurlyBracketKeyword_8_4 extends KeywordToken { + + public CompositeComponent_RightCurlyBracketKeyword_8_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_8_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_Group_8_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeComponent_RequiredRolesAssignment_8_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior ("," +// coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? +protected class CompositeComponent_Group_9 extends GroupToken { + + public CompositeComponent_Group_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getGroup_9(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_RightCurlyBracketKeyword_9_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "coarseGrainedBehavior" +protected class CompositeComponent_CoarseGrainedBehaviorKeyword_9_0 extends KeywordToken { + + public CompositeComponent_CoarseGrainedBehaviorKeyword_9_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getCoarseGrainedBehaviorKeyword_9_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_Group_8(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeComponent_Group_7(lastRuleCallOrigin, this, 1, inst); + case 2: return new CompositeComponent_Group_6(lastRuleCallOrigin, this, 2, inst); + case 3: return new CompositeComponent_Group_5(lastRuleCallOrigin, this, 3, inst); + case 4: return new CompositeComponent_NameAssignment_4(lastRuleCallOrigin, this, 4, inst); + default: return null; + } + } + +} + +// "{" +protected class CompositeComponent_LeftCurlyBracketKeyword_9_1 extends KeywordToken { + + public CompositeComponent_LeftCurlyBracketKeyword_9_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_9_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_CoarseGrainedBehaviorKeyword_9_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// coarseGrainedBehavior+=CoarseGrainedBehavior +protected class CompositeComponent_CoarseGrainedBehaviorAssignment_9_2 extends AssignmentToken { + + public CompositeComponent_CoarseGrainedBehaviorAssignment_9_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getCoarseGrainedBehaviorAssignment_9_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("coarseGrainedBehavior",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("coarseGrainedBehavior"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getCoarseGrainedBehaviorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getCompositeComponentAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new CompositeComponent_LeftCurlyBracketKeyword_9_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," coarseGrainedBehavior+=CoarseGrainedBehavior)* +protected class CompositeComponent_Group_9_3 extends GroupToken { + + public CompositeComponent_Group_9_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getGroup_9_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_CoarseGrainedBehaviorAssignment_9_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class CompositeComponent_CommaKeyword_9_3_0 extends KeywordToken { + + public CompositeComponent_CommaKeyword_9_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getCommaKeyword_9_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_Group_9_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeComponent_CoarseGrainedBehaviorAssignment_9_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// coarseGrainedBehavior+=CoarseGrainedBehavior +protected class CompositeComponent_CoarseGrainedBehaviorAssignment_9_3_1 extends AssignmentToken { + + public CompositeComponent_CoarseGrainedBehaviorAssignment_9_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getCoarseGrainedBehaviorAssignment_9_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("coarseGrainedBehavior",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("coarseGrainedBehavior"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getCoarseGrainedBehaviorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getCompositeComponentAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new CompositeComponent_CommaKeyword_9_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class CompositeComponent_RightCurlyBracketKeyword_9_4 extends KeywordToken { + + public CompositeComponent_RightCurlyBracketKeyword_9_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_9_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_Group_9_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeComponent_CoarseGrainedBehaviorAssignment_9_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("assemblyContexts" "{" assemblyContexts+=AssemblyContext ("," assemblyContexts+=AssemblyContext)* "}")? +protected class CompositeComponent_Group_10 extends GroupToken { + + public CompositeComponent_Group_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getGroup_10(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_RightCurlyBracketKeyword_10_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "assemblyContexts" +protected class CompositeComponent_AssemblyContextsKeyword_10_0 extends KeywordToken { + + public CompositeComponent_AssemblyContextsKeyword_10_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getAssemblyContextsKeyword_10_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_Group_9(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeComponent_Group_8(lastRuleCallOrigin, this, 1, inst); + case 2: return new CompositeComponent_Group_7(lastRuleCallOrigin, this, 2, inst); + case 3: return new CompositeComponent_Group_6(lastRuleCallOrigin, this, 3, inst); + case 4: return new CompositeComponent_Group_5(lastRuleCallOrigin, this, 4, inst); + case 5: return new CompositeComponent_NameAssignment_4(lastRuleCallOrigin, this, 5, inst); + default: return null; + } + } + +} + +// "{" +protected class CompositeComponent_LeftCurlyBracketKeyword_10_1 extends KeywordToken { + + public CompositeComponent_LeftCurlyBracketKeyword_10_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_10_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_AssemblyContextsKeyword_10_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// assemblyContexts+=AssemblyContext +protected class CompositeComponent_AssemblyContextsAssignment_10_2 extends AssignmentToken { + + public CompositeComponent_AssemblyContextsAssignment_10_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getAssemblyContextsAssignment_10_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AssemblyContext_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("assemblyContexts",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("assemblyContexts"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getAssemblyContextRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getCompositeComponentAccess().getAssemblyContextsAssemblyContextParserRuleCall_10_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new CompositeComponent_LeftCurlyBracketKeyword_10_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," assemblyContexts+=AssemblyContext)* +protected class CompositeComponent_Group_10_3 extends GroupToken { + + public CompositeComponent_Group_10_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getGroup_10_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_AssemblyContextsAssignment_10_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class CompositeComponent_CommaKeyword_10_3_0 extends KeywordToken { + + public CompositeComponent_CommaKeyword_10_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getCommaKeyword_10_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_Group_10_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeComponent_AssemblyContextsAssignment_10_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// assemblyContexts+=AssemblyContext +protected class CompositeComponent_AssemblyContextsAssignment_10_3_1 extends AssignmentToken { + + public CompositeComponent_AssemblyContextsAssignment_10_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getAssemblyContextsAssignment_10_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AssemblyContext_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("assemblyContexts",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("assemblyContexts"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getAssemblyContextRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getCompositeComponentAccess().getAssemblyContextsAssemblyContextParserRuleCall_10_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new CompositeComponent_CommaKeyword_10_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class CompositeComponent_RightCurlyBracketKeyword_10_4 extends KeywordToken { + + public CompositeComponent_RightCurlyBracketKeyword_10_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_10_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_Group_10_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeComponent_AssemblyContextsAssignment_10_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("assemblyConnectors" "{" assemblyConnectors+=AssemblyConnector ("," assemblyConnectors+=AssemblyConnector)* "}")? +protected class CompositeComponent_Group_11 extends GroupToken { + + public CompositeComponent_Group_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getGroup_11(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_RightCurlyBracketKeyword_11_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "assemblyConnectors" +protected class CompositeComponent_AssemblyConnectorsKeyword_11_0 extends KeywordToken { + + public CompositeComponent_AssemblyConnectorsKeyword_11_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getAssemblyConnectorsKeyword_11_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_Group_10(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeComponent_Group_9(lastRuleCallOrigin, this, 1, inst); + case 2: return new CompositeComponent_Group_8(lastRuleCallOrigin, this, 2, inst); + case 3: return new CompositeComponent_Group_7(lastRuleCallOrigin, this, 3, inst); + case 4: return new CompositeComponent_Group_6(lastRuleCallOrigin, this, 4, inst); + case 5: return new CompositeComponent_Group_5(lastRuleCallOrigin, this, 5, inst); + case 6: return new CompositeComponent_NameAssignment_4(lastRuleCallOrigin, this, 6, inst); + default: return null; + } + } + +} + +// "{" +protected class CompositeComponent_LeftCurlyBracketKeyword_11_1 extends KeywordToken { + + public CompositeComponent_LeftCurlyBracketKeyword_11_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_11_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_AssemblyConnectorsKeyword_11_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// assemblyConnectors+=AssemblyConnector +protected class CompositeComponent_AssemblyConnectorsAssignment_11_2 extends AssignmentToken { + + public CompositeComponent_AssemblyConnectorsAssignment_11_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getAssemblyConnectorsAssignment_11_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AssemblyConnector_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("assemblyConnectors",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("assemblyConnectors"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getAssemblyConnectorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getCompositeComponentAccess().getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new CompositeComponent_LeftCurlyBracketKeyword_11_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," assemblyConnectors+=AssemblyConnector)* +protected class CompositeComponent_Group_11_3 extends GroupToken { + + public CompositeComponent_Group_11_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getGroup_11_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_AssemblyConnectorsAssignment_11_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class CompositeComponent_CommaKeyword_11_3_0 extends KeywordToken { + + public CompositeComponent_CommaKeyword_11_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getCommaKeyword_11_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_Group_11_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeComponent_AssemblyConnectorsAssignment_11_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// assemblyConnectors+=AssemblyConnector +protected class CompositeComponent_AssemblyConnectorsAssignment_11_3_1 extends AssignmentToken { + + public CompositeComponent_AssemblyConnectorsAssignment_11_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getAssemblyConnectorsAssignment_11_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AssemblyConnector_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("assemblyConnectors",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("assemblyConnectors"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getAssemblyConnectorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getCompositeComponentAccess().getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new CompositeComponent_CommaKeyword_11_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class CompositeComponent_RightCurlyBracketKeyword_11_4 extends KeywordToken { + + public CompositeComponent_RightCurlyBracketKeyword_11_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_11_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_Group_11_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeComponent_AssemblyConnectorsAssignment_11_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("providedDelegationConnectors" "{" providedDelegationConnectors+=ProvidedDelegationConnector ("," +// providedDelegationConnectors+=ProvidedDelegationConnector)* "}")? +protected class CompositeComponent_Group_12 extends GroupToken { + + public CompositeComponent_Group_12(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getGroup_12(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_RightCurlyBracketKeyword_12_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "providedDelegationConnectors" +protected class CompositeComponent_ProvidedDelegationConnectorsKeyword_12_0 extends KeywordToken { + + public CompositeComponent_ProvidedDelegationConnectorsKeyword_12_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getProvidedDelegationConnectorsKeyword_12_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_Group_11(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeComponent_Group_10(lastRuleCallOrigin, this, 1, inst); + case 2: return new CompositeComponent_Group_9(lastRuleCallOrigin, this, 2, inst); + case 3: return new CompositeComponent_Group_8(lastRuleCallOrigin, this, 3, inst); + case 4: return new CompositeComponent_Group_7(lastRuleCallOrigin, this, 4, inst); + case 5: return new CompositeComponent_Group_6(lastRuleCallOrigin, this, 5, inst); + case 6: return new CompositeComponent_Group_5(lastRuleCallOrigin, this, 6, inst); + case 7: return new CompositeComponent_NameAssignment_4(lastRuleCallOrigin, this, 7, inst); + default: return null; + } + } + +} + +// "{" +protected class CompositeComponent_LeftCurlyBracketKeyword_12_1 extends KeywordToken { + + public CompositeComponent_LeftCurlyBracketKeyword_12_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_12_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_ProvidedDelegationConnectorsKeyword_12_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// providedDelegationConnectors+=ProvidedDelegationConnector +protected class CompositeComponent_ProvidedDelegationConnectorsAssignment_12_2 extends AssignmentToken { + + public CompositeComponent_ProvidedDelegationConnectorsAssignment_12_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getProvidedDelegationConnectorsAssignment_12_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedDelegationConnector_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("providedDelegationConnectors",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("providedDelegationConnectors"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getProvidedDelegationConnectorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getCompositeComponentAccess().getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new CompositeComponent_LeftCurlyBracketKeyword_12_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," providedDelegationConnectors+=ProvidedDelegationConnector)* +protected class CompositeComponent_Group_12_3 extends GroupToken { + + public CompositeComponent_Group_12_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getGroup_12_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_ProvidedDelegationConnectorsAssignment_12_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class CompositeComponent_CommaKeyword_12_3_0 extends KeywordToken { + + public CompositeComponent_CommaKeyword_12_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getCommaKeyword_12_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_Group_12_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeComponent_ProvidedDelegationConnectorsAssignment_12_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// providedDelegationConnectors+=ProvidedDelegationConnector +protected class CompositeComponent_ProvidedDelegationConnectorsAssignment_12_3_1 extends AssignmentToken { + + public CompositeComponent_ProvidedDelegationConnectorsAssignment_12_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getProvidedDelegationConnectorsAssignment_12_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedDelegationConnector_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("providedDelegationConnectors",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("providedDelegationConnectors"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getProvidedDelegationConnectorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getCompositeComponentAccess().getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new CompositeComponent_CommaKeyword_12_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class CompositeComponent_RightCurlyBracketKeyword_12_4 extends KeywordToken { + + public CompositeComponent_RightCurlyBracketKeyword_12_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_12_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_Group_12_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeComponent_ProvidedDelegationConnectorsAssignment_12_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("requiredDelegationConnectors" "{" requiredDelegationConnectors+=RequiredDelegationConnector ("," +// requiredDelegationConnectors+=RequiredDelegationConnector)* "}")? +protected class CompositeComponent_Group_13 extends GroupToken { + + public CompositeComponent_Group_13(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getGroup_13(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_RightCurlyBracketKeyword_13_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "requiredDelegationConnectors" +protected class CompositeComponent_RequiredDelegationConnectorsKeyword_13_0 extends KeywordToken { + + public CompositeComponent_RequiredDelegationConnectorsKeyword_13_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getRequiredDelegationConnectorsKeyword_13_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_Group_12(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeComponent_Group_11(lastRuleCallOrigin, this, 1, inst); + case 2: return new CompositeComponent_Group_10(lastRuleCallOrigin, this, 2, inst); + case 3: return new CompositeComponent_Group_9(lastRuleCallOrigin, this, 3, inst); + case 4: return new CompositeComponent_Group_8(lastRuleCallOrigin, this, 4, inst); + case 5: return new CompositeComponent_Group_7(lastRuleCallOrigin, this, 5, inst); + case 6: return new CompositeComponent_Group_6(lastRuleCallOrigin, this, 6, inst); + case 7: return new CompositeComponent_Group_5(lastRuleCallOrigin, this, 7, inst); + case 8: return new CompositeComponent_NameAssignment_4(lastRuleCallOrigin, this, 8, inst); + default: return null; + } + } + +} + +// "{" +protected class CompositeComponent_LeftCurlyBracketKeyword_13_1 extends KeywordToken { + + public CompositeComponent_LeftCurlyBracketKeyword_13_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_13_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_RequiredDelegationConnectorsKeyword_13_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// requiredDelegationConnectors+=RequiredDelegationConnector +protected class CompositeComponent_RequiredDelegationConnectorsAssignment_13_2 extends AssignmentToken { + + public CompositeComponent_RequiredDelegationConnectorsAssignment_13_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getRequiredDelegationConnectorsAssignment_13_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredDelegationConnector_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("requiredDelegationConnectors",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiredDelegationConnectors"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getRequiredDelegationConnectorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getCompositeComponentAccess().getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new CompositeComponent_LeftCurlyBracketKeyword_13_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," requiredDelegationConnectors+=RequiredDelegationConnector)* +protected class CompositeComponent_Group_13_3 extends GroupToken { + + public CompositeComponent_Group_13_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getGroup_13_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_RequiredDelegationConnectorsAssignment_13_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class CompositeComponent_CommaKeyword_13_3_0 extends KeywordToken { + + public CompositeComponent_CommaKeyword_13_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getCommaKeyword_13_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_Group_13_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeComponent_RequiredDelegationConnectorsAssignment_13_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// requiredDelegationConnectors+=RequiredDelegationConnector +protected class CompositeComponent_RequiredDelegationConnectorsAssignment_13_3_1 extends AssignmentToken { + + public CompositeComponent_RequiredDelegationConnectorsAssignment_13_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getRequiredDelegationConnectorsAssignment_13_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredDelegationConnector_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("requiredDelegationConnectors",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiredDelegationConnectors"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getRequiredDelegationConnectorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getCompositeComponentAccess().getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new CompositeComponent_CommaKeyword_13_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class CompositeComponent_RightCurlyBracketKeyword_13_4 extends KeywordToken { + + public CompositeComponent_RightCurlyBracketKeyword_13_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_13_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_Group_13_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeComponent_RequiredDelegationConnectorsAssignment_13_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// "}" +protected class CompositeComponent_RightCurlyBracketKeyword_14 extends KeywordToken { + + public CompositeComponent_RightCurlyBracketKeyword_14(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_14(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CompositeComponent_Group_13(lastRuleCallOrigin, this, 0, inst); + case 1: return new CompositeComponent_Group_12(lastRuleCallOrigin, this, 1, inst); + case 2: return new CompositeComponent_Group_11(lastRuleCallOrigin, this, 2, inst); + case 3: return new CompositeComponent_Group_10(lastRuleCallOrigin, this, 3, inst); + case 4: return new CompositeComponent_Group_9(lastRuleCallOrigin, this, 4, inst); + case 5: return new CompositeComponent_Group_8(lastRuleCallOrigin, this, 5, inst); + case 6: return new CompositeComponent_Group_7(lastRuleCallOrigin, this, 6, inst); + case 7: return new CompositeComponent_Group_6(lastRuleCallOrigin, this, 7, inst); + case 8: return new CompositeComponent_Group_5(lastRuleCallOrigin, this, 8, inst); + case 9: return new CompositeComponent_NameAssignment_4(lastRuleCallOrigin, this, 9, inst); + default: return null; + } + } + +} + + +/************ end Rule CompositeComponent ****************/ + + +/************ begin Rule SubSystem **************** + * + * SubSystem returns repository::SubSystem: + * "SubSystem" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] ("," + * relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole ("," + * providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," + * blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole ("," + * requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior ("," + * coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? ("assemblyContexts" "{" assemblyContexts+=AssemblyContext ("," + * assemblyContexts+=AssemblyContext)* "}")? ("assemblyConnectors" "{" assemblyConnectors+=AssemblyConnector ("," + * assemblyConnectors+=AssemblyConnector)* "}")? ("providedDelegationConnectors" "{" + * providedDelegationConnectors+=ProvidedDelegationConnector ("," + * providedDelegationConnectors+=ProvidedDelegationConnector)* "}")? ("requiredDelegationConnectors" "{" + * requiredDelegationConnectors+=RequiredDelegationConnector ("," + * requiredDelegationConnectors+=RequiredDelegationConnector)* "}")? "}"; + * + **/ + +// "SubSystem" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] ("," +// relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole ("," +// providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," +// blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole ("," +// requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior ("," +// coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? ("assemblyContexts" "{" assemblyContexts+=AssemblyContext ("," +// assemblyContexts+=AssemblyContext)* "}")? ("assemblyConnectors" "{" assemblyConnectors+=AssemblyConnector ("," +// assemblyConnectors+=AssemblyConnector)* "}")? ("providedDelegationConnectors" "{" +// providedDelegationConnectors+=ProvidedDelegationConnector ("," +// providedDelegationConnectors+=ProvidedDelegationConnector)* "}")? ("requiredDelegationConnectors" "{" +// requiredDelegationConnectors+=RequiredDelegationConnector ("," +// requiredDelegationConnectors+=RequiredDelegationConnector)* "}")? "}" +protected class SubSystem_Group extends GroupToken { + + public SubSystem_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getSubSystemAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_RightCurlyBracketKeyword_14(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getSubSystemRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "SubSystem" +protected class SubSystem_SubSystemKeyword_0 extends KeywordToken { + + public SubSystem_SubSystemKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getSubSystemKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// id=EString +protected class SubSystem_IdAssignment_1 extends AssignmentToken { + + public SubSystem_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getSubSystemAccess().getIdAssignment_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_SubSystemKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("id",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getSubSystemAccess().getIdEStringParserRuleCall_1_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getSubSystemAccess().getIdEStringParserRuleCall_1_0(); + return obj; + } + return null; + } + +} + +// "{" +protected class SubSystem_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public SubSystem_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_IdAssignment_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "name" +protected class SubSystem_NameKeyword_3 extends KeywordToken { + + public SubSystem_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getNameKeyword_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// name=EString +protected class SubSystem_NameAssignment_4 extends AssignmentToken { + + public SubSystem_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getSubSystemAccess().getNameAssignment_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_NameKeyword_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getSubSystemAccess().getNameEStringParserRuleCall_4_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getSubSystemAccess().getNameEStringParserRuleCall_4_0(); + return obj; + } + return null; + } + +} + +// ("relationship" "(" relationship+=[Relationship|EString] ("," relationship+=[Relationship|EString])* ")")? +protected class SubSystem_Group_5 extends GroupToken { + + public SubSystem_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getSubSystemAccess().getGroup_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_RightParenthesisKeyword_5_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "relationship" +protected class SubSystem_RelationshipKeyword_5_0 extends KeywordToken { + + public SubSystem_RelationshipKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getRelationshipKeyword_5_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_NameAssignment_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "(" +protected class SubSystem_LeftParenthesisKeyword_5_1 extends KeywordToken { + + public SubSystem_LeftParenthesisKeyword_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getLeftParenthesisKeyword_5_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_RelationshipKeyword_5_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// relationship+=[Relationship|EString] +protected class SubSystem_RelationshipAssignment_5_2 extends AssignmentToken { + + public SubSystem_RelationshipAssignment_5_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getSubSystemAccess().getRelationshipAssignment_5_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_LeftParenthesisKeyword_5_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("relationship",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("relationship"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getSubSystemAccess().getRelationshipRelationshipCrossReference_5_2_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getSubSystemAccess().getRelationshipRelationshipCrossReference_5_2_0(); + return obj; + } + } + return null; + } + +} + +// ("," relationship+=[Relationship|EString])* +protected class SubSystem_Group_5_3 extends GroupToken { + + public SubSystem_Group_5_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getSubSystemAccess().getGroup_5_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_RelationshipAssignment_5_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class SubSystem_CommaKeyword_5_3_0 extends KeywordToken { + + public SubSystem_CommaKeyword_5_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getCommaKeyword_5_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_Group_5_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new SubSystem_RelationshipAssignment_5_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// relationship+=[Relationship|EString] +protected class SubSystem_RelationshipAssignment_5_3_1 extends AssignmentToken { + + public SubSystem_RelationshipAssignment_5_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getSubSystemAccess().getRelationshipAssignment_5_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_CommaKeyword_5_3_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("relationship",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("relationship"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getSubSystemAccess().getRelationshipRelationshipCrossReference_5_3_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getSubSystemAccess().getRelationshipRelationshipCrossReference_5_3_1_0(); + return obj; + } + } + return null; + } + +} + + +// ")" +protected class SubSystem_RightParenthesisKeyword_5_4 extends KeywordToken { + + public SubSystem_RightParenthesisKeyword_5_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getRightParenthesisKeyword_5_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_Group_5_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new SubSystem_RelationshipAssignment_5_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("providedRoles" "{" providedRoles+=ProvidedRole ("," providedRoles+=ProvidedRole)* "}")? +protected class SubSystem_Group_6 extends GroupToken { + + public SubSystem_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getSubSystemAccess().getGroup_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_RightCurlyBracketKeyword_6_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "providedRoles" +protected class SubSystem_ProvidedRolesKeyword_6_0 extends KeywordToken { + + public SubSystem_ProvidedRolesKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getProvidedRolesKeyword_6_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_Group_5(lastRuleCallOrigin, this, 0, inst); + case 1: return new SubSystem_NameAssignment_4(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// "{" +protected class SubSystem_LeftCurlyBracketKeyword_6_1 extends KeywordToken { + + public SubSystem_LeftCurlyBracketKeyword_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_6_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_ProvidedRolesKeyword_6_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// providedRoles+=ProvidedRole +protected class SubSystem_ProvidedRolesAssignment_6_2 extends AssignmentToken { + + public SubSystem_ProvidedRolesAssignment_6_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getSubSystemAccess().getProvidedRolesAssignment_6_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedRole_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("providedRoles",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("providedRoles"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getProvidedRoleRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getSubSystemAccess().getProvidedRolesProvidedRoleParserRuleCall_6_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new SubSystem_LeftCurlyBracketKeyword_6_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," providedRoles+=ProvidedRole)* +protected class SubSystem_Group_6_3 extends GroupToken { + + public SubSystem_Group_6_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getSubSystemAccess().getGroup_6_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_ProvidedRolesAssignment_6_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class SubSystem_CommaKeyword_6_3_0 extends KeywordToken { + + public SubSystem_CommaKeyword_6_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getCommaKeyword_6_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_Group_6_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new SubSystem_ProvidedRolesAssignment_6_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// providedRoles+=ProvidedRole +protected class SubSystem_ProvidedRolesAssignment_6_3_1 extends AssignmentToken { + + public SubSystem_ProvidedRolesAssignment_6_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getSubSystemAccess().getProvidedRolesAssignment_6_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedRole_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("providedRoles",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("providedRoles"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getProvidedRoleRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getSubSystemAccess().getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new SubSystem_CommaKeyword_6_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class SubSystem_RightCurlyBracketKeyword_6_4 extends KeywordToken { + + public SubSystem_RightCurlyBracketKeyword_6_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_6_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_Group_6_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new SubSystem_ProvidedRolesAssignment_6_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," blackBoxBehavior+=BlackBoxBehavior)* "}")? +protected class SubSystem_Group_7 extends GroupToken { + + public SubSystem_Group_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getSubSystemAccess().getGroup_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_RightCurlyBracketKeyword_7_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "blackBoxBehavior" +protected class SubSystem_BlackBoxBehaviorKeyword_7_0 extends KeywordToken { + + public SubSystem_BlackBoxBehaviorKeyword_7_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getBlackBoxBehaviorKeyword_7_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_Group_6(lastRuleCallOrigin, this, 0, inst); + case 1: return new SubSystem_Group_5(lastRuleCallOrigin, this, 1, inst); + case 2: return new SubSystem_NameAssignment_4(lastRuleCallOrigin, this, 2, inst); + default: return null; + } + } + +} + +// "{" +protected class SubSystem_LeftCurlyBracketKeyword_7_1 extends KeywordToken { + + public SubSystem_LeftCurlyBracketKeyword_7_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_7_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_BlackBoxBehaviorKeyword_7_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// blackBoxBehavior+=BlackBoxBehavior +protected class SubSystem_BlackBoxBehaviorAssignment_7_2 extends AssignmentToken { + + public SubSystem_BlackBoxBehaviorAssignment_7_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getSubSystemAccess().getBlackBoxBehaviorAssignment_7_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BlackBoxBehavior_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("blackBoxBehavior",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("blackBoxBehavior"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getBlackBoxBehaviorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getSubSystemAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new SubSystem_LeftCurlyBracketKeyword_7_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," blackBoxBehavior+=BlackBoxBehavior)* +protected class SubSystem_Group_7_3 extends GroupToken { + + public SubSystem_Group_7_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getSubSystemAccess().getGroup_7_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_BlackBoxBehaviorAssignment_7_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class SubSystem_CommaKeyword_7_3_0 extends KeywordToken { + + public SubSystem_CommaKeyword_7_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getCommaKeyword_7_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_Group_7_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new SubSystem_BlackBoxBehaviorAssignment_7_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// blackBoxBehavior+=BlackBoxBehavior +protected class SubSystem_BlackBoxBehaviorAssignment_7_3_1 extends AssignmentToken { + + public SubSystem_BlackBoxBehaviorAssignment_7_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getSubSystemAccess().getBlackBoxBehaviorAssignment_7_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BlackBoxBehavior_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("blackBoxBehavior",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("blackBoxBehavior"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getBlackBoxBehaviorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getSubSystemAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new SubSystem_CommaKeyword_7_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class SubSystem_RightCurlyBracketKeyword_7_4 extends KeywordToken { + + public SubSystem_RightCurlyBracketKeyword_7_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_7_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_Group_7_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new SubSystem_BlackBoxBehaviorAssignment_7_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("requiredRoles" "{" requiredRoles+=RequiredRole ("," requiredRoles+=RequiredRole)* "}")? +protected class SubSystem_Group_8 extends GroupToken { + + public SubSystem_Group_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getSubSystemAccess().getGroup_8(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_RightCurlyBracketKeyword_8_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "requiredRoles" +protected class SubSystem_RequiredRolesKeyword_8_0 extends KeywordToken { + + public SubSystem_RequiredRolesKeyword_8_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getRequiredRolesKeyword_8_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_Group_7(lastRuleCallOrigin, this, 0, inst); + case 1: return new SubSystem_Group_6(lastRuleCallOrigin, this, 1, inst); + case 2: return new SubSystem_Group_5(lastRuleCallOrigin, this, 2, inst); + case 3: return new SubSystem_NameAssignment_4(lastRuleCallOrigin, this, 3, inst); + default: return null; + } + } + +} + +// "{" +protected class SubSystem_LeftCurlyBracketKeyword_8_1 extends KeywordToken { + + public SubSystem_LeftCurlyBracketKeyword_8_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_8_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_RequiredRolesKeyword_8_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// requiredRoles+=RequiredRole +protected class SubSystem_RequiredRolesAssignment_8_2 extends AssignmentToken { + + public SubSystem_RequiredRolesAssignment_8_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getSubSystemAccess().getRequiredRolesAssignment_8_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredRole_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("requiredRoles",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiredRoles"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getRequiredRoleRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getSubSystemAccess().getRequiredRolesRequiredRoleParserRuleCall_8_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new SubSystem_LeftCurlyBracketKeyword_8_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," requiredRoles+=RequiredRole)* +protected class SubSystem_Group_8_3 extends GroupToken { + + public SubSystem_Group_8_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getSubSystemAccess().getGroup_8_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_RequiredRolesAssignment_8_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class SubSystem_CommaKeyword_8_3_0 extends KeywordToken { + + public SubSystem_CommaKeyword_8_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getCommaKeyword_8_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_Group_8_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new SubSystem_RequiredRolesAssignment_8_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// requiredRoles+=RequiredRole +protected class SubSystem_RequiredRolesAssignment_8_3_1 extends AssignmentToken { + + public SubSystem_RequiredRolesAssignment_8_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getSubSystemAccess().getRequiredRolesAssignment_8_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredRole_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("requiredRoles",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiredRoles"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getRequiredRoleRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getSubSystemAccess().getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new SubSystem_CommaKeyword_8_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class SubSystem_RightCurlyBracketKeyword_8_4 extends KeywordToken { + + public SubSystem_RightCurlyBracketKeyword_8_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_8_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_Group_8_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new SubSystem_RequiredRolesAssignment_8_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior ("," +// coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? +protected class SubSystem_Group_9 extends GroupToken { + + public SubSystem_Group_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getSubSystemAccess().getGroup_9(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_RightCurlyBracketKeyword_9_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "coarseGrainedBehavior" +protected class SubSystem_CoarseGrainedBehaviorKeyword_9_0 extends KeywordToken { + + public SubSystem_CoarseGrainedBehaviorKeyword_9_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getCoarseGrainedBehaviorKeyword_9_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_Group_8(lastRuleCallOrigin, this, 0, inst); + case 1: return new SubSystem_Group_7(lastRuleCallOrigin, this, 1, inst); + case 2: return new SubSystem_Group_6(lastRuleCallOrigin, this, 2, inst); + case 3: return new SubSystem_Group_5(lastRuleCallOrigin, this, 3, inst); + case 4: return new SubSystem_NameAssignment_4(lastRuleCallOrigin, this, 4, inst); + default: return null; + } + } + +} + +// "{" +protected class SubSystem_LeftCurlyBracketKeyword_9_1 extends KeywordToken { + + public SubSystem_LeftCurlyBracketKeyword_9_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_9_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_CoarseGrainedBehaviorKeyword_9_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// coarseGrainedBehavior+=CoarseGrainedBehavior +protected class SubSystem_CoarseGrainedBehaviorAssignment_9_2 extends AssignmentToken { + + public SubSystem_CoarseGrainedBehaviorAssignment_9_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getSubSystemAccess().getCoarseGrainedBehaviorAssignment_9_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("coarseGrainedBehavior",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("coarseGrainedBehavior"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getCoarseGrainedBehaviorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getSubSystemAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new SubSystem_LeftCurlyBracketKeyword_9_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," coarseGrainedBehavior+=CoarseGrainedBehavior)* +protected class SubSystem_Group_9_3 extends GroupToken { + + public SubSystem_Group_9_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getSubSystemAccess().getGroup_9_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_CoarseGrainedBehaviorAssignment_9_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class SubSystem_CommaKeyword_9_3_0 extends KeywordToken { + + public SubSystem_CommaKeyword_9_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getCommaKeyword_9_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_Group_9_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new SubSystem_CoarseGrainedBehaviorAssignment_9_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// coarseGrainedBehavior+=CoarseGrainedBehavior +protected class SubSystem_CoarseGrainedBehaviorAssignment_9_3_1 extends AssignmentToken { + + public SubSystem_CoarseGrainedBehaviorAssignment_9_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getSubSystemAccess().getCoarseGrainedBehaviorAssignment_9_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CoarseGrainedBehavior_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("coarseGrainedBehavior",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("coarseGrainedBehavior"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getCoarseGrainedBehaviorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getSubSystemAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new SubSystem_CommaKeyword_9_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class SubSystem_RightCurlyBracketKeyword_9_4 extends KeywordToken { + + public SubSystem_RightCurlyBracketKeyword_9_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_9_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_Group_9_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new SubSystem_CoarseGrainedBehaviorAssignment_9_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("assemblyContexts" "{" assemblyContexts+=AssemblyContext ("," assemblyContexts+=AssemblyContext)* "}")? +protected class SubSystem_Group_10 extends GroupToken { + + public SubSystem_Group_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getSubSystemAccess().getGroup_10(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_RightCurlyBracketKeyword_10_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "assemblyContexts" +protected class SubSystem_AssemblyContextsKeyword_10_0 extends KeywordToken { + + public SubSystem_AssemblyContextsKeyword_10_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getAssemblyContextsKeyword_10_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_Group_9(lastRuleCallOrigin, this, 0, inst); + case 1: return new SubSystem_Group_8(lastRuleCallOrigin, this, 1, inst); + case 2: return new SubSystem_Group_7(lastRuleCallOrigin, this, 2, inst); + case 3: return new SubSystem_Group_6(lastRuleCallOrigin, this, 3, inst); + case 4: return new SubSystem_Group_5(lastRuleCallOrigin, this, 4, inst); + case 5: return new SubSystem_NameAssignment_4(lastRuleCallOrigin, this, 5, inst); + default: return null; + } + } + +} + +// "{" +protected class SubSystem_LeftCurlyBracketKeyword_10_1 extends KeywordToken { + + public SubSystem_LeftCurlyBracketKeyword_10_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_10_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_AssemblyContextsKeyword_10_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// assemblyContexts+=AssemblyContext +protected class SubSystem_AssemblyContextsAssignment_10_2 extends AssignmentToken { + + public SubSystem_AssemblyContextsAssignment_10_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getSubSystemAccess().getAssemblyContextsAssignment_10_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AssemblyContext_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("assemblyContexts",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("assemblyContexts"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getAssemblyContextRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getSubSystemAccess().getAssemblyContextsAssemblyContextParserRuleCall_10_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new SubSystem_LeftCurlyBracketKeyword_10_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," assemblyContexts+=AssemblyContext)* +protected class SubSystem_Group_10_3 extends GroupToken { + + public SubSystem_Group_10_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getSubSystemAccess().getGroup_10_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_AssemblyContextsAssignment_10_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class SubSystem_CommaKeyword_10_3_0 extends KeywordToken { + + public SubSystem_CommaKeyword_10_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getCommaKeyword_10_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_Group_10_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new SubSystem_AssemblyContextsAssignment_10_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// assemblyContexts+=AssemblyContext +protected class SubSystem_AssemblyContextsAssignment_10_3_1 extends AssignmentToken { + + public SubSystem_AssemblyContextsAssignment_10_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getSubSystemAccess().getAssemblyContextsAssignment_10_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AssemblyContext_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("assemblyContexts",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("assemblyContexts"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getAssemblyContextRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getSubSystemAccess().getAssemblyContextsAssemblyContextParserRuleCall_10_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new SubSystem_CommaKeyword_10_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class SubSystem_RightCurlyBracketKeyword_10_4 extends KeywordToken { + + public SubSystem_RightCurlyBracketKeyword_10_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_10_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_Group_10_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new SubSystem_AssemblyContextsAssignment_10_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("assemblyConnectors" "{" assemblyConnectors+=AssemblyConnector ("," assemblyConnectors+=AssemblyConnector)* "}")? +protected class SubSystem_Group_11 extends GroupToken { + + public SubSystem_Group_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getSubSystemAccess().getGroup_11(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_RightCurlyBracketKeyword_11_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "assemblyConnectors" +protected class SubSystem_AssemblyConnectorsKeyword_11_0 extends KeywordToken { + + public SubSystem_AssemblyConnectorsKeyword_11_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getAssemblyConnectorsKeyword_11_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_Group_10(lastRuleCallOrigin, this, 0, inst); + case 1: return new SubSystem_Group_9(lastRuleCallOrigin, this, 1, inst); + case 2: return new SubSystem_Group_8(lastRuleCallOrigin, this, 2, inst); + case 3: return new SubSystem_Group_7(lastRuleCallOrigin, this, 3, inst); + case 4: return new SubSystem_Group_6(lastRuleCallOrigin, this, 4, inst); + case 5: return new SubSystem_Group_5(lastRuleCallOrigin, this, 5, inst); + case 6: return new SubSystem_NameAssignment_4(lastRuleCallOrigin, this, 6, inst); + default: return null; + } + } + +} + +// "{" +protected class SubSystem_LeftCurlyBracketKeyword_11_1 extends KeywordToken { + + public SubSystem_LeftCurlyBracketKeyword_11_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_11_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_AssemblyConnectorsKeyword_11_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// assemblyConnectors+=AssemblyConnector +protected class SubSystem_AssemblyConnectorsAssignment_11_2 extends AssignmentToken { + + public SubSystem_AssemblyConnectorsAssignment_11_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getSubSystemAccess().getAssemblyConnectorsAssignment_11_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AssemblyConnector_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("assemblyConnectors",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("assemblyConnectors"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getAssemblyConnectorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getSubSystemAccess().getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new SubSystem_LeftCurlyBracketKeyword_11_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," assemblyConnectors+=AssemblyConnector)* +protected class SubSystem_Group_11_3 extends GroupToken { + + public SubSystem_Group_11_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getSubSystemAccess().getGroup_11_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_AssemblyConnectorsAssignment_11_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class SubSystem_CommaKeyword_11_3_0 extends KeywordToken { + + public SubSystem_CommaKeyword_11_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getCommaKeyword_11_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_Group_11_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new SubSystem_AssemblyConnectorsAssignment_11_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// assemblyConnectors+=AssemblyConnector +protected class SubSystem_AssemblyConnectorsAssignment_11_3_1 extends AssignmentToken { + + public SubSystem_AssemblyConnectorsAssignment_11_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getSubSystemAccess().getAssemblyConnectorsAssignment_11_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AssemblyConnector_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("assemblyConnectors",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("assemblyConnectors"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getAssemblyConnectorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getSubSystemAccess().getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new SubSystem_CommaKeyword_11_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class SubSystem_RightCurlyBracketKeyword_11_4 extends KeywordToken { + + public SubSystem_RightCurlyBracketKeyword_11_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_11_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_Group_11_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new SubSystem_AssemblyConnectorsAssignment_11_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("providedDelegationConnectors" "{" providedDelegationConnectors+=ProvidedDelegationConnector ("," +// providedDelegationConnectors+=ProvidedDelegationConnector)* "}")? +protected class SubSystem_Group_12 extends GroupToken { + + public SubSystem_Group_12(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getSubSystemAccess().getGroup_12(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_RightCurlyBracketKeyword_12_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "providedDelegationConnectors" +protected class SubSystem_ProvidedDelegationConnectorsKeyword_12_0 extends KeywordToken { + + public SubSystem_ProvidedDelegationConnectorsKeyword_12_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getProvidedDelegationConnectorsKeyword_12_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_Group_11(lastRuleCallOrigin, this, 0, inst); + case 1: return new SubSystem_Group_10(lastRuleCallOrigin, this, 1, inst); + case 2: return new SubSystem_Group_9(lastRuleCallOrigin, this, 2, inst); + case 3: return new SubSystem_Group_8(lastRuleCallOrigin, this, 3, inst); + case 4: return new SubSystem_Group_7(lastRuleCallOrigin, this, 4, inst); + case 5: return new SubSystem_Group_6(lastRuleCallOrigin, this, 5, inst); + case 6: return new SubSystem_Group_5(lastRuleCallOrigin, this, 6, inst); + case 7: return new SubSystem_NameAssignment_4(lastRuleCallOrigin, this, 7, inst); + default: return null; + } + } + +} + +// "{" +protected class SubSystem_LeftCurlyBracketKeyword_12_1 extends KeywordToken { + + public SubSystem_LeftCurlyBracketKeyword_12_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_12_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_ProvidedDelegationConnectorsKeyword_12_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// providedDelegationConnectors+=ProvidedDelegationConnector +protected class SubSystem_ProvidedDelegationConnectorsAssignment_12_2 extends AssignmentToken { + + public SubSystem_ProvidedDelegationConnectorsAssignment_12_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getSubSystemAccess().getProvidedDelegationConnectorsAssignment_12_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedDelegationConnector_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("providedDelegationConnectors",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("providedDelegationConnectors"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getProvidedDelegationConnectorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getSubSystemAccess().getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new SubSystem_LeftCurlyBracketKeyword_12_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," providedDelegationConnectors+=ProvidedDelegationConnector)* +protected class SubSystem_Group_12_3 extends GroupToken { + + public SubSystem_Group_12_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getSubSystemAccess().getGroup_12_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_ProvidedDelegationConnectorsAssignment_12_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class SubSystem_CommaKeyword_12_3_0 extends KeywordToken { + + public SubSystem_CommaKeyword_12_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getCommaKeyword_12_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_Group_12_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new SubSystem_ProvidedDelegationConnectorsAssignment_12_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// providedDelegationConnectors+=ProvidedDelegationConnector +protected class SubSystem_ProvidedDelegationConnectorsAssignment_12_3_1 extends AssignmentToken { + + public SubSystem_ProvidedDelegationConnectorsAssignment_12_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getSubSystemAccess().getProvidedDelegationConnectorsAssignment_12_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedDelegationConnector_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("providedDelegationConnectors",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("providedDelegationConnectors"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getProvidedDelegationConnectorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getSubSystemAccess().getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new SubSystem_CommaKeyword_12_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class SubSystem_RightCurlyBracketKeyword_12_4 extends KeywordToken { + + public SubSystem_RightCurlyBracketKeyword_12_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_12_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_Group_12_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new SubSystem_ProvidedDelegationConnectorsAssignment_12_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("requiredDelegationConnectors" "{" requiredDelegationConnectors+=RequiredDelegationConnector ("," +// requiredDelegationConnectors+=RequiredDelegationConnector)* "}")? +protected class SubSystem_Group_13 extends GroupToken { + + public SubSystem_Group_13(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getSubSystemAccess().getGroup_13(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_RightCurlyBracketKeyword_13_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "requiredDelegationConnectors" +protected class SubSystem_RequiredDelegationConnectorsKeyword_13_0 extends KeywordToken { + + public SubSystem_RequiredDelegationConnectorsKeyword_13_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getRequiredDelegationConnectorsKeyword_13_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_Group_12(lastRuleCallOrigin, this, 0, inst); + case 1: return new SubSystem_Group_11(lastRuleCallOrigin, this, 1, inst); + case 2: return new SubSystem_Group_10(lastRuleCallOrigin, this, 2, inst); + case 3: return new SubSystem_Group_9(lastRuleCallOrigin, this, 3, inst); + case 4: return new SubSystem_Group_8(lastRuleCallOrigin, this, 4, inst); + case 5: return new SubSystem_Group_7(lastRuleCallOrigin, this, 5, inst); + case 6: return new SubSystem_Group_6(lastRuleCallOrigin, this, 6, inst); + case 7: return new SubSystem_Group_5(lastRuleCallOrigin, this, 7, inst); + case 8: return new SubSystem_NameAssignment_4(lastRuleCallOrigin, this, 8, inst); + default: return null; + } + } + +} + +// "{" +protected class SubSystem_LeftCurlyBracketKeyword_13_1 extends KeywordToken { + + public SubSystem_LeftCurlyBracketKeyword_13_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_13_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_RequiredDelegationConnectorsKeyword_13_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// requiredDelegationConnectors+=RequiredDelegationConnector +protected class SubSystem_RequiredDelegationConnectorsAssignment_13_2 extends AssignmentToken { + + public SubSystem_RequiredDelegationConnectorsAssignment_13_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getSubSystemAccess().getRequiredDelegationConnectorsAssignment_13_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredDelegationConnector_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("requiredDelegationConnectors",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiredDelegationConnectors"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getRequiredDelegationConnectorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getSubSystemAccess().getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new SubSystem_LeftCurlyBracketKeyword_13_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," requiredDelegationConnectors+=RequiredDelegationConnector)* +protected class SubSystem_Group_13_3 extends GroupToken { + + public SubSystem_Group_13_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getSubSystemAccess().getGroup_13_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_RequiredDelegationConnectorsAssignment_13_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class SubSystem_CommaKeyword_13_3_0 extends KeywordToken { + + public SubSystem_CommaKeyword_13_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getCommaKeyword_13_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_Group_13_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new SubSystem_RequiredDelegationConnectorsAssignment_13_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// requiredDelegationConnectors+=RequiredDelegationConnector +protected class SubSystem_RequiredDelegationConnectorsAssignment_13_3_1 extends AssignmentToken { + + public SubSystem_RequiredDelegationConnectorsAssignment_13_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getSubSystemAccess().getRequiredDelegationConnectorsAssignment_13_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredDelegationConnector_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("requiredDelegationConnectors",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiredDelegationConnectors"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getRequiredDelegationConnectorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getSubSystemAccess().getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new SubSystem_CommaKeyword_13_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class SubSystem_RightCurlyBracketKeyword_13_4 extends KeywordToken { + + public SubSystem_RightCurlyBracketKeyword_13_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_13_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_Group_13_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new SubSystem_RequiredDelegationConnectorsAssignment_13_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// "}" +protected class SubSystem_RightCurlyBracketKeyword_14 extends KeywordToken { + + public SubSystem_RightCurlyBracketKeyword_14(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_14(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new SubSystem_Group_13(lastRuleCallOrigin, this, 0, inst); + case 1: return new SubSystem_Group_12(lastRuleCallOrigin, this, 1, inst); + case 2: return new SubSystem_Group_11(lastRuleCallOrigin, this, 2, inst); + case 3: return new SubSystem_Group_10(lastRuleCallOrigin, this, 3, inst); + case 4: return new SubSystem_Group_9(lastRuleCallOrigin, this, 4, inst); + case 5: return new SubSystem_Group_8(lastRuleCallOrigin, this, 5, inst); + case 6: return new SubSystem_Group_7(lastRuleCallOrigin, this, 6, inst); + case 7: return new SubSystem_Group_6(lastRuleCallOrigin, this, 7, inst); + case 8: return new SubSystem_Group_5(lastRuleCallOrigin, this, 8, inst); + case 9: return new SubSystem_NameAssignment_4(lastRuleCallOrigin, this, 9, inst); + default: return null; + } + } + +} + + +/************ end Rule SubSystem ****************/ + + +/************ begin Rule InfluencingParameter_Impl **************** + * + * InfluencingParameter_Impl returns InfluencingParameter: + * "InfluencingParameter" name=EString "{" "description" description=EString "behavior" + * behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? + * "}"; + * + **/ + +// "InfluencingParameter" name=EString "{" "description" description=EString "behavior" +// behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}" +protected class InfluencingParameter_Impl_Group extends GroupToken { + + public InfluencingParameter_Impl_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getInfluencingParameter_ImplAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencingParameter_Impl_RightCurlyBracketKeyword_8(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getInfluencingParameter_ImplRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "InfluencingParameter" +protected class InfluencingParameter_Impl_InfluencingParameterKeyword_0 extends KeywordToken { + + public InfluencingParameter_Impl_InfluencingParameterKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInfluencingParameter_ImplAccess().getInfluencingParameterKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// name=EString +protected class InfluencingParameter_Impl_NameAssignment_1 extends AssignmentToken { + + public InfluencingParameter_Impl_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getInfluencingParameter_ImplAccess().getNameAssignment_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencingParameter_Impl_InfluencingParameterKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getInfluencingParameter_ImplAccess().getNameEStringParserRuleCall_1_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getInfluencingParameter_ImplAccess().getNameEStringParserRuleCall_1_0(); + return obj; + } + return null; + } + +} + +// "{" +protected class InfluencingParameter_Impl_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public InfluencingParameter_Impl_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInfluencingParameter_ImplAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencingParameter_Impl_NameAssignment_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "description" +protected class InfluencingParameter_Impl_DescriptionKeyword_3 extends KeywordToken { + + public InfluencingParameter_Impl_DescriptionKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInfluencingParameter_ImplAccess().getDescriptionKeyword_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencingParameter_Impl_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// description=EString +protected class InfluencingParameter_Impl_DescriptionAssignment_4 extends AssignmentToken { + + public InfluencingParameter_Impl_DescriptionAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getInfluencingParameter_ImplAccess().getDescriptionAssignment_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencingParameter_Impl_DescriptionKeyword_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("description",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("description"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getInfluencingParameter_ImplAccess().getDescriptionEStringParserRuleCall_4_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getInfluencingParameter_ImplAccess().getDescriptionEStringParserRuleCall_4_0(); + return obj; + } + return null; + } + +} + +// "behavior" +protected class InfluencingParameter_Impl_BehaviorKeyword_5 extends KeywordToken { + + public InfluencingParameter_Impl_BehaviorKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInfluencingParameter_ImplAccess().getBehaviorKeyword_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencingParameter_Impl_DescriptionAssignment_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] +protected class InfluencingParameter_Impl_BehaviorAssignment_6 extends AssignmentToken { + + public InfluencingParameter_Impl_BehaviorAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getInfluencingParameter_ImplAccess().getBehaviorAssignment_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencingParameter_Impl_BehaviorKeyword_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("behavior",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("behavior"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getInfluencingParameter_ImplAccess().getBehaviorServiceBehaviorAbstractionCrossReference_6_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getInfluencingParameter_ImplAccess().getBehaviorServiceBehaviorAbstractionCrossReference_6_0(); + return obj; + } + } + return null; + } + +} + +// ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? +protected class InfluencingParameter_Impl_Group_7 extends GroupToken { + + public InfluencingParameter_Impl_Group_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getInfluencingParameter_ImplAccess().getGroup_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencingParameter_Impl_RightCurlyBracketKeyword_7_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "scope" +protected class InfluencingParameter_Impl_ScopeKeyword_7_0 extends KeywordToken { + + public InfluencingParameter_Impl_ScopeKeyword_7_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInfluencingParameter_ImplAccess().getScopeKeyword_7_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencingParameter_Impl_BehaviorAssignment_6(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "{" +protected class InfluencingParameter_Impl_LeftCurlyBracketKeyword_7_1 extends KeywordToken { + + public InfluencingParameter_Impl_LeftCurlyBracketKeyword_7_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInfluencingParameter_ImplAccess().getLeftCurlyBracketKeyword_7_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencingParameter_Impl_ScopeKeyword_7_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// scope+=Scope +protected class InfluencingParameter_Impl_ScopeAssignment_7_2 extends AssignmentToken { + + public InfluencingParameter_Impl_ScopeAssignment_7_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getInfluencingParameter_ImplAccess().getScopeAssignment_7_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Scope_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("scope",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("scope"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getScopeRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getInfluencingParameter_ImplAccess().getScopeScopeParserRuleCall_7_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new InfluencingParameter_Impl_LeftCurlyBracketKeyword_7_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," scope+=Scope)* +protected class InfluencingParameter_Impl_Group_7_3 extends GroupToken { + + public InfluencingParameter_Impl_Group_7_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getInfluencingParameter_ImplAccess().getGroup_7_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencingParameter_Impl_ScopeAssignment_7_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class InfluencingParameter_Impl_CommaKeyword_7_3_0 extends KeywordToken { + + public InfluencingParameter_Impl_CommaKeyword_7_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInfluencingParameter_ImplAccess().getCommaKeyword_7_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencingParameter_Impl_Group_7_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new InfluencingParameter_Impl_ScopeAssignment_7_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// scope+=Scope +protected class InfluencingParameter_Impl_ScopeAssignment_7_3_1 extends AssignmentToken { + + public InfluencingParameter_Impl_ScopeAssignment_7_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getInfluencingParameter_ImplAccess().getScopeAssignment_7_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Scope_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("scope",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("scope"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getScopeRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getInfluencingParameter_ImplAccess().getScopeScopeParserRuleCall_7_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new InfluencingParameter_Impl_CommaKeyword_7_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class InfluencingParameter_Impl_RightCurlyBracketKeyword_7_4 extends KeywordToken { + + public InfluencingParameter_Impl_RightCurlyBracketKeyword_7_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInfluencingParameter_ImplAccess().getRightCurlyBracketKeyword_7_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencingParameter_Impl_Group_7_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new InfluencingParameter_Impl_ScopeAssignment_7_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// "}" +protected class InfluencingParameter_Impl_RightCurlyBracketKeyword_8 extends KeywordToken { + + public InfluencingParameter_Impl_RightCurlyBracketKeyword_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInfluencingParameter_ImplAccess().getRightCurlyBracketKeyword_8(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencingParameter_Impl_Group_7(lastRuleCallOrigin, this, 0, inst); + case 1: return new InfluencingParameter_Impl_BehaviorAssignment_6(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +/************ end Rule InfluencingParameter_Impl ****************/ + + +/************ begin Rule ResponseTimeSpecification **************** + * + * ResponseTimeSpecification returns servicebehavior::ResponseTimeSpecification: + * {servicebehavior::ResponseTimeSpecification} "ResponseTimeSpecification"; + * + **/ + +// {servicebehavior::ResponseTimeSpecification} "ResponseTimeSpecification" +protected class ResponseTimeSpecification_Group extends GroupToken { + + public ResponseTimeSpecification_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getResponseTimeSpecificationAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ResponseTimeSpecification_ResponseTimeSpecificationKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getResponseTimeSpecificationAccess().getResponseTimeSpecificationAction_0().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// {servicebehavior::ResponseTimeSpecification} +protected class ResponseTimeSpecification_ResponseTimeSpecificationAction_0 extends ActionToken { + + public ResponseTimeSpecification_ResponseTimeSpecificationAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Action getGrammarElement() { + return grammarAccess.getResponseTimeSpecificationAccess().getResponseTimeSpecificationAction_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(!eObjectConsumer.isConsumed()) return null; + return eObjectConsumer; + } +} + +// "ResponseTimeSpecification" +protected class ResponseTimeSpecification_ResponseTimeSpecificationKeyword_1 extends KeywordToken { + + public ResponseTimeSpecification_ResponseTimeSpecificationKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getResponseTimeSpecificationAccess().getResponseTimeSpecificationKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ResponseTimeSpecification_ResponseTimeSpecificationAction_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule ResponseTimeSpecification ****************/ + + +/************ begin Rule Scope **************** + * + * Scope: + * "Scope" "{" "interfaceProvidingRequiringEntity" + * interfaceProvidingRequiringEntity=[repository::InterfaceProvidingRequiringEntity|EString] "}"; + * + **/ + +// "Scope" "{" "interfaceProvidingRequiringEntity" +// interfaceProvidingRequiringEntity=[repository::InterfaceProvidingRequiringEntity|EString] "}" +protected class Scope_Group extends GroupToken { + + public Scope_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getScopeAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Scope_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getScopeRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "Scope" +protected class Scope_ScopeKeyword_0 extends KeywordToken { + + public Scope_ScopeKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getScopeAccess().getScopeKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// "{" +protected class Scope_LeftCurlyBracketKeyword_1 extends KeywordToken { + + public Scope_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getScopeAccess().getLeftCurlyBracketKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Scope_ScopeKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "interfaceProvidingRequiringEntity" +protected class Scope_InterfaceProvidingRequiringEntityKeyword_2 extends KeywordToken { + + public Scope_InterfaceProvidingRequiringEntityKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getScopeAccess().getInterfaceProvidingRequiringEntityKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Scope_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// interfaceProvidingRequiringEntity=[repository::InterfaceProvidingRequiringEntity|EString] +protected class Scope_InterfaceProvidingRequiringEntityAssignment_3 extends AssignmentToken { + + public Scope_InterfaceProvidingRequiringEntityAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getScopeAccess().getInterfaceProvidingRequiringEntityAssignment_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Scope_InterfaceProvidingRequiringEntityKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("interfaceProvidingRequiringEntity",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("interfaceProvidingRequiringEntity"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getScopeAccess().getInterfaceProvidingRequiringEntityInterfaceProvidingRequiringEntityCrossReference_3_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getScopeAccess().getInterfaceProvidingRequiringEntityInterfaceProvidingRequiringEntityCrossReference_3_0(); + return obj; + } + } + return null; + } + +} + +// "}" +protected class Scope_RightCurlyBracketKeyword_4 extends KeywordToken { + + public Scope_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getScopeAccess().getRightCurlyBracketKeyword_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Scope_InterfaceProvidingRequiringEntityAssignment_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule Scope ****************/ + + +/************ begin Rule ServiceInputParameter **************** + * + * ServiceInputParameter: + * "ServiceInputParameter" name=EString "{" "description" description=EString "characterization" + * characterization=CharacterizationType "behavior" behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] + * "signature" signature=[repository::Signature|EString] ("parameter" parameter=[repository::Parameter|EString])? + * ("returnType" returnType=[repository::DataType|EString])? "providedRole" + * providedRole=[repository::ProvidedRole|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}"; + * + **/ + +// "ServiceInputParameter" name=EString "{" "description" description=EString "characterization" +// characterization=CharacterizationType "behavior" behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] +// "signature" signature=[repository::Signature|EString] ("parameter" parameter=[repository::Parameter|EString])? +// ("returnType" returnType=[repository::DataType|EString])? "providedRole" +// providedRole=[repository::ProvidedRole|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}" +protected class ServiceInputParameter_Group extends GroupToken { + + public ServiceInputParameter_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getServiceInputParameterAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ServiceInputParameter_RightCurlyBracketKeyword_16(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getServiceInputParameterRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "ServiceInputParameter" +protected class ServiceInputParameter_ServiceInputParameterKeyword_0 extends KeywordToken { + + public ServiceInputParameter_ServiceInputParameterKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getServiceInputParameterAccess().getServiceInputParameterKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// name=EString +protected class ServiceInputParameter_NameAssignment_1 extends AssignmentToken { + + public ServiceInputParameter_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getServiceInputParameterAccess().getNameAssignment_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ServiceInputParameter_ServiceInputParameterKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getServiceInputParameterAccess().getNameEStringParserRuleCall_1_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getServiceInputParameterAccess().getNameEStringParserRuleCall_1_0(); + return obj; + } + return null; + } + +} + +// "{" +protected class ServiceInputParameter_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public ServiceInputParameter_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getServiceInputParameterAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ServiceInputParameter_NameAssignment_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "description" +protected class ServiceInputParameter_DescriptionKeyword_3 extends KeywordToken { + + public ServiceInputParameter_DescriptionKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getServiceInputParameterAccess().getDescriptionKeyword_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ServiceInputParameter_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// description=EString +protected class ServiceInputParameter_DescriptionAssignment_4 extends AssignmentToken { + + public ServiceInputParameter_DescriptionAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getServiceInputParameterAccess().getDescriptionAssignment_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ServiceInputParameter_DescriptionKeyword_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("description",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("description"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getServiceInputParameterAccess().getDescriptionEStringParserRuleCall_4_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getServiceInputParameterAccess().getDescriptionEStringParserRuleCall_4_0(); + return obj; + } + return null; + } + +} + +// "characterization" +protected class ServiceInputParameter_CharacterizationKeyword_5 extends KeywordToken { + + public ServiceInputParameter_CharacterizationKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getServiceInputParameterAccess().getCharacterizationKeyword_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ServiceInputParameter_DescriptionAssignment_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// characterization=CharacterizationType +protected class ServiceInputParameter_CharacterizationAssignment_6 extends AssignmentToken { + + public ServiceInputParameter_CharacterizationAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getServiceInputParameterAccess().getCharacterizationAssignment_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ServiceInputParameter_CharacterizationKeyword_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("characterization",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("characterization"); + if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getServiceInputParameterAccess().getCharacterizationCharacterizationTypeEnumRuleCall_6_0(), value, null)) { + type = AssignmentType.ENUM_RULE_CALL; + element = grammarAccess.getServiceInputParameterAccess().getCharacterizationCharacterizationTypeEnumRuleCall_6_0(); + return obj; + } + return null; + } + +} + +// "behavior" +protected class ServiceInputParameter_BehaviorKeyword_7 extends KeywordToken { + + public ServiceInputParameter_BehaviorKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getServiceInputParameterAccess().getBehaviorKeyword_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ServiceInputParameter_CharacterizationAssignment_6(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] +protected class ServiceInputParameter_BehaviorAssignment_8 extends AssignmentToken { + + public ServiceInputParameter_BehaviorAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getServiceInputParameterAccess().getBehaviorAssignment_8(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ServiceInputParameter_BehaviorKeyword_7(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("behavior",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("behavior"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getServiceInputParameterAccess().getBehaviorServiceBehaviorAbstractionCrossReference_8_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getServiceInputParameterAccess().getBehaviorServiceBehaviorAbstractionCrossReference_8_0(); + return obj; + } + } + return null; + } + +} + +// "signature" +protected class ServiceInputParameter_SignatureKeyword_9 extends KeywordToken { + + public ServiceInputParameter_SignatureKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getServiceInputParameterAccess().getSignatureKeyword_9(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ServiceInputParameter_BehaviorAssignment_8(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// signature=[repository::Signature|EString] +protected class ServiceInputParameter_SignatureAssignment_10 extends AssignmentToken { + + public ServiceInputParameter_SignatureAssignment_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getServiceInputParameterAccess().getSignatureAssignment_10(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ServiceInputParameter_SignatureKeyword_9(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("signature",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("signature"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getServiceInputParameterAccess().getSignatureSignatureCrossReference_10_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getServiceInputParameterAccess().getSignatureSignatureCrossReference_10_0(); + return obj; + } + } + return null; + } + +} + +// ("parameter" parameter=[repository::Parameter|EString])? +protected class ServiceInputParameter_Group_11 extends GroupToken { + + public ServiceInputParameter_Group_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getServiceInputParameterAccess().getGroup_11(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ServiceInputParameter_ParameterAssignment_11_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "parameter" +protected class ServiceInputParameter_ParameterKeyword_11_0 extends KeywordToken { + + public ServiceInputParameter_ParameterKeyword_11_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getServiceInputParameterAccess().getParameterKeyword_11_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ServiceInputParameter_SignatureAssignment_10(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// parameter=[repository::Parameter|EString] +protected class ServiceInputParameter_ParameterAssignment_11_1 extends AssignmentToken { + + public ServiceInputParameter_ParameterAssignment_11_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getServiceInputParameterAccess().getParameterAssignment_11_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ServiceInputParameter_ParameterKeyword_11_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("parameter",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("parameter"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getServiceInputParameterAccess().getParameterParameterCrossReference_11_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getServiceInputParameterAccess().getParameterParameterCrossReference_11_1_0(); + return obj; + } + } + return null; + } + +} + + +// ("returnType" returnType=[repository::DataType|EString])? +protected class ServiceInputParameter_Group_12 extends GroupToken { + + public ServiceInputParameter_Group_12(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getServiceInputParameterAccess().getGroup_12(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ServiceInputParameter_ReturnTypeAssignment_12_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "returnType" +protected class ServiceInputParameter_ReturnTypeKeyword_12_0 extends KeywordToken { + + public ServiceInputParameter_ReturnTypeKeyword_12_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getServiceInputParameterAccess().getReturnTypeKeyword_12_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ServiceInputParameter_Group_11(lastRuleCallOrigin, this, 0, inst); + case 1: return new ServiceInputParameter_SignatureAssignment_10(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// returnType=[repository::DataType|EString] +protected class ServiceInputParameter_ReturnTypeAssignment_12_1 extends AssignmentToken { + + public ServiceInputParameter_ReturnTypeAssignment_12_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getServiceInputParameterAccess().getReturnTypeAssignment_12_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ServiceInputParameter_ReturnTypeKeyword_12_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("returnType",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("returnType"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getServiceInputParameterAccess().getReturnTypeDataTypeCrossReference_12_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getServiceInputParameterAccess().getReturnTypeDataTypeCrossReference_12_1_0(); + return obj; + } + } + return null; + } + +} + + +// "providedRole" +protected class ServiceInputParameter_ProvidedRoleKeyword_13 extends KeywordToken { + + public ServiceInputParameter_ProvidedRoleKeyword_13(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getServiceInputParameterAccess().getProvidedRoleKeyword_13(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ServiceInputParameter_Group_12(lastRuleCallOrigin, this, 0, inst); + case 1: return new ServiceInputParameter_Group_11(lastRuleCallOrigin, this, 1, inst); + case 2: return new ServiceInputParameter_SignatureAssignment_10(lastRuleCallOrigin, this, 2, inst); + default: return null; + } + } + +} + +// providedRole=[repository::ProvidedRole|EString] +protected class ServiceInputParameter_ProvidedRoleAssignment_14 extends AssignmentToken { + + public ServiceInputParameter_ProvidedRoleAssignment_14(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getServiceInputParameterAccess().getProvidedRoleAssignment_14(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ServiceInputParameter_ProvidedRoleKeyword_13(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("providedRole",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("providedRole"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getServiceInputParameterAccess().getProvidedRoleProvidedRoleCrossReference_14_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getServiceInputParameterAccess().getProvidedRoleProvidedRoleCrossReference_14_0(); + return obj; + } + } + return null; + } + +} + +// ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? +protected class ServiceInputParameter_Group_15 extends GroupToken { + + public ServiceInputParameter_Group_15(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getServiceInputParameterAccess().getGroup_15(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ServiceInputParameter_RightCurlyBracketKeyword_15_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "scope" +protected class ServiceInputParameter_ScopeKeyword_15_0 extends KeywordToken { + + public ServiceInputParameter_ScopeKeyword_15_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getServiceInputParameterAccess().getScopeKeyword_15_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ServiceInputParameter_ProvidedRoleAssignment_14(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "{" +protected class ServiceInputParameter_LeftCurlyBracketKeyword_15_1 extends KeywordToken { + + public ServiceInputParameter_LeftCurlyBracketKeyword_15_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getServiceInputParameterAccess().getLeftCurlyBracketKeyword_15_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ServiceInputParameter_ScopeKeyword_15_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// scope+=Scope +protected class ServiceInputParameter_ScopeAssignment_15_2 extends AssignmentToken { + + public ServiceInputParameter_ScopeAssignment_15_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getServiceInputParameterAccess().getScopeAssignment_15_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Scope_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("scope",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("scope"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getScopeRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getServiceInputParameterAccess().getScopeScopeParserRuleCall_15_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new ServiceInputParameter_LeftCurlyBracketKeyword_15_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," scope+=Scope)* +protected class ServiceInputParameter_Group_15_3 extends GroupToken { + + public ServiceInputParameter_Group_15_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getServiceInputParameterAccess().getGroup_15_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ServiceInputParameter_ScopeAssignment_15_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class ServiceInputParameter_CommaKeyword_15_3_0 extends KeywordToken { + + public ServiceInputParameter_CommaKeyword_15_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getServiceInputParameterAccess().getCommaKeyword_15_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ServiceInputParameter_Group_15_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new ServiceInputParameter_ScopeAssignment_15_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// scope+=Scope +protected class ServiceInputParameter_ScopeAssignment_15_3_1 extends AssignmentToken { + + public ServiceInputParameter_ScopeAssignment_15_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getServiceInputParameterAccess().getScopeAssignment_15_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Scope_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("scope",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("scope"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getScopeRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getServiceInputParameterAccess().getScopeScopeParserRuleCall_15_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new ServiceInputParameter_CommaKeyword_15_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class ServiceInputParameter_RightCurlyBracketKeyword_15_4 extends KeywordToken { + + public ServiceInputParameter_RightCurlyBracketKeyword_15_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getServiceInputParameterAccess().getRightCurlyBracketKeyword_15_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ServiceInputParameter_Group_15_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new ServiceInputParameter_ScopeAssignment_15_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// "}" +protected class ServiceInputParameter_RightCurlyBracketKeyword_16 extends KeywordToken { + + public ServiceInputParameter_RightCurlyBracketKeyword_16(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getServiceInputParameterAccess().getRightCurlyBracketKeyword_16(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ServiceInputParameter_Group_15(lastRuleCallOrigin, this, 0, inst); + case 1: return new ServiceInputParameter_ProvidedRoleAssignment_14(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +/************ end Rule ServiceInputParameter ****************/ + + +/************ begin Rule ExternalCallReturnParameter **************** + * + * ExternalCallReturnParameter: + * "ExternalCallReturnParameter" name=EString "{" "description" description=EString "characterization" + * characterization=CharacterizationType "behavior" behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] + * "signature" signature=[repository::Signature|EString] ("parameter" parameter=[repository::Parameter|EString])? + * ("returnType" returnType=[repository::DataType|EString])? "externalCall" + * externalCall=[servicebehavior::ExternalCall|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}"; + * + **/ + +// "ExternalCallReturnParameter" name=EString "{" "description" description=EString "characterization" +// characterization=CharacterizationType "behavior" behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] +// "signature" signature=[repository::Signature|EString] ("parameter" parameter=[repository::Parameter|EString])? +// ("returnType" returnType=[repository::DataType|EString])? "externalCall" +// externalCall=[servicebehavior::ExternalCall|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}" +protected class ExternalCallReturnParameter_Group extends GroupToken { + + public ExternalCallReturnParameter_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getExternalCallReturnParameterAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallReturnParameter_RightCurlyBracketKeyword_16(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getExternalCallReturnParameterRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "ExternalCallReturnParameter" +protected class ExternalCallReturnParameter_ExternalCallReturnParameterKeyword_0 extends KeywordToken { + + public ExternalCallReturnParameter_ExternalCallReturnParameterKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallReturnParameterAccess().getExternalCallReturnParameterKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// name=EString +protected class ExternalCallReturnParameter_NameAssignment_1 extends AssignmentToken { + + public ExternalCallReturnParameter_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getExternalCallReturnParameterAccess().getNameAssignment_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallReturnParameter_ExternalCallReturnParameterKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getExternalCallReturnParameterAccess().getNameEStringParserRuleCall_1_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getExternalCallReturnParameterAccess().getNameEStringParserRuleCall_1_0(); + return obj; + } + return null; + } + +} + +// "{" +protected class ExternalCallReturnParameter_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public ExternalCallReturnParameter_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallReturnParameterAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallReturnParameter_NameAssignment_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "description" +protected class ExternalCallReturnParameter_DescriptionKeyword_3 extends KeywordToken { + + public ExternalCallReturnParameter_DescriptionKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallReturnParameterAccess().getDescriptionKeyword_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallReturnParameter_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// description=EString +protected class ExternalCallReturnParameter_DescriptionAssignment_4 extends AssignmentToken { + + public ExternalCallReturnParameter_DescriptionAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getExternalCallReturnParameterAccess().getDescriptionAssignment_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallReturnParameter_DescriptionKeyword_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("description",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("description"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getExternalCallReturnParameterAccess().getDescriptionEStringParserRuleCall_4_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getExternalCallReturnParameterAccess().getDescriptionEStringParserRuleCall_4_0(); + return obj; + } + return null; + } + +} + +// "characterization" +protected class ExternalCallReturnParameter_CharacterizationKeyword_5 extends KeywordToken { + + public ExternalCallReturnParameter_CharacterizationKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallReturnParameterAccess().getCharacterizationKeyword_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallReturnParameter_DescriptionAssignment_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// characterization=CharacterizationType +protected class ExternalCallReturnParameter_CharacterizationAssignment_6 extends AssignmentToken { + + public ExternalCallReturnParameter_CharacterizationAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getExternalCallReturnParameterAccess().getCharacterizationAssignment_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallReturnParameter_CharacterizationKeyword_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("characterization",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("characterization"); + if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getExternalCallReturnParameterAccess().getCharacterizationCharacterizationTypeEnumRuleCall_6_0(), value, null)) { + type = AssignmentType.ENUM_RULE_CALL; + element = grammarAccess.getExternalCallReturnParameterAccess().getCharacterizationCharacterizationTypeEnumRuleCall_6_0(); + return obj; + } + return null; + } + +} + +// "behavior" +protected class ExternalCallReturnParameter_BehaviorKeyword_7 extends KeywordToken { + + public ExternalCallReturnParameter_BehaviorKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallReturnParameterAccess().getBehaviorKeyword_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallReturnParameter_CharacterizationAssignment_6(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] +protected class ExternalCallReturnParameter_BehaviorAssignment_8 extends AssignmentToken { + + public ExternalCallReturnParameter_BehaviorAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getExternalCallReturnParameterAccess().getBehaviorAssignment_8(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallReturnParameter_BehaviorKeyword_7(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("behavior",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("behavior"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getExternalCallReturnParameterAccess().getBehaviorServiceBehaviorAbstractionCrossReference_8_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getExternalCallReturnParameterAccess().getBehaviorServiceBehaviorAbstractionCrossReference_8_0(); + return obj; + } + } + return null; + } + +} + +// "signature" +protected class ExternalCallReturnParameter_SignatureKeyword_9 extends KeywordToken { + + public ExternalCallReturnParameter_SignatureKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallReturnParameterAccess().getSignatureKeyword_9(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallReturnParameter_BehaviorAssignment_8(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// signature=[repository::Signature|EString] +protected class ExternalCallReturnParameter_SignatureAssignment_10 extends AssignmentToken { + + public ExternalCallReturnParameter_SignatureAssignment_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getExternalCallReturnParameterAccess().getSignatureAssignment_10(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallReturnParameter_SignatureKeyword_9(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("signature",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("signature"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getExternalCallReturnParameterAccess().getSignatureSignatureCrossReference_10_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getExternalCallReturnParameterAccess().getSignatureSignatureCrossReference_10_0(); + return obj; + } + } + return null; + } + +} + +// ("parameter" parameter=[repository::Parameter|EString])? +protected class ExternalCallReturnParameter_Group_11 extends GroupToken { + + public ExternalCallReturnParameter_Group_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getExternalCallReturnParameterAccess().getGroup_11(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallReturnParameter_ParameterAssignment_11_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "parameter" +protected class ExternalCallReturnParameter_ParameterKeyword_11_0 extends KeywordToken { + + public ExternalCallReturnParameter_ParameterKeyword_11_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallReturnParameterAccess().getParameterKeyword_11_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallReturnParameter_SignatureAssignment_10(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// parameter=[repository::Parameter|EString] +protected class ExternalCallReturnParameter_ParameterAssignment_11_1 extends AssignmentToken { + + public ExternalCallReturnParameter_ParameterAssignment_11_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getExternalCallReturnParameterAccess().getParameterAssignment_11_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallReturnParameter_ParameterKeyword_11_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("parameter",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("parameter"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getExternalCallReturnParameterAccess().getParameterParameterCrossReference_11_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getExternalCallReturnParameterAccess().getParameterParameterCrossReference_11_1_0(); + return obj; + } + } + return null; + } + +} + + +// ("returnType" returnType=[repository::DataType|EString])? +protected class ExternalCallReturnParameter_Group_12 extends GroupToken { + + public ExternalCallReturnParameter_Group_12(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getExternalCallReturnParameterAccess().getGroup_12(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallReturnParameter_ReturnTypeAssignment_12_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "returnType" +protected class ExternalCallReturnParameter_ReturnTypeKeyword_12_0 extends KeywordToken { + + public ExternalCallReturnParameter_ReturnTypeKeyword_12_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallReturnParameterAccess().getReturnTypeKeyword_12_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallReturnParameter_Group_11(lastRuleCallOrigin, this, 0, inst); + case 1: return new ExternalCallReturnParameter_SignatureAssignment_10(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// returnType=[repository::DataType|EString] +protected class ExternalCallReturnParameter_ReturnTypeAssignment_12_1 extends AssignmentToken { + + public ExternalCallReturnParameter_ReturnTypeAssignment_12_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getExternalCallReturnParameterAccess().getReturnTypeAssignment_12_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallReturnParameter_ReturnTypeKeyword_12_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("returnType",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("returnType"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getExternalCallReturnParameterAccess().getReturnTypeDataTypeCrossReference_12_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getExternalCallReturnParameterAccess().getReturnTypeDataTypeCrossReference_12_1_0(); + return obj; + } + } + return null; + } + +} + + +// "externalCall" +protected class ExternalCallReturnParameter_ExternalCallKeyword_13 extends KeywordToken { + + public ExternalCallReturnParameter_ExternalCallKeyword_13(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallReturnParameterAccess().getExternalCallKeyword_13(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallReturnParameter_Group_12(lastRuleCallOrigin, this, 0, inst); + case 1: return new ExternalCallReturnParameter_Group_11(lastRuleCallOrigin, this, 1, inst); + case 2: return new ExternalCallReturnParameter_SignatureAssignment_10(lastRuleCallOrigin, this, 2, inst); + default: return null; + } + } + +} + +// externalCall=[servicebehavior::ExternalCall|EString] +protected class ExternalCallReturnParameter_ExternalCallAssignment_14 extends AssignmentToken { + + public ExternalCallReturnParameter_ExternalCallAssignment_14(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getExternalCallReturnParameterAccess().getExternalCallAssignment_14(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallReturnParameter_ExternalCallKeyword_13(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("externalCall",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("externalCall"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getExternalCallReturnParameterAccess().getExternalCallExternalCallCrossReference_14_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getExternalCallReturnParameterAccess().getExternalCallExternalCallCrossReference_14_0(); + return obj; + } + } + return null; + } + +} + +// ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? +protected class ExternalCallReturnParameter_Group_15 extends GroupToken { + + public ExternalCallReturnParameter_Group_15(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getExternalCallReturnParameterAccess().getGroup_15(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallReturnParameter_RightCurlyBracketKeyword_15_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "scope" +protected class ExternalCallReturnParameter_ScopeKeyword_15_0 extends KeywordToken { + + public ExternalCallReturnParameter_ScopeKeyword_15_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallReturnParameterAccess().getScopeKeyword_15_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallReturnParameter_ExternalCallAssignment_14(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "{" +protected class ExternalCallReturnParameter_LeftCurlyBracketKeyword_15_1 extends KeywordToken { + + public ExternalCallReturnParameter_LeftCurlyBracketKeyword_15_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallReturnParameterAccess().getLeftCurlyBracketKeyword_15_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallReturnParameter_ScopeKeyword_15_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// scope+=Scope +protected class ExternalCallReturnParameter_ScopeAssignment_15_2 extends AssignmentToken { + + public ExternalCallReturnParameter_ScopeAssignment_15_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getExternalCallReturnParameterAccess().getScopeAssignment_15_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Scope_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("scope",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("scope"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getScopeRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getExternalCallReturnParameterAccess().getScopeScopeParserRuleCall_15_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new ExternalCallReturnParameter_LeftCurlyBracketKeyword_15_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," scope+=Scope)* +protected class ExternalCallReturnParameter_Group_15_3 extends GroupToken { + + public ExternalCallReturnParameter_Group_15_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getExternalCallReturnParameterAccess().getGroup_15_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallReturnParameter_ScopeAssignment_15_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class ExternalCallReturnParameter_CommaKeyword_15_3_0 extends KeywordToken { + + public ExternalCallReturnParameter_CommaKeyword_15_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallReturnParameterAccess().getCommaKeyword_15_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallReturnParameter_Group_15_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new ExternalCallReturnParameter_ScopeAssignment_15_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// scope+=Scope +protected class ExternalCallReturnParameter_ScopeAssignment_15_3_1 extends AssignmentToken { + + public ExternalCallReturnParameter_ScopeAssignment_15_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getExternalCallReturnParameterAccess().getScopeAssignment_15_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Scope_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("scope",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("scope"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getScopeRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getExternalCallReturnParameterAccess().getScopeScopeParserRuleCall_15_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new ExternalCallReturnParameter_CommaKeyword_15_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class ExternalCallReturnParameter_RightCurlyBracketKeyword_15_4 extends KeywordToken { + + public ExternalCallReturnParameter_RightCurlyBracketKeyword_15_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallReturnParameterAccess().getRightCurlyBracketKeyword_15_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallReturnParameter_Group_15_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new ExternalCallReturnParameter_ScopeAssignment_15_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// "}" +protected class ExternalCallReturnParameter_RightCurlyBracketKeyword_16 extends KeywordToken { + + public ExternalCallReturnParameter_RightCurlyBracketKeyword_16(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallReturnParameterAccess().getRightCurlyBracketKeyword_16(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallReturnParameter_Group_15(lastRuleCallOrigin, this, 0, inst); + case 1: return new ExternalCallReturnParameter_ExternalCallAssignment_14(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +/************ end Rule ExternalCallReturnParameter ****************/ + + +/************ begin Rule ExternalCallParameter **************** + * + * ExternalCallParameter: + * "ExternalCallParameter" name=EString "{" "description" description=EString "characterization" + * characterization=CharacterizationType "behavior" behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] + * "signature" signature=[repository::Signature|EString] ("parameter" parameter=[repository::Parameter|EString])? + * ("returnType" returnType=[repository::DataType|EString])? "externallCall" + * externallCall=[servicebehavior::ExternalCall|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}"; + * + **/ + +// "ExternalCallParameter" name=EString "{" "description" description=EString "characterization" +// characterization=CharacterizationType "behavior" behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] +// "signature" signature=[repository::Signature|EString] ("parameter" parameter=[repository::Parameter|EString])? +// ("returnType" returnType=[repository::DataType|EString])? "externallCall" +// externallCall=[servicebehavior::ExternalCall|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}" +protected class ExternalCallParameter_Group extends GroupToken { + + public ExternalCallParameter_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getExternalCallParameterAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallParameter_RightCurlyBracketKeyword_16(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getExternalCallParameterRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "ExternalCallParameter" +protected class ExternalCallParameter_ExternalCallParameterKeyword_0 extends KeywordToken { + + public ExternalCallParameter_ExternalCallParameterKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallParameterAccess().getExternalCallParameterKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// name=EString +protected class ExternalCallParameter_NameAssignment_1 extends AssignmentToken { + + public ExternalCallParameter_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getExternalCallParameterAccess().getNameAssignment_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallParameter_ExternalCallParameterKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getExternalCallParameterAccess().getNameEStringParserRuleCall_1_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getExternalCallParameterAccess().getNameEStringParserRuleCall_1_0(); + return obj; + } + return null; + } + +} + +// "{" +protected class ExternalCallParameter_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public ExternalCallParameter_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallParameterAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallParameter_NameAssignment_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "description" +protected class ExternalCallParameter_DescriptionKeyword_3 extends KeywordToken { + + public ExternalCallParameter_DescriptionKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallParameterAccess().getDescriptionKeyword_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallParameter_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// description=EString +protected class ExternalCallParameter_DescriptionAssignment_4 extends AssignmentToken { + + public ExternalCallParameter_DescriptionAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getExternalCallParameterAccess().getDescriptionAssignment_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallParameter_DescriptionKeyword_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("description",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("description"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getExternalCallParameterAccess().getDescriptionEStringParserRuleCall_4_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getExternalCallParameterAccess().getDescriptionEStringParserRuleCall_4_0(); + return obj; + } + return null; + } + +} + +// "characterization" +protected class ExternalCallParameter_CharacterizationKeyword_5 extends KeywordToken { + + public ExternalCallParameter_CharacterizationKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallParameterAccess().getCharacterizationKeyword_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallParameter_DescriptionAssignment_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// characterization=CharacterizationType +protected class ExternalCallParameter_CharacterizationAssignment_6 extends AssignmentToken { + + public ExternalCallParameter_CharacterizationAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getExternalCallParameterAccess().getCharacterizationAssignment_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallParameter_CharacterizationKeyword_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("characterization",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("characterization"); + if(enumLitSerializer.isValid(obj.getEObject(), grammarAccess.getExternalCallParameterAccess().getCharacterizationCharacterizationTypeEnumRuleCall_6_0(), value, null)) { + type = AssignmentType.ENUM_RULE_CALL; + element = grammarAccess.getExternalCallParameterAccess().getCharacterizationCharacterizationTypeEnumRuleCall_6_0(); + return obj; + } + return null; + } + +} + +// "behavior" +protected class ExternalCallParameter_BehaviorKeyword_7 extends KeywordToken { + + public ExternalCallParameter_BehaviorKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallParameterAccess().getBehaviorKeyword_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallParameter_CharacterizationAssignment_6(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] +protected class ExternalCallParameter_BehaviorAssignment_8 extends AssignmentToken { + + public ExternalCallParameter_BehaviorAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getExternalCallParameterAccess().getBehaviorAssignment_8(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallParameter_BehaviorKeyword_7(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("behavior",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("behavior"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getExternalCallParameterAccess().getBehaviorServiceBehaviorAbstractionCrossReference_8_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getExternalCallParameterAccess().getBehaviorServiceBehaviorAbstractionCrossReference_8_0(); + return obj; + } + } + return null; + } + +} + +// "signature" +protected class ExternalCallParameter_SignatureKeyword_9 extends KeywordToken { + + public ExternalCallParameter_SignatureKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallParameterAccess().getSignatureKeyword_9(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallParameter_BehaviorAssignment_8(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// signature=[repository::Signature|EString] +protected class ExternalCallParameter_SignatureAssignment_10 extends AssignmentToken { + + public ExternalCallParameter_SignatureAssignment_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getExternalCallParameterAccess().getSignatureAssignment_10(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallParameter_SignatureKeyword_9(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("signature",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("signature"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getExternalCallParameterAccess().getSignatureSignatureCrossReference_10_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getExternalCallParameterAccess().getSignatureSignatureCrossReference_10_0(); + return obj; + } + } + return null; + } + +} + +// ("parameter" parameter=[repository::Parameter|EString])? +protected class ExternalCallParameter_Group_11 extends GroupToken { + + public ExternalCallParameter_Group_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getExternalCallParameterAccess().getGroup_11(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallParameter_ParameterAssignment_11_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "parameter" +protected class ExternalCallParameter_ParameterKeyword_11_0 extends KeywordToken { + + public ExternalCallParameter_ParameterKeyword_11_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallParameterAccess().getParameterKeyword_11_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallParameter_SignatureAssignment_10(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// parameter=[repository::Parameter|EString] +protected class ExternalCallParameter_ParameterAssignment_11_1 extends AssignmentToken { + + public ExternalCallParameter_ParameterAssignment_11_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getExternalCallParameterAccess().getParameterAssignment_11_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallParameter_ParameterKeyword_11_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("parameter",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("parameter"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getExternalCallParameterAccess().getParameterParameterCrossReference_11_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getExternalCallParameterAccess().getParameterParameterCrossReference_11_1_0(); + return obj; + } + } + return null; + } + +} + + +// ("returnType" returnType=[repository::DataType|EString])? +protected class ExternalCallParameter_Group_12 extends GroupToken { + + public ExternalCallParameter_Group_12(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getExternalCallParameterAccess().getGroup_12(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallParameter_ReturnTypeAssignment_12_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "returnType" +protected class ExternalCallParameter_ReturnTypeKeyword_12_0 extends KeywordToken { + + public ExternalCallParameter_ReturnTypeKeyword_12_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallParameterAccess().getReturnTypeKeyword_12_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallParameter_Group_11(lastRuleCallOrigin, this, 0, inst); + case 1: return new ExternalCallParameter_SignatureAssignment_10(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// returnType=[repository::DataType|EString] +protected class ExternalCallParameter_ReturnTypeAssignment_12_1 extends AssignmentToken { + + public ExternalCallParameter_ReturnTypeAssignment_12_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getExternalCallParameterAccess().getReturnTypeAssignment_12_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallParameter_ReturnTypeKeyword_12_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("returnType",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("returnType"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getExternalCallParameterAccess().getReturnTypeDataTypeCrossReference_12_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getExternalCallParameterAccess().getReturnTypeDataTypeCrossReference_12_1_0(); + return obj; + } + } + return null; + } + +} + + +// "externallCall" +protected class ExternalCallParameter_ExternallCallKeyword_13 extends KeywordToken { + + public ExternalCallParameter_ExternallCallKeyword_13(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallParameterAccess().getExternallCallKeyword_13(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallParameter_Group_12(lastRuleCallOrigin, this, 0, inst); + case 1: return new ExternalCallParameter_Group_11(lastRuleCallOrigin, this, 1, inst); + case 2: return new ExternalCallParameter_SignatureAssignment_10(lastRuleCallOrigin, this, 2, inst); + default: return null; + } + } + +} + +// externallCall=[servicebehavior::ExternalCall|EString] +protected class ExternalCallParameter_ExternallCallAssignment_14 extends AssignmentToken { + + public ExternalCallParameter_ExternallCallAssignment_14(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getExternalCallParameterAccess().getExternallCallAssignment_14(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallParameter_ExternallCallKeyword_13(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("externallCall",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("externallCall"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getExternalCallParameterAccess().getExternallCallExternalCallCrossReference_14_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getExternalCallParameterAccess().getExternallCallExternalCallCrossReference_14_0(); + return obj; + } + } + return null; + } + +} + +// ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? +protected class ExternalCallParameter_Group_15 extends GroupToken { + + public ExternalCallParameter_Group_15(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getExternalCallParameterAccess().getGroup_15(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallParameter_RightCurlyBracketKeyword_15_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "scope" +protected class ExternalCallParameter_ScopeKeyword_15_0 extends KeywordToken { + + public ExternalCallParameter_ScopeKeyword_15_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallParameterAccess().getScopeKeyword_15_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallParameter_ExternallCallAssignment_14(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "{" +protected class ExternalCallParameter_LeftCurlyBracketKeyword_15_1 extends KeywordToken { + + public ExternalCallParameter_LeftCurlyBracketKeyword_15_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallParameterAccess().getLeftCurlyBracketKeyword_15_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallParameter_ScopeKeyword_15_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// scope+=Scope +protected class ExternalCallParameter_ScopeAssignment_15_2 extends AssignmentToken { + + public ExternalCallParameter_ScopeAssignment_15_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getExternalCallParameterAccess().getScopeAssignment_15_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Scope_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("scope",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("scope"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getScopeRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getExternalCallParameterAccess().getScopeScopeParserRuleCall_15_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new ExternalCallParameter_LeftCurlyBracketKeyword_15_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," scope+=Scope)* +protected class ExternalCallParameter_Group_15_3 extends GroupToken { + + public ExternalCallParameter_Group_15_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getExternalCallParameterAccess().getGroup_15_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallParameter_ScopeAssignment_15_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class ExternalCallParameter_CommaKeyword_15_3_0 extends KeywordToken { + + public ExternalCallParameter_CommaKeyword_15_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallParameterAccess().getCommaKeyword_15_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallParameter_Group_15_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new ExternalCallParameter_ScopeAssignment_15_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// scope+=Scope +protected class ExternalCallParameter_ScopeAssignment_15_3_1 extends AssignmentToken { + + public ExternalCallParameter_ScopeAssignment_15_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getExternalCallParameterAccess().getScopeAssignment_15_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Scope_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("scope",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("scope"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getScopeRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getExternalCallParameterAccess().getScopeScopeParserRuleCall_15_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new ExternalCallParameter_CommaKeyword_15_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class ExternalCallParameter_RightCurlyBracketKeyword_15_4 extends KeywordToken { + + public ExternalCallParameter_RightCurlyBracketKeyword_15_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallParameterAccess().getRightCurlyBracketKeyword_15_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallParameter_Group_15_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new ExternalCallParameter_ScopeAssignment_15_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// "}" +protected class ExternalCallParameter_RightCurlyBracketKeyword_16 extends KeywordToken { + + public ExternalCallParameter_RightCurlyBracketKeyword_16(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallParameterAccess().getRightCurlyBracketKeyword_16(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallParameter_Group_15(lastRuleCallOrigin, this, 0, inst); + case 1: return new ExternalCallParameter_ExternallCallAssignment_14(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +/************ end Rule ExternalCallParameter ****************/ + + +/************ begin Rule FineGrainedBehavior **************** + * + * FineGrainedBehavior returns servicebehavior::FineGrainedBehavior: + * "FineGrainedBehavior" "{" ("describedSignature" describedSignature=[repository::Signature|EString])? "basicComponent" + * basicComponent=[repository::BasicComponent|EString] ("influencingParameter" "{" + * influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* "}")? ("actions" "{" + * actions+=AbstractAction ("," actions+=AbstractAction)* "}")? "behavior" behavior=ComponentInternalBehavior "}"; + * + **/ + +// "FineGrainedBehavior" "{" ("describedSignature" describedSignature=[repository::Signature|EString])? "basicComponent" +// basicComponent=[repository::BasicComponent|EString] ("influencingParameter" "{" +// influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* "}")? ("actions" "{" +// actions+=AbstractAction ("," actions+=AbstractAction)* "}")? "behavior" behavior=ComponentInternalBehavior "}" +protected class FineGrainedBehavior_Group extends GroupToken { + + public FineGrainedBehavior_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getFineGrainedBehaviorAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new FineGrainedBehavior_RightCurlyBracketKeyword_9(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getFineGrainedBehaviorRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "FineGrainedBehavior" +protected class FineGrainedBehavior_FineGrainedBehaviorKeyword_0 extends KeywordToken { + + public FineGrainedBehavior_FineGrainedBehaviorKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getFineGrainedBehaviorAccess().getFineGrainedBehaviorKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// "{" +protected class FineGrainedBehavior_LeftCurlyBracketKeyword_1 extends KeywordToken { + + public FineGrainedBehavior_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getFineGrainedBehaviorAccess().getLeftCurlyBracketKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new FineGrainedBehavior_FineGrainedBehaviorKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// ("describedSignature" describedSignature=[repository::Signature|EString])? +protected class FineGrainedBehavior_Group_2 extends GroupToken { + + public FineGrainedBehavior_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getFineGrainedBehaviorAccess().getGroup_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new FineGrainedBehavior_DescribedSignatureAssignment_2_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "describedSignature" +protected class FineGrainedBehavior_DescribedSignatureKeyword_2_0 extends KeywordToken { + + public FineGrainedBehavior_DescribedSignatureKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getFineGrainedBehaviorAccess().getDescribedSignatureKeyword_2_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new FineGrainedBehavior_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// describedSignature=[repository::Signature|EString] +protected class FineGrainedBehavior_DescribedSignatureAssignment_2_1 extends AssignmentToken { + + public FineGrainedBehavior_DescribedSignatureAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getFineGrainedBehaviorAccess().getDescribedSignatureAssignment_2_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new FineGrainedBehavior_DescribedSignatureKeyword_2_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("describedSignature",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("describedSignature"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getFineGrainedBehaviorAccess().getDescribedSignatureSignatureCrossReference_2_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getFineGrainedBehaviorAccess().getDescribedSignatureSignatureCrossReference_2_1_0(); + return obj; + } + } + return null; + } + +} + + +// "basicComponent" +protected class FineGrainedBehavior_BasicComponentKeyword_3 extends KeywordToken { + + public FineGrainedBehavior_BasicComponentKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getFineGrainedBehaviorAccess().getBasicComponentKeyword_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new FineGrainedBehavior_Group_2(lastRuleCallOrigin, this, 0, inst); + case 1: return new FineGrainedBehavior_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// basicComponent=[repository::BasicComponent|EString] +protected class FineGrainedBehavior_BasicComponentAssignment_4 extends AssignmentToken { + + public FineGrainedBehavior_BasicComponentAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getFineGrainedBehaviorAccess().getBasicComponentAssignment_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new FineGrainedBehavior_BasicComponentKeyword_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("basicComponent",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("basicComponent"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getFineGrainedBehaviorAccess().getBasicComponentBasicComponentCrossReference_4_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getFineGrainedBehaviorAccess().getBasicComponentBasicComponentCrossReference_4_0(); + return obj; + } + } + return null; + } + +} + +// ("influencingParameter" "{" influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* +// "}")? +protected class FineGrainedBehavior_Group_5 extends GroupToken { + + public FineGrainedBehavior_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getFineGrainedBehaviorAccess().getGroup_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new FineGrainedBehavior_RightCurlyBracketKeyword_5_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "influencingParameter" +protected class FineGrainedBehavior_InfluencingParameterKeyword_5_0 extends KeywordToken { + + public FineGrainedBehavior_InfluencingParameterKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getFineGrainedBehaviorAccess().getInfluencingParameterKeyword_5_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new FineGrainedBehavior_BasicComponentAssignment_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "{" +protected class FineGrainedBehavior_LeftCurlyBracketKeyword_5_1 extends KeywordToken { + + public FineGrainedBehavior_LeftCurlyBracketKeyword_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getFineGrainedBehaviorAccess().getLeftCurlyBracketKeyword_5_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new FineGrainedBehavior_InfluencingParameterKeyword_5_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// influencingParameter+=InfluencingParameter +protected class FineGrainedBehavior_InfluencingParameterAssignment_5_2 extends AssignmentToken { + + public FineGrainedBehavior_InfluencingParameterAssignment_5_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getFineGrainedBehaviorAccess().getInfluencingParameterAssignment_5_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencingParameter_Alternatives(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("influencingParameter",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("influencingParameter"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getInfluencingParameterRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getFineGrainedBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new FineGrainedBehavior_LeftCurlyBracketKeyword_5_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," influencingParameter+=InfluencingParameter)* +protected class FineGrainedBehavior_Group_5_3 extends GroupToken { + + public FineGrainedBehavior_Group_5_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getFineGrainedBehaviorAccess().getGroup_5_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new FineGrainedBehavior_InfluencingParameterAssignment_5_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class FineGrainedBehavior_CommaKeyword_5_3_0 extends KeywordToken { + + public FineGrainedBehavior_CommaKeyword_5_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getFineGrainedBehaviorAccess().getCommaKeyword_5_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new FineGrainedBehavior_Group_5_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new FineGrainedBehavior_InfluencingParameterAssignment_5_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// influencingParameter+=InfluencingParameter +protected class FineGrainedBehavior_InfluencingParameterAssignment_5_3_1 extends AssignmentToken { + + public FineGrainedBehavior_InfluencingParameterAssignment_5_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getFineGrainedBehaviorAccess().getInfluencingParameterAssignment_5_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencingParameter_Alternatives(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("influencingParameter",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("influencingParameter"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getInfluencingParameterRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getFineGrainedBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new FineGrainedBehavior_CommaKeyword_5_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class FineGrainedBehavior_RightCurlyBracketKeyword_5_4 extends KeywordToken { + + public FineGrainedBehavior_RightCurlyBracketKeyword_5_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getFineGrainedBehaviorAccess().getRightCurlyBracketKeyword_5_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new FineGrainedBehavior_Group_5_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new FineGrainedBehavior_InfluencingParameterAssignment_5_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// ("actions" "{" actions+=AbstractAction ("," actions+=AbstractAction)* "}")? +protected class FineGrainedBehavior_Group_6 extends GroupToken { + + public FineGrainedBehavior_Group_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getFineGrainedBehaviorAccess().getGroup_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new FineGrainedBehavior_RightCurlyBracketKeyword_6_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "actions" +protected class FineGrainedBehavior_ActionsKeyword_6_0 extends KeywordToken { + + public FineGrainedBehavior_ActionsKeyword_6_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getFineGrainedBehaviorAccess().getActionsKeyword_6_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new FineGrainedBehavior_Group_5(lastRuleCallOrigin, this, 0, inst); + case 1: return new FineGrainedBehavior_BasicComponentAssignment_4(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// "{" +protected class FineGrainedBehavior_LeftCurlyBracketKeyword_6_1 extends KeywordToken { + + public FineGrainedBehavior_LeftCurlyBracketKeyword_6_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getFineGrainedBehaviorAccess().getLeftCurlyBracketKeyword_6_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new FineGrainedBehavior_ActionsKeyword_6_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// actions+=AbstractAction +protected class FineGrainedBehavior_ActionsAssignment_6_2 extends AssignmentToken { + + public FineGrainedBehavior_ActionsAssignment_6_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getFineGrainedBehaviorAccess().getActionsAssignment_6_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AbstractAction_Alternatives(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("actions",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("actions"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getAbstractActionRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getFineGrainedBehaviorAccess().getActionsAbstractActionParserRuleCall_6_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new FineGrainedBehavior_LeftCurlyBracketKeyword_6_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," actions+=AbstractAction)* +protected class FineGrainedBehavior_Group_6_3 extends GroupToken { + + public FineGrainedBehavior_Group_6_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getFineGrainedBehaviorAccess().getGroup_6_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new FineGrainedBehavior_ActionsAssignment_6_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class FineGrainedBehavior_CommaKeyword_6_3_0 extends KeywordToken { + + public FineGrainedBehavior_CommaKeyword_6_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getFineGrainedBehaviorAccess().getCommaKeyword_6_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new FineGrainedBehavior_Group_6_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new FineGrainedBehavior_ActionsAssignment_6_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// actions+=AbstractAction +protected class FineGrainedBehavior_ActionsAssignment_6_3_1 extends AssignmentToken { + + public FineGrainedBehavior_ActionsAssignment_6_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getFineGrainedBehaviorAccess().getActionsAssignment_6_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AbstractAction_Alternatives(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("actions",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("actions"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getAbstractActionRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getFineGrainedBehaviorAccess().getActionsAbstractActionParserRuleCall_6_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new FineGrainedBehavior_CommaKeyword_6_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class FineGrainedBehavior_RightCurlyBracketKeyword_6_4 extends KeywordToken { + + public FineGrainedBehavior_RightCurlyBracketKeyword_6_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getFineGrainedBehaviorAccess().getRightCurlyBracketKeyword_6_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new FineGrainedBehavior_Group_6_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new FineGrainedBehavior_ActionsAssignment_6_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// "behavior" +protected class FineGrainedBehavior_BehaviorKeyword_7 extends KeywordToken { + + public FineGrainedBehavior_BehaviorKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getFineGrainedBehaviorAccess().getBehaviorKeyword_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new FineGrainedBehavior_Group_6(lastRuleCallOrigin, this, 0, inst); + case 1: return new FineGrainedBehavior_Group_5(lastRuleCallOrigin, this, 1, inst); + case 2: return new FineGrainedBehavior_BasicComponentAssignment_4(lastRuleCallOrigin, this, 2, inst); + default: return null; + } + } + +} + +// behavior=ComponentInternalBehavior +protected class FineGrainedBehavior_BehaviorAssignment_8 extends AssignmentToken { + + public FineGrainedBehavior_BehaviorAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getFineGrainedBehaviorAccess().getBehaviorAssignment_8(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ComponentInternalBehavior_Alternatives(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("behavior",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("behavior"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getComponentInternalBehaviorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getFineGrainedBehaviorAccess().getBehaviorComponentInternalBehaviorParserRuleCall_8_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new FineGrainedBehavior_BehaviorKeyword_7(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// "}" +protected class FineGrainedBehavior_RightCurlyBracketKeyword_9 extends KeywordToken { + + public FineGrainedBehavior_RightCurlyBracketKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getFineGrainedBehaviorAccess().getRightCurlyBracketKeyword_9(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new FineGrainedBehavior_BehaviorAssignment_8(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule FineGrainedBehavior ****************/ + + +/************ begin Rule AbstractAction_Impl **************** + * + * AbstractAction_Impl returns servicebehavior::AbstractAction: + * {servicebehavior::AbstractAction} "AbstractAction" "{" ("predecessor" + * predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + * successor=[servicebehavior::AbstractAction|EString])? "}"; + * + **/ + +// {servicebehavior::AbstractAction} "AbstractAction" "{" ("predecessor" +// predecessor=[servicebehavior::AbstractAction|EString])? ("successor" +// successor=[servicebehavior::AbstractAction|EString])? "}" +protected class AbstractAction_Impl_Group extends GroupToken { + + public AbstractAction_Impl_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getAbstractAction_ImplAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AbstractAction_Impl_RightCurlyBracketKeyword_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getAbstractAction_ImplAccess().getAbstractActionAction_0().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// {servicebehavior::AbstractAction} +protected class AbstractAction_Impl_AbstractActionAction_0 extends ActionToken { + + public AbstractAction_Impl_AbstractActionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Action getGrammarElement() { + return grammarAccess.getAbstractAction_ImplAccess().getAbstractActionAction_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(!eObjectConsumer.isConsumed()) return null; + return eObjectConsumer; + } +} + +// "AbstractAction" +protected class AbstractAction_Impl_AbstractActionKeyword_1 extends KeywordToken { + + public AbstractAction_Impl_AbstractActionKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getAbstractAction_ImplAccess().getAbstractActionKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AbstractAction_Impl_AbstractActionAction_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "{" +protected class AbstractAction_Impl_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public AbstractAction_Impl_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getAbstractAction_ImplAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AbstractAction_Impl_AbstractActionKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? +protected class AbstractAction_Impl_Group_3 extends GroupToken { + + public AbstractAction_Impl_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getAbstractAction_ImplAccess().getGroup_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AbstractAction_Impl_PredecessorAssignment_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "predecessor" +protected class AbstractAction_Impl_PredecessorKeyword_3_0 extends KeywordToken { + + public AbstractAction_Impl_PredecessorKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getAbstractAction_ImplAccess().getPredecessorKeyword_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AbstractAction_Impl_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// predecessor=[servicebehavior::AbstractAction|EString] +protected class AbstractAction_Impl_PredecessorAssignment_3_1 extends AssignmentToken { + + public AbstractAction_Impl_PredecessorAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getAbstractAction_ImplAccess().getPredecessorAssignment_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AbstractAction_Impl_PredecessorKeyword_3_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("predecessor",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("predecessor"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getAbstractAction_ImplAccess().getPredecessorAbstractActionCrossReference_3_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getAbstractAction_ImplAccess().getPredecessorAbstractActionCrossReference_3_1_0(); + return obj; + } + } + return null; + } + +} + + +// ("successor" successor=[servicebehavior::AbstractAction|EString])? +protected class AbstractAction_Impl_Group_4 extends GroupToken { + + public AbstractAction_Impl_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getAbstractAction_ImplAccess().getGroup_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AbstractAction_Impl_SuccessorAssignment_4_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "successor" +protected class AbstractAction_Impl_SuccessorKeyword_4_0 extends KeywordToken { + + public AbstractAction_Impl_SuccessorKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getAbstractAction_ImplAccess().getSuccessorKeyword_4_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AbstractAction_Impl_Group_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new AbstractAction_Impl_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// successor=[servicebehavior::AbstractAction|EString] +protected class AbstractAction_Impl_SuccessorAssignment_4_1 extends AssignmentToken { + + public AbstractAction_Impl_SuccessorAssignment_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getAbstractAction_ImplAccess().getSuccessorAssignment_4_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AbstractAction_Impl_SuccessorKeyword_4_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("successor",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("successor"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getAbstractAction_ImplAccess().getSuccessorAbstractActionCrossReference_4_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getAbstractAction_ImplAccess().getSuccessorAbstractActionCrossReference_4_1_0(); + return obj; + } + } + return null; + } + +} + + +// "}" +protected class AbstractAction_Impl_RightCurlyBracketKeyword_5 extends KeywordToken { + + public AbstractAction_Impl_RightCurlyBracketKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getAbstractAction_ImplAccess().getRightCurlyBracketKeyword_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AbstractAction_Impl_Group_4(lastRuleCallOrigin, this, 0, inst); + case 1: return new AbstractAction_Impl_Group_3(lastRuleCallOrigin, this, 1, inst); + case 2: return new AbstractAction_Impl_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 2, inst); + default: return null; + } + } + +} + + +/************ end Rule AbstractAction_Impl ****************/ + + +/************ begin Rule ComponentInternalBehavior_Impl **************** + * + * ComponentInternalBehavior_Impl returns servicebehavior::ComponentInternalBehavior: + * {servicebehavior::ComponentInternalBehavior} "ComponentInternalBehavior" "{" ("actions" "{" actions+=AbstractAction + * ("," actions+=AbstractAction)* "}")? "}"; + * + **/ + +// {servicebehavior::ComponentInternalBehavior} "ComponentInternalBehavior" "{" ("actions" "{" actions+=AbstractAction ("," +// actions+=AbstractAction)* "}")? "}" +protected class ComponentInternalBehavior_Impl_Group extends GroupToken { + + public ComponentInternalBehavior_Impl_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getComponentInternalBehavior_ImplAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ComponentInternalBehavior_Impl_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getComponentInternalBehavior_ImplAccess().getComponentInternalBehaviorAction_0().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// {servicebehavior::ComponentInternalBehavior} +protected class ComponentInternalBehavior_Impl_ComponentInternalBehaviorAction_0 extends ActionToken { + + public ComponentInternalBehavior_Impl_ComponentInternalBehaviorAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Action getGrammarElement() { + return grammarAccess.getComponentInternalBehavior_ImplAccess().getComponentInternalBehaviorAction_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(!eObjectConsumer.isConsumed()) return null; + return eObjectConsumer; + } +} + +// "ComponentInternalBehavior" +protected class ComponentInternalBehavior_Impl_ComponentInternalBehaviorKeyword_1 extends KeywordToken { + + public ComponentInternalBehavior_Impl_ComponentInternalBehaviorKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getComponentInternalBehavior_ImplAccess().getComponentInternalBehaviorKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ComponentInternalBehavior_Impl_ComponentInternalBehaviorAction_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "{" +protected class ComponentInternalBehavior_Impl_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public ComponentInternalBehavior_Impl_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getComponentInternalBehavior_ImplAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ComponentInternalBehavior_Impl_ComponentInternalBehaviorKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// ("actions" "{" actions+=AbstractAction ("," actions+=AbstractAction)* "}")? +protected class ComponentInternalBehavior_Impl_Group_3 extends GroupToken { + + public ComponentInternalBehavior_Impl_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getComponentInternalBehavior_ImplAccess().getGroup_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ComponentInternalBehavior_Impl_RightCurlyBracketKeyword_3_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "actions" +protected class ComponentInternalBehavior_Impl_ActionsKeyword_3_0 extends KeywordToken { + + public ComponentInternalBehavior_Impl_ActionsKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getComponentInternalBehavior_ImplAccess().getActionsKeyword_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ComponentInternalBehavior_Impl_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "{" +protected class ComponentInternalBehavior_Impl_LeftCurlyBracketKeyword_3_1 extends KeywordToken { + + public ComponentInternalBehavior_Impl_LeftCurlyBracketKeyword_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getComponentInternalBehavior_ImplAccess().getLeftCurlyBracketKeyword_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ComponentInternalBehavior_Impl_ActionsKeyword_3_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// actions+=AbstractAction +protected class ComponentInternalBehavior_Impl_ActionsAssignment_3_2 extends AssignmentToken { + + public ComponentInternalBehavior_Impl_ActionsAssignment_3_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getComponentInternalBehavior_ImplAccess().getActionsAssignment_3_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AbstractAction_Alternatives(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("actions",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("actions"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getAbstractActionRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getComponentInternalBehavior_ImplAccess().getActionsAbstractActionParserRuleCall_3_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new ComponentInternalBehavior_Impl_LeftCurlyBracketKeyword_3_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," actions+=AbstractAction)* +protected class ComponentInternalBehavior_Impl_Group_3_3 extends GroupToken { + + public ComponentInternalBehavior_Impl_Group_3_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getComponentInternalBehavior_ImplAccess().getGroup_3_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ComponentInternalBehavior_Impl_ActionsAssignment_3_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class ComponentInternalBehavior_Impl_CommaKeyword_3_3_0 extends KeywordToken { + + public ComponentInternalBehavior_Impl_CommaKeyword_3_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getComponentInternalBehavior_ImplAccess().getCommaKeyword_3_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ComponentInternalBehavior_Impl_Group_3_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new ComponentInternalBehavior_Impl_ActionsAssignment_3_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// actions+=AbstractAction +protected class ComponentInternalBehavior_Impl_ActionsAssignment_3_3_1 extends AssignmentToken { + + public ComponentInternalBehavior_Impl_ActionsAssignment_3_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getComponentInternalBehavior_ImplAccess().getActionsAssignment_3_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AbstractAction_Alternatives(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("actions",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("actions"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getAbstractActionRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getComponentInternalBehavior_ImplAccess().getActionsAbstractActionParserRuleCall_3_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new ComponentInternalBehavior_Impl_CommaKeyword_3_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class ComponentInternalBehavior_Impl_RightCurlyBracketKeyword_3_4 extends KeywordToken { + + public ComponentInternalBehavior_Impl_RightCurlyBracketKeyword_3_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getComponentInternalBehavior_ImplAccess().getRightCurlyBracketKeyword_3_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ComponentInternalBehavior_Impl_Group_3_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new ComponentInternalBehavior_Impl_ActionsAssignment_3_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// "}" +protected class ComponentInternalBehavior_Impl_RightCurlyBracketKeyword_4 extends KeywordToken { + + public ComponentInternalBehavior_Impl_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getComponentInternalBehavior_ImplAccess().getRightCurlyBracketKeyword_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ComponentInternalBehavior_Impl_Group_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new ComponentInternalBehavior_Impl_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +/************ end Rule ComponentInternalBehavior_Impl ****************/ + + +/************ begin Rule StartAction **************** + * + * StartAction returns servicebehavior::StartAction: + * {servicebehavior::StartAction} "StartAction" "{" ("predecessor" + * predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + * successor=[servicebehavior::AbstractAction|EString])? "}"; + * + **/ + +// {servicebehavior::StartAction} "StartAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? +// ("successor" successor=[servicebehavior::AbstractAction|EString])? "}" +protected class StartAction_Group extends GroupToken { + + public StartAction_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getStartActionAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new StartAction_RightCurlyBracketKeyword_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getStartActionAccess().getStartActionAction_0().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// {servicebehavior::StartAction} +protected class StartAction_StartActionAction_0 extends ActionToken { + + public StartAction_StartActionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Action getGrammarElement() { + return grammarAccess.getStartActionAccess().getStartActionAction_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(!eObjectConsumer.isConsumed()) return null; + return eObjectConsumer; + } +} + +// "StartAction" +protected class StartAction_StartActionKeyword_1 extends KeywordToken { + + public StartAction_StartActionKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getStartActionAccess().getStartActionKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new StartAction_StartActionAction_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "{" +protected class StartAction_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public StartAction_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getStartActionAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new StartAction_StartActionKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? +protected class StartAction_Group_3 extends GroupToken { + + public StartAction_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getStartActionAccess().getGroup_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new StartAction_PredecessorAssignment_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "predecessor" +protected class StartAction_PredecessorKeyword_3_0 extends KeywordToken { + + public StartAction_PredecessorKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getStartActionAccess().getPredecessorKeyword_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new StartAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// predecessor=[servicebehavior::AbstractAction|EString] +protected class StartAction_PredecessorAssignment_3_1 extends AssignmentToken { + + public StartAction_PredecessorAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getStartActionAccess().getPredecessorAssignment_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new StartAction_PredecessorKeyword_3_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("predecessor",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("predecessor"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getStartActionAccess().getPredecessorAbstractActionCrossReference_3_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getStartActionAccess().getPredecessorAbstractActionCrossReference_3_1_0(); + return obj; + } + } + return null; + } + +} + + +// ("successor" successor=[servicebehavior::AbstractAction|EString])? +protected class StartAction_Group_4 extends GroupToken { + + public StartAction_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getStartActionAccess().getGroup_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new StartAction_SuccessorAssignment_4_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "successor" +protected class StartAction_SuccessorKeyword_4_0 extends KeywordToken { + + public StartAction_SuccessorKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getStartActionAccess().getSuccessorKeyword_4_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new StartAction_Group_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new StartAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// successor=[servicebehavior::AbstractAction|EString] +protected class StartAction_SuccessorAssignment_4_1 extends AssignmentToken { + + public StartAction_SuccessorAssignment_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getStartActionAccess().getSuccessorAssignment_4_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new StartAction_SuccessorKeyword_4_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("successor",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("successor"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getStartActionAccess().getSuccessorAbstractActionCrossReference_4_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getStartActionAccess().getSuccessorAbstractActionCrossReference_4_1_0(); + return obj; + } + } + return null; + } + +} + + +// "}" +protected class StartAction_RightCurlyBracketKeyword_5 extends KeywordToken { + + public StartAction_RightCurlyBracketKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getStartActionAccess().getRightCurlyBracketKeyword_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new StartAction_Group_4(lastRuleCallOrigin, this, 0, inst); + case 1: return new StartAction_Group_3(lastRuleCallOrigin, this, 1, inst); + case 2: return new StartAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 2, inst); + default: return null; + } + } + +} + + +/************ end Rule StartAction ****************/ + + +/************ begin Rule StopAction **************** + * + * StopAction returns servicebehavior::StopAction: + * {servicebehavior::StopAction} "StopAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? + * ("successor" successor=[servicebehavior::AbstractAction|EString])? "}"; + * + **/ + +// {servicebehavior::StopAction} "StopAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? +// ("successor" successor=[servicebehavior::AbstractAction|EString])? "}" +protected class StopAction_Group extends GroupToken { + + public StopAction_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getStopActionAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new StopAction_RightCurlyBracketKeyword_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getStopActionAccess().getStopActionAction_0().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// {servicebehavior::StopAction} +protected class StopAction_StopActionAction_0 extends ActionToken { + + public StopAction_StopActionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Action getGrammarElement() { + return grammarAccess.getStopActionAccess().getStopActionAction_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(!eObjectConsumer.isConsumed()) return null; + return eObjectConsumer; + } +} + +// "StopAction" +protected class StopAction_StopActionKeyword_1 extends KeywordToken { + + public StopAction_StopActionKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getStopActionAccess().getStopActionKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new StopAction_StopActionAction_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "{" +protected class StopAction_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public StopAction_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getStopActionAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new StopAction_StopActionKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? +protected class StopAction_Group_3 extends GroupToken { + + public StopAction_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getStopActionAccess().getGroup_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new StopAction_PredecessorAssignment_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "predecessor" +protected class StopAction_PredecessorKeyword_3_0 extends KeywordToken { + + public StopAction_PredecessorKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getStopActionAccess().getPredecessorKeyword_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new StopAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// predecessor=[servicebehavior::AbstractAction|EString] +protected class StopAction_PredecessorAssignment_3_1 extends AssignmentToken { + + public StopAction_PredecessorAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getStopActionAccess().getPredecessorAssignment_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new StopAction_PredecessorKeyword_3_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("predecessor",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("predecessor"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getStopActionAccess().getPredecessorAbstractActionCrossReference_3_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getStopActionAccess().getPredecessorAbstractActionCrossReference_3_1_0(); + return obj; + } + } + return null; + } + +} + + +// ("successor" successor=[servicebehavior::AbstractAction|EString])? +protected class StopAction_Group_4 extends GroupToken { + + public StopAction_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getStopActionAccess().getGroup_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new StopAction_SuccessorAssignment_4_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "successor" +protected class StopAction_SuccessorKeyword_4_0 extends KeywordToken { + + public StopAction_SuccessorKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getStopActionAccess().getSuccessorKeyword_4_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new StopAction_Group_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new StopAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// successor=[servicebehavior::AbstractAction|EString] +protected class StopAction_SuccessorAssignment_4_1 extends AssignmentToken { + + public StopAction_SuccessorAssignment_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getStopActionAccess().getSuccessorAssignment_4_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new StopAction_SuccessorKeyword_4_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("successor",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("successor"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getStopActionAccess().getSuccessorAbstractActionCrossReference_4_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getStopActionAccess().getSuccessorAbstractActionCrossReference_4_1_0(); + return obj; + } + } + return null; + } + +} + + +// "}" +protected class StopAction_RightCurlyBracketKeyword_5 extends KeywordToken { + + public StopAction_RightCurlyBracketKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getStopActionAccess().getRightCurlyBracketKeyword_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new StopAction_Group_4(lastRuleCallOrigin, this, 0, inst); + case 1: return new StopAction_Group_3(lastRuleCallOrigin, this, 1, inst); + case 2: return new StopAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 2, inst); + default: return null; + } + } + +} + + +/************ end Rule StopAction ****************/ + + +/************ begin Rule AcquireAction **************** + * + * AcquireAction returns servicebehavior::AcquireAction: + * "AcquireAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + * successor=[servicebehavior::AbstractAction|EString])? "passiveResource" + * passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString] "}"; + * + **/ + +// "AcquireAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor" +// successor=[servicebehavior::AbstractAction|EString])? "passiveResource" +// passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString] "}" +protected class AcquireAction_Group extends GroupToken { + + public AcquireAction_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getAcquireActionAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AcquireAction_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getAcquireActionRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "AcquireAction" +protected class AcquireAction_AcquireActionKeyword_0 extends KeywordToken { + + public AcquireAction_AcquireActionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getAcquireActionAccess().getAcquireActionKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// "{" +protected class AcquireAction_LeftCurlyBracketKeyword_1 extends KeywordToken { + + public AcquireAction_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getAcquireActionAccess().getLeftCurlyBracketKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AcquireAction_AcquireActionKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? +protected class AcquireAction_Group_2 extends GroupToken { + + public AcquireAction_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getAcquireActionAccess().getGroup_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AcquireAction_PredecessorAssignment_2_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "predecessor" +protected class AcquireAction_PredecessorKeyword_2_0 extends KeywordToken { + + public AcquireAction_PredecessorKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getAcquireActionAccess().getPredecessorKeyword_2_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AcquireAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// predecessor=[servicebehavior::AbstractAction|EString] +protected class AcquireAction_PredecessorAssignment_2_1 extends AssignmentToken { + + public AcquireAction_PredecessorAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getAcquireActionAccess().getPredecessorAssignment_2_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AcquireAction_PredecessorKeyword_2_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("predecessor",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("predecessor"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getAcquireActionAccess().getPredecessorAbstractActionCrossReference_2_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getAcquireActionAccess().getPredecessorAbstractActionCrossReference_2_1_0(); + return obj; + } + } + return null; + } + +} + + +// ("successor" successor=[servicebehavior::AbstractAction|EString])? +protected class AcquireAction_Group_3 extends GroupToken { + + public AcquireAction_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getAcquireActionAccess().getGroup_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AcquireAction_SuccessorAssignment_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "successor" +protected class AcquireAction_SuccessorKeyword_3_0 extends KeywordToken { + + public AcquireAction_SuccessorKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getAcquireActionAccess().getSuccessorKeyword_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AcquireAction_Group_2(lastRuleCallOrigin, this, 0, inst); + case 1: return new AcquireAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// successor=[servicebehavior::AbstractAction|EString] +protected class AcquireAction_SuccessorAssignment_3_1 extends AssignmentToken { + + public AcquireAction_SuccessorAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getAcquireActionAccess().getSuccessorAssignment_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AcquireAction_SuccessorKeyword_3_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("successor",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("successor"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getAcquireActionAccess().getSuccessorAbstractActionCrossReference_3_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getAcquireActionAccess().getSuccessorAbstractActionCrossReference_3_1_0(); + return obj; + } + } + return null; + } + +} + + +// "passiveResource" +protected class AcquireAction_PassiveResourceKeyword_4 extends KeywordToken { + + public AcquireAction_PassiveResourceKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getAcquireActionAccess().getPassiveResourceKeyword_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AcquireAction_Group_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new AcquireAction_Group_2(lastRuleCallOrigin, this, 1, inst); + case 2: return new AcquireAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 2, inst); + default: return null; + } + } + +} + +// passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString] +protected class AcquireAction_PassiveResourceAssignment_5 extends AssignmentToken { + + public AcquireAction_PassiveResourceAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getAcquireActionAccess().getPassiveResourceAssignment_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AcquireAction_PassiveResourceKeyword_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("passiveResource",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("passiveResource"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getAcquireActionAccess().getPassiveResourcePassiveResourceSpecificationCrossReference_5_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getAcquireActionAccess().getPassiveResourcePassiveResourceSpecificationCrossReference_5_0(); + return obj; + } + } + return null; + } + +} + +// "}" +protected class AcquireAction_RightCurlyBracketKeyword_6 extends KeywordToken { + + public AcquireAction_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getAcquireActionAccess().getRightCurlyBracketKeyword_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AcquireAction_PassiveResourceAssignment_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule AcquireAction ****************/ + + +/************ begin Rule ReleaseAction **************** + * + * ReleaseAction returns servicebehavior::ReleaseAction: + * "ReleaseAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + * successor=[servicebehavior::AbstractAction|EString])? "passiveResource" + * passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString] "}"; + * + **/ + +// "ReleaseAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor" +// successor=[servicebehavior::AbstractAction|EString])? "passiveResource" +// passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString] "}" +protected class ReleaseAction_Group extends GroupToken { + + public ReleaseAction_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getReleaseActionAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ReleaseAction_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getReleaseActionRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "ReleaseAction" +protected class ReleaseAction_ReleaseActionKeyword_0 extends KeywordToken { + + public ReleaseAction_ReleaseActionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getReleaseActionAccess().getReleaseActionKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// "{" +protected class ReleaseAction_LeftCurlyBracketKeyword_1 extends KeywordToken { + + public ReleaseAction_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getReleaseActionAccess().getLeftCurlyBracketKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ReleaseAction_ReleaseActionKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? +protected class ReleaseAction_Group_2 extends GroupToken { + + public ReleaseAction_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getReleaseActionAccess().getGroup_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ReleaseAction_PredecessorAssignment_2_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "predecessor" +protected class ReleaseAction_PredecessorKeyword_2_0 extends KeywordToken { + + public ReleaseAction_PredecessorKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getReleaseActionAccess().getPredecessorKeyword_2_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ReleaseAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// predecessor=[servicebehavior::AbstractAction|EString] +protected class ReleaseAction_PredecessorAssignment_2_1 extends AssignmentToken { + + public ReleaseAction_PredecessorAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getReleaseActionAccess().getPredecessorAssignment_2_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ReleaseAction_PredecessorKeyword_2_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("predecessor",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("predecessor"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getReleaseActionAccess().getPredecessorAbstractActionCrossReference_2_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getReleaseActionAccess().getPredecessorAbstractActionCrossReference_2_1_0(); + return obj; + } + } + return null; + } + +} + + +// ("successor" successor=[servicebehavior::AbstractAction|EString])? +protected class ReleaseAction_Group_3 extends GroupToken { + + public ReleaseAction_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getReleaseActionAccess().getGroup_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ReleaseAction_SuccessorAssignment_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "successor" +protected class ReleaseAction_SuccessorKeyword_3_0 extends KeywordToken { + + public ReleaseAction_SuccessorKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getReleaseActionAccess().getSuccessorKeyword_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ReleaseAction_Group_2(lastRuleCallOrigin, this, 0, inst); + case 1: return new ReleaseAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// successor=[servicebehavior::AbstractAction|EString] +protected class ReleaseAction_SuccessorAssignment_3_1 extends AssignmentToken { + + public ReleaseAction_SuccessorAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getReleaseActionAccess().getSuccessorAssignment_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ReleaseAction_SuccessorKeyword_3_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("successor",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("successor"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getReleaseActionAccess().getSuccessorAbstractActionCrossReference_3_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getReleaseActionAccess().getSuccessorAbstractActionCrossReference_3_1_0(); + return obj; + } + } + return null; + } + +} + + +// "passiveResource" +protected class ReleaseAction_PassiveResourceKeyword_4 extends KeywordToken { + + public ReleaseAction_PassiveResourceKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getReleaseActionAccess().getPassiveResourceKeyword_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ReleaseAction_Group_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new ReleaseAction_Group_2(lastRuleCallOrigin, this, 1, inst); + case 2: return new ReleaseAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 2, inst); + default: return null; + } + } + +} + +// passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString] +protected class ReleaseAction_PassiveResourceAssignment_5 extends AssignmentToken { + + public ReleaseAction_PassiveResourceAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getReleaseActionAccess().getPassiveResourceAssignment_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ReleaseAction_PassiveResourceKeyword_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("passiveResource",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("passiveResource"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getReleaseActionAccess().getPassiveResourcePassiveResourceSpecificationCrossReference_5_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getReleaseActionAccess().getPassiveResourcePassiveResourceSpecificationCrossReference_5_0(); + return obj; + } + } + return null; + } + +} + +// "}" +protected class ReleaseAction_RightCurlyBracketKeyword_6 extends KeywordToken { + + public ReleaseAction_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getReleaseActionAccess().getRightCurlyBracketKeyword_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ReleaseAction_PassiveResourceAssignment_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule ReleaseAction ****************/ + + +/************ begin Rule InternalAction **************** + * + * InternalAction returns servicebehavior::InternalAction: + * {servicebehavior::InternalAction} "InternalAction" "{" ("predecessor" + * predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + * successor=[servicebehavior::AbstractAction|EString])? ("resourceDemandSpecification" "{" + * resourceDemandSpecification+=ResourceDemandSpecification ("," + * resourceDemandSpecification+=ResourceDemandSpecification)* "}")? "}"; + * + **/ + +// {servicebehavior::InternalAction} "InternalAction" "{" ("predecessor" +// predecessor=[servicebehavior::AbstractAction|EString])? ("successor" +// successor=[servicebehavior::AbstractAction|EString])? ("resourceDemandSpecification" "{" +// resourceDemandSpecification+=ResourceDemandSpecification ("," +// resourceDemandSpecification+=ResourceDemandSpecification)* "}")? "}" +protected class InternalAction_Group extends GroupToken { + + public InternalAction_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getInternalActionAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InternalAction_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getInternalActionAccess().getInternalActionAction_0().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// {servicebehavior::InternalAction} +protected class InternalAction_InternalActionAction_0 extends ActionToken { + + public InternalAction_InternalActionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Action getGrammarElement() { + return grammarAccess.getInternalActionAccess().getInternalActionAction_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(!eObjectConsumer.isConsumed()) return null; + return eObjectConsumer; + } +} + +// "InternalAction" +protected class InternalAction_InternalActionKeyword_1 extends KeywordToken { + + public InternalAction_InternalActionKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInternalActionAccess().getInternalActionKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InternalAction_InternalActionAction_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "{" +protected class InternalAction_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public InternalAction_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInternalActionAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InternalAction_InternalActionKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? +protected class InternalAction_Group_3 extends GroupToken { + + public InternalAction_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getInternalActionAccess().getGroup_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InternalAction_PredecessorAssignment_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "predecessor" +protected class InternalAction_PredecessorKeyword_3_0 extends KeywordToken { + + public InternalAction_PredecessorKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInternalActionAccess().getPredecessorKeyword_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InternalAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// predecessor=[servicebehavior::AbstractAction|EString] +protected class InternalAction_PredecessorAssignment_3_1 extends AssignmentToken { + + public InternalAction_PredecessorAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getInternalActionAccess().getPredecessorAssignment_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InternalAction_PredecessorKeyword_3_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("predecessor",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("predecessor"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getInternalActionAccess().getPredecessorAbstractActionCrossReference_3_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getInternalActionAccess().getPredecessorAbstractActionCrossReference_3_1_0(); + return obj; + } + } + return null; + } + +} + + +// ("successor" successor=[servicebehavior::AbstractAction|EString])? +protected class InternalAction_Group_4 extends GroupToken { + + public InternalAction_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getInternalActionAccess().getGroup_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InternalAction_SuccessorAssignment_4_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "successor" +protected class InternalAction_SuccessorKeyword_4_0 extends KeywordToken { + + public InternalAction_SuccessorKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInternalActionAccess().getSuccessorKeyword_4_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InternalAction_Group_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new InternalAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// successor=[servicebehavior::AbstractAction|EString] +protected class InternalAction_SuccessorAssignment_4_1 extends AssignmentToken { + + public InternalAction_SuccessorAssignment_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getInternalActionAccess().getSuccessorAssignment_4_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InternalAction_SuccessorKeyword_4_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("successor",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("successor"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getInternalActionAccess().getSuccessorAbstractActionCrossReference_4_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getInternalActionAccess().getSuccessorAbstractActionCrossReference_4_1_0(); + return obj; + } + } + return null; + } + +} + + +// ("resourceDemandSpecification" "{" resourceDemandSpecification+=ResourceDemandSpecification ("," +// resourceDemandSpecification+=ResourceDemandSpecification)* "}")? +protected class InternalAction_Group_5 extends GroupToken { + + public InternalAction_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getInternalActionAccess().getGroup_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InternalAction_RightCurlyBracketKeyword_5_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "resourceDemandSpecification" +protected class InternalAction_ResourceDemandSpecificationKeyword_5_0 extends KeywordToken { + + public InternalAction_ResourceDemandSpecificationKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInternalActionAccess().getResourceDemandSpecificationKeyword_5_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InternalAction_Group_4(lastRuleCallOrigin, this, 0, inst); + case 1: return new InternalAction_Group_3(lastRuleCallOrigin, this, 1, inst); + case 2: return new InternalAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 2, inst); + default: return null; + } + } + +} + +// "{" +protected class InternalAction_LeftCurlyBracketKeyword_5_1 extends KeywordToken { + + public InternalAction_LeftCurlyBracketKeyword_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInternalActionAccess().getLeftCurlyBracketKeyword_5_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InternalAction_ResourceDemandSpecificationKeyword_5_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// resourceDemandSpecification+=ResourceDemandSpecification +protected class InternalAction_ResourceDemandSpecificationAssignment_5_2 extends AssignmentToken { + + public InternalAction_ResourceDemandSpecificationAssignment_5_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getInternalActionAccess().getResourceDemandSpecificationAssignment_5_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ResourceDemandSpecification_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("resourceDemandSpecification",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("resourceDemandSpecification"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getResourceDemandSpecificationRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getInternalActionAccess().getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_5_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new InternalAction_LeftCurlyBracketKeyword_5_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," resourceDemandSpecification+=ResourceDemandSpecification)* +protected class InternalAction_Group_5_3 extends GroupToken { + + public InternalAction_Group_5_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getInternalActionAccess().getGroup_5_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InternalAction_ResourceDemandSpecificationAssignment_5_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class InternalAction_CommaKeyword_5_3_0 extends KeywordToken { + + public InternalAction_CommaKeyword_5_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInternalActionAccess().getCommaKeyword_5_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InternalAction_Group_5_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new InternalAction_ResourceDemandSpecificationAssignment_5_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// resourceDemandSpecification+=ResourceDemandSpecification +protected class InternalAction_ResourceDemandSpecificationAssignment_5_3_1 extends AssignmentToken { + + public InternalAction_ResourceDemandSpecificationAssignment_5_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getInternalActionAccess().getResourceDemandSpecificationAssignment_5_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ResourceDemandSpecification_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("resourceDemandSpecification",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("resourceDemandSpecification"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getResourceDemandSpecificationRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getInternalActionAccess().getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_5_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new InternalAction_CommaKeyword_5_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class InternalAction_RightCurlyBracketKeyword_5_4 extends KeywordToken { + + public InternalAction_RightCurlyBracketKeyword_5_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInternalActionAccess().getRightCurlyBracketKeyword_5_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InternalAction_Group_5_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new InternalAction_ResourceDemandSpecificationAssignment_5_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// "}" +protected class InternalAction_RightCurlyBracketKeyword_6 extends KeywordToken { + + public InternalAction_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInternalActionAccess().getRightCurlyBracketKeyword_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InternalAction_Group_5(lastRuleCallOrigin, this, 0, inst); + case 1: return new InternalAction_Group_4(lastRuleCallOrigin, this, 1, inst); + case 2: return new InternalAction_Group_3(lastRuleCallOrigin, this, 2, inst); + case 3: return new InternalAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 3, inst); + default: return null; + } + } + +} + + +/************ end Rule InternalAction ****************/ + + +/************ begin Rule ForkAction **************** + * + * ForkAction returns servicebehavior::ForkAction: + * withSynchronizationBarrier?="withSynchronizationBarrier" "ForkAction" "{" ("predecessor" + * predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + * successor=[servicebehavior::AbstractAction|EString])? ("forkedBehaviors" "{" + * forkedBehaviors+=ComponentInternalBehavior ("," forkedBehaviors+=ComponentInternalBehavior)* "}")? "}"; + * + **/ + +// withSynchronizationBarrier?="withSynchronizationBarrier" "ForkAction" "{" ("predecessor" +// predecessor=[servicebehavior::AbstractAction|EString])? ("successor" +// successor=[servicebehavior::AbstractAction|EString])? ("forkedBehaviors" "{" forkedBehaviors+=ComponentInternalBehavior +// ("," forkedBehaviors+=ComponentInternalBehavior)* "}")? "}" +protected class ForkAction_Group extends GroupToken { + + public ForkAction_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getForkActionAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ForkAction_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getForkActionRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// withSynchronizationBarrier?="withSynchronizationBarrier" +protected class ForkAction_WithSynchronizationBarrierAssignment_0 extends AssignmentToken { + + public ForkAction_WithSynchronizationBarrierAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getForkActionAccess().getWithSynchronizationBarrierAssignment_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("withSynchronizationBarrier",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("withSynchronizationBarrier"); + if(Boolean.TRUE.equals(value)) { // org::eclipse::xtext::impl::KeywordImpl + type = AssignmentType.KEYWORD; + element = grammarAccess.getForkActionAccess().getWithSynchronizationBarrierWithSynchronizationBarrierKeyword_0_0(); + return obj; + } + return null; + } + +} + +// "ForkAction" +protected class ForkAction_ForkActionKeyword_1 extends KeywordToken { + + public ForkAction_ForkActionKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getForkActionAccess().getForkActionKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ForkAction_WithSynchronizationBarrierAssignment_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "{" +protected class ForkAction_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public ForkAction_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getForkActionAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ForkAction_ForkActionKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? +protected class ForkAction_Group_3 extends GroupToken { + + public ForkAction_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getForkActionAccess().getGroup_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ForkAction_PredecessorAssignment_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "predecessor" +protected class ForkAction_PredecessorKeyword_3_0 extends KeywordToken { + + public ForkAction_PredecessorKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getForkActionAccess().getPredecessorKeyword_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ForkAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// predecessor=[servicebehavior::AbstractAction|EString] +protected class ForkAction_PredecessorAssignment_3_1 extends AssignmentToken { + + public ForkAction_PredecessorAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getForkActionAccess().getPredecessorAssignment_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ForkAction_PredecessorKeyword_3_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("predecessor",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("predecessor"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getForkActionAccess().getPredecessorAbstractActionCrossReference_3_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getForkActionAccess().getPredecessorAbstractActionCrossReference_3_1_0(); + return obj; + } + } + return null; + } + +} + + +// ("successor" successor=[servicebehavior::AbstractAction|EString])? +protected class ForkAction_Group_4 extends GroupToken { + + public ForkAction_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getForkActionAccess().getGroup_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ForkAction_SuccessorAssignment_4_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "successor" +protected class ForkAction_SuccessorKeyword_4_0 extends KeywordToken { + + public ForkAction_SuccessorKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getForkActionAccess().getSuccessorKeyword_4_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ForkAction_Group_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new ForkAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// successor=[servicebehavior::AbstractAction|EString] +protected class ForkAction_SuccessorAssignment_4_1 extends AssignmentToken { + + public ForkAction_SuccessorAssignment_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getForkActionAccess().getSuccessorAssignment_4_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ForkAction_SuccessorKeyword_4_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("successor",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("successor"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getForkActionAccess().getSuccessorAbstractActionCrossReference_4_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getForkActionAccess().getSuccessorAbstractActionCrossReference_4_1_0(); + return obj; + } + } + return null; + } + +} + + +// ("forkedBehaviors" "{" forkedBehaviors+=ComponentInternalBehavior ("," forkedBehaviors+=ComponentInternalBehavior)* +// "}")? +protected class ForkAction_Group_5 extends GroupToken { + + public ForkAction_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getForkActionAccess().getGroup_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ForkAction_RightCurlyBracketKeyword_5_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "forkedBehaviors" +protected class ForkAction_ForkedBehaviorsKeyword_5_0 extends KeywordToken { + + public ForkAction_ForkedBehaviorsKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getForkActionAccess().getForkedBehaviorsKeyword_5_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ForkAction_Group_4(lastRuleCallOrigin, this, 0, inst); + case 1: return new ForkAction_Group_3(lastRuleCallOrigin, this, 1, inst); + case 2: return new ForkAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 2, inst); + default: return null; + } + } + +} + +// "{" +protected class ForkAction_LeftCurlyBracketKeyword_5_1 extends KeywordToken { + + public ForkAction_LeftCurlyBracketKeyword_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getForkActionAccess().getLeftCurlyBracketKeyword_5_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ForkAction_ForkedBehaviorsKeyword_5_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// forkedBehaviors+=ComponentInternalBehavior +protected class ForkAction_ForkedBehaviorsAssignment_5_2 extends AssignmentToken { + + public ForkAction_ForkedBehaviorsAssignment_5_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getForkActionAccess().getForkedBehaviorsAssignment_5_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ComponentInternalBehavior_Alternatives(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("forkedBehaviors",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("forkedBehaviors"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getComponentInternalBehaviorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getForkActionAccess().getForkedBehaviorsComponentInternalBehaviorParserRuleCall_5_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new ForkAction_LeftCurlyBracketKeyword_5_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," forkedBehaviors+=ComponentInternalBehavior)* +protected class ForkAction_Group_5_3 extends GroupToken { + + public ForkAction_Group_5_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getForkActionAccess().getGroup_5_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ForkAction_ForkedBehaviorsAssignment_5_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class ForkAction_CommaKeyword_5_3_0 extends KeywordToken { + + public ForkAction_CommaKeyword_5_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getForkActionAccess().getCommaKeyword_5_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ForkAction_Group_5_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new ForkAction_ForkedBehaviorsAssignment_5_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// forkedBehaviors+=ComponentInternalBehavior +protected class ForkAction_ForkedBehaviorsAssignment_5_3_1 extends AssignmentToken { + + public ForkAction_ForkedBehaviorsAssignment_5_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getForkActionAccess().getForkedBehaviorsAssignment_5_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ComponentInternalBehavior_Alternatives(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("forkedBehaviors",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("forkedBehaviors"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getComponentInternalBehaviorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getForkActionAccess().getForkedBehaviorsComponentInternalBehaviorParserRuleCall_5_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new ForkAction_CommaKeyword_5_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class ForkAction_RightCurlyBracketKeyword_5_4 extends KeywordToken { + + public ForkAction_RightCurlyBracketKeyword_5_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getForkActionAccess().getRightCurlyBracketKeyword_5_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ForkAction_Group_5_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new ForkAction_ForkedBehaviorsAssignment_5_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// "}" +protected class ForkAction_RightCurlyBracketKeyword_6 extends KeywordToken { + + public ForkAction_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getForkActionAccess().getRightCurlyBracketKeyword_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ForkAction_Group_5(lastRuleCallOrigin, this, 0, inst); + case 1: return new ForkAction_Group_4(lastRuleCallOrigin, this, 1, inst); + case 2: return new ForkAction_Group_3(lastRuleCallOrigin, this, 2, inst); + case 3: return new ForkAction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 3, inst); + default: return null; + } + } + +} + + +/************ end Rule ForkAction ****************/ + + +/************ begin Rule BranchAction **************** + * + * BranchAction returns servicebehavior::BranchAction: + * "BranchAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + * successor=[servicebehavior::AbstractAction|EString])? ("branches" "{" branches+=BranchTransition ("," + * branches+=BranchTransition)* "}")? "branchProbabilities" branchProbabilities=BranchProbabilities "}"; + * + **/ + +// "BranchAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor" +// successor=[servicebehavior::AbstractAction|EString])? ("branches" "{" branches+=BranchTransition ("," +// branches+=BranchTransition)* "}")? "branchProbabilities" branchProbabilities=BranchProbabilities "}" +protected class BranchAction_Group extends GroupToken { + + public BranchAction_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getBranchActionAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchAction_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getBranchActionRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "BranchAction" +protected class BranchAction_BranchActionKeyword_0 extends KeywordToken { + + public BranchAction_BranchActionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBranchActionAccess().getBranchActionKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// "{" +protected class BranchAction_LeftCurlyBracketKeyword_1 extends KeywordToken { + + public BranchAction_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBranchActionAccess().getLeftCurlyBracketKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchAction_BranchActionKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? +protected class BranchAction_Group_2 extends GroupToken { + + public BranchAction_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getBranchActionAccess().getGroup_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchAction_PredecessorAssignment_2_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "predecessor" +protected class BranchAction_PredecessorKeyword_2_0 extends KeywordToken { + + public BranchAction_PredecessorKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBranchActionAccess().getPredecessorKeyword_2_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// predecessor=[servicebehavior::AbstractAction|EString] +protected class BranchAction_PredecessorAssignment_2_1 extends AssignmentToken { + + public BranchAction_PredecessorAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBranchActionAccess().getPredecessorAssignment_2_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchAction_PredecessorKeyword_2_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("predecessor",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("predecessor"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getBranchActionAccess().getPredecessorAbstractActionCrossReference_2_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getBranchActionAccess().getPredecessorAbstractActionCrossReference_2_1_0(); + return obj; + } + } + return null; + } + +} + + +// ("successor" successor=[servicebehavior::AbstractAction|EString])? +protected class BranchAction_Group_3 extends GroupToken { + + public BranchAction_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getBranchActionAccess().getGroup_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchAction_SuccessorAssignment_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "successor" +protected class BranchAction_SuccessorKeyword_3_0 extends KeywordToken { + + public BranchAction_SuccessorKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBranchActionAccess().getSuccessorKeyword_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchAction_Group_2(lastRuleCallOrigin, this, 0, inst); + case 1: return new BranchAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// successor=[servicebehavior::AbstractAction|EString] +protected class BranchAction_SuccessorAssignment_3_1 extends AssignmentToken { + + public BranchAction_SuccessorAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBranchActionAccess().getSuccessorAssignment_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchAction_SuccessorKeyword_3_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("successor",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("successor"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getBranchActionAccess().getSuccessorAbstractActionCrossReference_3_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getBranchActionAccess().getSuccessorAbstractActionCrossReference_3_1_0(); + return obj; + } + } + return null; + } + +} + + +// ("branches" "{" branches+=BranchTransition ("," branches+=BranchTransition)* "}")? +protected class BranchAction_Group_4 extends GroupToken { + + public BranchAction_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getBranchActionAccess().getGroup_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchAction_RightCurlyBracketKeyword_4_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "branches" +protected class BranchAction_BranchesKeyword_4_0 extends KeywordToken { + + public BranchAction_BranchesKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBranchActionAccess().getBranchesKeyword_4_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchAction_Group_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new BranchAction_Group_2(lastRuleCallOrigin, this, 1, inst); + case 2: return new BranchAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 2, inst); + default: return null; + } + } + +} + +// "{" +protected class BranchAction_LeftCurlyBracketKeyword_4_1 extends KeywordToken { + + public BranchAction_LeftCurlyBracketKeyword_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBranchActionAccess().getLeftCurlyBracketKeyword_4_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchAction_BranchesKeyword_4_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// branches+=BranchTransition +protected class BranchAction_BranchesAssignment_4_2 extends AssignmentToken { + + public BranchAction_BranchesAssignment_4_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBranchActionAccess().getBranchesAssignment_4_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchTransition_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("branches",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("branches"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getBranchTransitionRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getBranchActionAccess().getBranchesBranchTransitionParserRuleCall_4_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new BranchAction_LeftCurlyBracketKeyword_4_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," branches+=BranchTransition)* +protected class BranchAction_Group_4_3 extends GroupToken { + + public BranchAction_Group_4_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getBranchActionAccess().getGroup_4_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchAction_BranchesAssignment_4_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class BranchAction_CommaKeyword_4_3_0 extends KeywordToken { + + public BranchAction_CommaKeyword_4_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBranchActionAccess().getCommaKeyword_4_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchAction_Group_4_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new BranchAction_BranchesAssignment_4_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// branches+=BranchTransition +protected class BranchAction_BranchesAssignment_4_3_1 extends AssignmentToken { + + public BranchAction_BranchesAssignment_4_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBranchActionAccess().getBranchesAssignment_4_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchTransition_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("branches",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("branches"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getBranchTransitionRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getBranchActionAccess().getBranchesBranchTransitionParserRuleCall_4_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new BranchAction_CommaKeyword_4_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class BranchAction_RightCurlyBracketKeyword_4_4 extends KeywordToken { + + public BranchAction_RightCurlyBracketKeyword_4_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBranchActionAccess().getRightCurlyBracketKeyword_4_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchAction_Group_4_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new BranchAction_BranchesAssignment_4_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// "branchProbabilities" +protected class BranchAction_BranchProbabilitiesKeyword_5 extends KeywordToken { + + public BranchAction_BranchProbabilitiesKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBranchActionAccess().getBranchProbabilitiesKeyword_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchAction_Group_4(lastRuleCallOrigin, this, 0, inst); + case 1: return new BranchAction_Group_3(lastRuleCallOrigin, this, 1, inst); + case 2: return new BranchAction_Group_2(lastRuleCallOrigin, this, 2, inst); + case 3: return new BranchAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 3, inst); + default: return null; + } + } + +} + +// branchProbabilities=BranchProbabilities +protected class BranchAction_BranchProbabilitiesAssignment_6 extends AssignmentToken { + + public BranchAction_BranchProbabilitiesAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBranchActionAccess().getBranchProbabilitiesAssignment_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchProbabilities_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("branchProbabilities",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("branchProbabilities"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getBranchProbabilitiesRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getBranchActionAccess().getBranchProbabilitiesBranchProbabilitiesParserRuleCall_6_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new BranchAction_BranchProbabilitiesKeyword_5(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// "}" +protected class BranchAction_RightCurlyBracketKeyword_7 extends KeywordToken { + + public BranchAction_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBranchActionAccess().getRightCurlyBracketKeyword_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchAction_BranchProbabilitiesAssignment_6(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule BranchAction ****************/ + + +/************ begin Rule LoopAction **************** + * + * LoopAction returns servicebehavior::LoopAction: + * "LoopAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + * successor=[servicebehavior::AbstractAction|EString])? "loopBodyBehavior" loopBodyBehavior=ComponentInternalBehavior + * "loopIterationCountDistribution" loopIterationCountDistribution=LoopIterationCountDistribution "}"; + * + **/ + +// "LoopAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor" +// successor=[servicebehavior::AbstractAction|EString])? "loopBodyBehavior" loopBodyBehavior=ComponentInternalBehavior +// "loopIterationCountDistribution" loopIterationCountDistribution=LoopIterationCountDistribution "}" +protected class LoopAction_Group extends GroupToken { + + public LoopAction_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getLoopActionAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new LoopAction_RightCurlyBracketKeyword_8(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getLoopActionRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "LoopAction" +protected class LoopAction_LoopActionKeyword_0 extends KeywordToken { + + public LoopAction_LoopActionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getLoopActionAccess().getLoopActionKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// "{" +protected class LoopAction_LeftCurlyBracketKeyword_1 extends KeywordToken { + + public LoopAction_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getLoopActionAccess().getLeftCurlyBracketKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new LoopAction_LoopActionKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? +protected class LoopAction_Group_2 extends GroupToken { + + public LoopAction_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getLoopActionAccess().getGroup_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new LoopAction_PredecessorAssignment_2_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "predecessor" +protected class LoopAction_PredecessorKeyword_2_0 extends KeywordToken { + + public LoopAction_PredecessorKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getLoopActionAccess().getPredecessorKeyword_2_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new LoopAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// predecessor=[servicebehavior::AbstractAction|EString] +protected class LoopAction_PredecessorAssignment_2_1 extends AssignmentToken { + + public LoopAction_PredecessorAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getLoopActionAccess().getPredecessorAssignment_2_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new LoopAction_PredecessorKeyword_2_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("predecessor",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("predecessor"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getLoopActionAccess().getPredecessorAbstractActionCrossReference_2_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getLoopActionAccess().getPredecessorAbstractActionCrossReference_2_1_0(); + return obj; + } + } + return null; + } + +} + + +// ("successor" successor=[servicebehavior::AbstractAction|EString])? +protected class LoopAction_Group_3 extends GroupToken { + + public LoopAction_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getLoopActionAccess().getGroup_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new LoopAction_SuccessorAssignment_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "successor" +protected class LoopAction_SuccessorKeyword_3_0 extends KeywordToken { + + public LoopAction_SuccessorKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getLoopActionAccess().getSuccessorKeyword_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new LoopAction_Group_2(lastRuleCallOrigin, this, 0, inst); + case 1: return new LoopAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// successor=[servicebehavior::AbstractAction|EString] +protected class LoopAction_SuccessorAssignment_3_1 extends AssignmentToken { + + public LoopAction_SuccessorAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getLoopActionAccess().getSuccessorAssignment_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new LoopAction_SuccessorKeyword_3_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("successor",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("successor"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getLoopActionAccess().getSuccessorAbstractActionCrossReference_3_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getLoopActionAccess().getSuccessorAbstractActionCrossReference_3_1_0(); + return obj; + } + } + return null; + } + +} + + +// "loopBodyBehavior" +protected class LoopAction_LoopBodyBehaviorKeyword_4 extends KeywordToken { + + public LoopAction_LoopBodyBehaviorKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getLoopActionAccess().getLoopBodyBehaviorKeyword_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new LoopAction_Group_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new LoopAction_Group_2(lastRuleCallOrigin, this, 1, inst); + case 2: return new LoopAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 2, inst); + default: return null; + } + } + +} + +// loopBodyBehavior=ComponentInternalBehavior +protected class LoopAction_LoopBodyBehaviorAssignment_5 extends AssignmentToken { + + public LoopAction_LoopBodyBehaviorAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getLoopActionAccess().getLoopBodyBehaviorAssignment_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ComponentInternalBehavior_Alternatives(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("loopBodyBehavior",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("loopBodyBehavior"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getComponentInternalBehaviorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getLoopActionAccess().getLoopBodyBehaviorComponentInternalBehaviorParserRuleCall_5_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new LoopAction_LoopBodyBehaviorKeyword_4(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// "loopIterationCountDistribution" +protected class LoopAction_LoopIterationCountDistributionKeyword_6 extends KeywordToken { + + public LoopAction_LoopIterationCountDistributionKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getLoopActionAccess().getLoopIterationCountDistributionKeyword_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new LoopAction_LoopBodyBehaviorAssignment_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// loopIterationCountDistribution=LoopIterationCountDistribution +protected class LoopAction_LoopIterationCountDistributionAssignment_7 extends AssignmentToken { + + public LoopAction_LoopIterationCountDistributionAssignment_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getLoopActionAccess().getLoopIterationCountDistributionAssignment_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new LoopIterationCountDistribution_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("loopIterationCountDistribution",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("loopIterationCountDistribution"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getLoopIterationCountDistributionRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getLoopActionAccess().getLoopIterationCountDistributionLoopIterationCountDistributionParserRuleCall_7_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new LoopAction_LoopIterationCountDistributionKeyword_6(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// "}" +protected class LoopAction_RightCurlyBracketKeyword_8 extends KeywordToken { + + public LoopAction_RightCurlyBracketKeyword_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getLoopActionAccess().getRightCurlyBracketKeyword_8(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new LoopAction_LoopIterationCountDistributionAssignment_7(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule LoopAction ****************/ + + +/************ begin Rule ExternalCallAction **************** + * + * ExternalCallAction returns servicebehavior::ExternalCallAction: + * "ExternalCallAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + * successor=[servicebehavior::AbstractAction|EString])? "signature" signature=[repository::Signature|EString] + * "requiredRole" requiredRole=[repository::RequiredRole|EString] "}"; + * + **/ + +// "ExternalCallAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor" +// successor=[servicebehavior::AbstractAction|EString])? "signature" signature=[repository::Signature|EString] +// "requiredRole" requiredRole=[repository::RequiredRole|EString] "}" +protected class ExternalCallAction_Group extends GroupToken { + + public ExternalCallAction_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getExternalCallActionAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallAction_RightCurlyBracketKeyword_8(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getExternalCallActionRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "ExternalCallAction" +protected class ExternalCallAction_ExternalCallActionKeyword_0 extends KeywordToken { + + public ExternalCallAction_ExternalCallActionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallActionAccess().getExternalCallActionKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// "{" +protected class ExternalCallAction_LeftCurlyBracketKeyword_1 extends KeywordToken { + + public ExternalCallAction_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallActionAccess().getLeftCurlyBracketKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallAction_ExternalCallActionKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? +protected class ExternalCallAction_Group_2 extends GroupToken { + + public ExternalCallAction_Group_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getExternalCallActionAccess().getGroup_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallAction_PredecessorAssignment_2_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "predecessor" +protected class ExternalCallAction_PredecessorKeyword_2_0 extends KeywordToken { + + public ExternalCallAction_PredecessorKeyword_2_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallActionAccess().getPredecessorKeyword_2_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// predecessor=[servicebehavior::AbstractAction|EString] +protected class ExternalCallAction_PredecessorAssignment_2_1 extends AssignmentToken { + + public ExternalCallAction_PredecessorAssignment_2_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getExternalCallActionAccess().getPredecessorAssignment_2_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallAction_PredecessorKeyword_2_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("predecessor",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("predecessor"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getExternalCallActionAccess().getPredecessorAbstractActionCrossReference_2_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getExternalCallActionAccess().getPredecessorAbstractActionCrossReference_2_1_0(); + return obj; + } + } + return null; + } + +} + + +// ("successor" successor=[servicebehavior::AbstractAction|EString])? +protected class ExternalCallAction_Group_3 extends GroupToken { + + public ExternalCallAction_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getExternalCallActionAccess().getGroup_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallAction_SuccessorAssignment_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "successor" +protected class ExternalCallAction_SuccessorKeyword_3_0 extends KeywordToken { + + public ExternalCallAction_SuccessorKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallActionAccess().getSuccessorKeyword_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallAction_Group_2(lastRuleCallOrigin, this, 0, inst); + case 1: return new ExternalCallAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// successor=[servicebehavior::AbstractAction|EString] +protected class ExternalCallAction_SuccessorAssignment_3_1 extends AssignmentToken { + + public ExternalCallAction_SuccessorAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getExternalCallActionAccess().getSuccessorAssignment_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallAction_SuccessorKeyword_3_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("successor",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("successor"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getExternalCallActionAccess().getSuccessorAbstractActionCrossReference_3_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getExternalCallActionAccess().getSuccessorAbstractActionCrossReference_3_1_0(); + return obj; + } + } + return null; + } + +} + + +// "signature" +protected class ExternalCallAction_SignatureKeyword_4 extends KeywordToken { + + public ExternalCallAction_SignatureKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallActionAccess().getSignatureKeyword_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallAction_Group_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new ExternalCallAction_Group_2(lastRuleCallOrigin, this, 1, inst); + case 2: return new ExternalCallAction_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 2, inst); + default: return null; + } + } + +} + +// signature=[repository::Signature|EString] +protected class ExternalCallAction_SignatureAssignment_5 extends AssignmentToken { + + public ExternalCallAction_SignatureAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getExternalCallActionAccess().getSignatureAssignment_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallAction_SignatureKeyword_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("signature",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("signature"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getExternalCallActionAccess().getSignatureSignatureCrossReference_5_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getExternalCallActionAccess().getSignatureSignatureCrossReference_5_0(); + return obj; + } + } + return null; + } + +} + +// "requiredRole" +protected class ExternalCallAction_RequiredRoleKeyword_6 extends KeywordToken { + + public ExternalCallAction_RequiredRoleKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallActionAccess().getRequiredRoleKeyword_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallAction_SignatureAssignment_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// requiredRole=[repository::RequiredRole|EString] +protected class ExternalCallAction_RequiredRoleAssignment_7 extends AssignmentToken { + + public ExternalCallAction_RequiredRoleAssignment_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getExternalCallActionAccess().getRequiredRoleAssignment_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallAction_RequiredRoleKeyword_6(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("requiredRole",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiredRole"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getExternalCallActionAccess().getRequiredRoleRequiredRoleCrossReference_7_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getExternalCallActionAccess().getRequiredRoleRequiredRoleCrossReference_7_0(); + return obj; + } + } + return null; + } + +} + +// "}" +protected class ExternalCallAction_RightCurlyBracketKeyword_8 extends KeywordToken { + + public ExternalCallAction_RightCurlyBracketKeyword_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallActionAccess().getRightCurlyBracketKeyword_8(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallAction_RequiredRoleAssignment_7(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule ExternalCallAction ****************/ + + +/************ begin Rule PassiveResourceSpecification **************** + * + * PassiveResourceSpecification returns resourceconfiguration::PassiveResourceSpecification: + * "PassiveResourceSpecification" id=EString "{" "name" name=EString "passiveResourceType" + * passiveResourceType=[resourcetype::PassiveResourceType|EString] "capacity" capacity=PassiveResourceCapacity "}"; + * + **/ + +// "PassiveResourceSpecification" id=EString "{" "name" name=EString "passiveResourceType" +// passiveResourceType=[resourcetype::PassiveResourceType|EString] "capacity" capacity=PassiveResourceCapacity "}" +protected class PassiveResourceSpecification_Group extends GroupToken { + + public PassiveResourceSpecification_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getPassiveResourceSpecificationAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PassiveResourceSpecification_RightCurlyBracketKeyword_9(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getPassiveResourceSpecificationRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "PassiveResourceSpecification" +protected class PassiveResourceSpecification_PassiveResourceSpecificationKeyword_0 extends KeywordToken { + + public PassiveResourceSpecification_PassiveResourceSpecificationKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getPassiveResourceSpecificationAccess().getPassiveResourceSpecificationKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// id=EString +protected class PassiveResourceSpecification_IdAssignment_1 extends AssignmentToken { + + public PassiveResourceSpecification_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getPassiveResourceSpecificationAccess().getIdAssignment_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PassiveResourceSpecification_PassiveResourceSpecificationKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("id",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getPassiveResourceSpecificationAccess().getIdEStringParserRuleCall_1_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getPassiveResourceSpecificationAccess().getIdEStringParserRuleCall_1_0(); + return obj; + } + return null; + } + +} + +// "{" +protected class PassiveResourceSpecification_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public PassiveResourceSpecification_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getPassiveResourceSpecificationAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PassiveResourceSpecification_IdAssignment_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "name" +protected class PassiveResourceSpecification_NameKeyword_3 extends KeywordToken { + + public PassiveResourceSpecification_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getPassiveResourceSpecificationAccess().getNameKeyword_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PassiveResourceSpecification_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// name=EString +protected class PassiveResourceSpecification_NameAssignment_4 extends AssignmentToken { + + public PassiveResourceSpecification_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getPassiveResourceSpecificationAccess().getNameAssignment_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PassiveResourceSpecification_NameKeyword_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getPassiveResourceSpecificationAccess().getNameEStringParserRuleCall_4_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getPassiveResourceSpecificationAccess().getNameEStringParserRuleCall_4_0(); + return obj; + } + return null; + } + +} + +// "passiveResourceType" +protected class PassiveResourceSpecification_PassiveResourceTypeKeyword_5 extends KeywordToken { + + public PassiveResourceSpecification_PassiveResourceTypeKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getPassiveResourceSpecificationAccess().getPassiveResourceTypeKeyword_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PassiveResourceSpecification_NameAssignment_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// passiveResourceType=[resourcetype::PassiveResourceType|EString] +protected class PassiveResourceSpecification_PassiveResourceTypeAssignment_6 extends AssignmentToken { + + public PassiveResourceSpecification_PassiveResourceTypeAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getPassiveResourceSpecificationAccess().getPassiveResourceTypeAssignment_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PassiveResourceSpecification_PassiveResourceTypeKeyword_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("passiveResourceType",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("passiveResourceType"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getPassiveResourceSpecificationAccess().getPassiveResourceTypePassiveResourceTypeCrossReference_6_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getPassiveResourceSpecificationAccess().getPassiveResourceTypePassiveResourceTypeCrossReference_6_0(); + return obj; + } + } + return null; + } + +} + +// "capacity" +protected class PassiveResourceSpecification_CapacityKeyword_7 extends KeywordToken { + + public PassiveResourceSpecification_CapacityKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getPassiveResourceSpecificationAccess().getCapacityKeyword_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PassiveResourceSpecification_PassiveResourceTypeAssignment_6(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// capacity=PassiveResourceCapacity +protected class PassiveResourceSpecification_CapacityAssignment_8 extends AssignmentToken { + + public PassiveResourceSpecification_CapacityAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getPassiveResourceSpecificationAccess().getCapacityAssignment_8(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PassiveResourceCapacity_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("capacity",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("capacity"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getPassiveResourceCapacityRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getPassiveResourceSpecificationAccess().getCapacityPassiveResourceCapacityParserRuleCall_8_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new PassiveResourceSpecification_CapacityKeyword_7(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// "}" +protected class PassiveResourceSpecification_RightCurlyBracketKeyword_9 extends KeywordToken { + + public PassiveResourceSpecification_RightCurlyBracketKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getPassiveResourceSpecificationAccess().getRightCurlyBracketKeyword_9(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PassiveResourceSpecification_CapacityAssignment_8(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule PassiveResourceSpecification ****************/ + + +/************ begin Rule PassiveResourceCapacity **************** + * + * PassiveResourceCapacity returns resourceconfiguration::PassiveResourceCapacity: + * "PassiveResourceCapacity" id=EString "{" "name" name=EString "capacity" capacity=EBigInteger "}"; + * + **/ + +// "PassiveResourceCapacity" id=EString "{" "name" name=EString "capacity" capacity=EBigInteger "}" +protected class PassiveResourceCapacity_Group extends GroupToken { + + public PassiveResourceCapacity_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getPassiveResourceCapacityAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PassiveResourceCapacity_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getPassiveResourceCapacityRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "PassiveResourceCapacity" +protected class PassiveResourceCapacity_PassiveResourceCapacityKeyword_0 extends KeywordToken { + + public PassiveResourceCapacity_PassiveResourceCapacityKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getPassiveResourceCapacityAccess().getPassiveResourceCapacityKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// id=EString +protected class PassiveResourceCapacity_IdAssignment_1 extends AssignmentToken { + + public PassiveResourceCapacity_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getPassiveResourceCapacityAccess().getIdAssignment_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PassiveResourceCapacity_PassiveResourceCapacityKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("id",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getPassiveResourceCapacityAccess().getIdEStringParserRuleCall_1_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getPassiveResourceCapacityAccess().getIdEStringParserRuleCall_1_0(); + return obj; + } + return null; + } + +} + +// "{" +protected class PassiveResourceCapacity_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public PassiveResourceCapacity_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getPassiveResourceCapacityAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PassiveResourceCapacity_IdAssignment_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "name" +protected class PassiveResourceCapacity_NameKeyword_3 extends KeywordToken { + + public PassiveResourceCapacity_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getPassiveResourceCapacityAccess().getNameKeyword_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PassiveResourceCapacity_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// name=EString +protected class PassiveResourceCapacity_NameAssignment_4 extends AssignmentToken { + + public PassiveResourceCapacity_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getPassiveResourceCapacityAccess().getNameAssignment_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PassiveResourceCapacity_NameKeyword_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getPassiveResourceCapacityAccess().getNameEStringParserRuleCall_4_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getPassiveResourceCapacityAccess().getNameEStringParserRuleCall_4_0(); + return obj; + } + return null; + } + +} + +// "capacity" +protected class PassiveResourceCapacity_CapacityKeyword_5 extends KeywordToken { + + public PassiveResourceCapacity_CapacityKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getPassiveResourceCapacityAccess().getCapacityKeyword_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PassiveResourceCapacity_NameAssignment_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// capacity=EBigInteger +protected class PassiveResourceCapacity_CapacityAssignment_6 extends AssignmentToken { + + public PassiveResourceCapacity_CapacityAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getPassiveResourceCapacityAccess().getCapacityAssignment_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PassiveResourceCapacity_CapacityKeyword_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("capacity",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("capacity"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getPassiveResourceCapacityAccess().getCapacityEBigIntegerParserRuleCall_6_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getPassiveResourceCapacityAccess().getCapacityEBigIntegerParserRuleCall_6_0(); + return obj; + } + return null; + } + +} + +// "}" +protected class PassiveResourceCapacity_RightCurlyBracketKeyword_7 extends KeywordToken { + + public PassiveResourceCapacity_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getPassiveResourceCapacityAccess().getRightCurlyBracketKeyword_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PassiveResourceCapacity_CapacityAssignment_6(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule PassiveResourceCapacity ****************/ + + +/************ begin Rule PassiveResourceType **************** + * + * PassiveResourceType returns resourcetype::PassiveResourceType: + * "PassiveResourceType" id=EString "{" "name" name=EString "}"; + * + **/ + +// "PassiveResourceType" id=EString "{" "name" name=EString "}" +protected class PassiveResourceType_Group extends GroupToken { + + public PassiveResourceType_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getPassiveResourceTypeAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PassiveResourceType_RightCurlyBracketKeyword_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getPassiveResourceTypeRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "PassiveResourceType" +protected class PassiveResourceType_PassiveResourceTypeKeyword_0 extends KeywordToken { + + public PassiveResourceType_PassiveResourceTypeKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getPassiveResourceTypeAccess().getPassiveResourceTypeKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// id=EString +protected class PassiveResourceType_IdAssignment_1 extends AssignmentToken { + + public PassiveResourceType_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getPassiveResourceTypeAccess().getIdAssignment_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PassiveResourceType_PassiveResourceTypeKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("id",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getPassiveResourceTypeAccess().getIdEStringParserRuleCall_1_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getPassiveResourceTypeAccess().getIdEStringParserRuleCall_1_0(); + return obj; + } + return null; + } + +} + +// "{" +protected class PassiveResourceType_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public PassiveResourceType_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getPassiveResourceTypeAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PassiveResourceType_IdAssignment_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "name" +protected class PassiveResourceType_NameKeyword_3 extends KeywordToken { + + public PassiveResourceType_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getPassiveResourceTypeAccess().getNameKeyword_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PassiveResourceType_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// name=EString +protected class PassiveResourceType_NameAssignment_4 extends AssignmentToken { + + public PassiveResourceType_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getPassiveResourceTypeAccess().getNameAssignment_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PassiveResourceType_NameKeyword_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getPassiveResourceTypeAccess().getNameEStringParserRuleCall_4_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getPassiveResourceTypeAccess().getNameEStringParserRuleCall_4_0(); + return obj; + } + return null; + } + +} + +// "}" +protected class PassiveResourceType_RightCurlyBracketKeyword_5 extends KeywordToken { + + public PassiveResourceType_RightCurlyBracketKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getPassiveResourceTypeAccess().getRightCurlyBracketKeyword_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new PassiveResourceType_NameAssignment_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule PassiveResourceType ****************/ + + + +/************ begin Rule ResourceDemandSpecification **************** + * + * ResourceDemandSpecification returns servicebehavior::ResourceDemandSpecification: + * "ResourceDemandSpecification" "{" "processingResourceType" + * processingResourceType=[resourcetype::ProcessingResourceType|EString] "}"; + * + **/ + +// "ResourceDemandSpecification" "{" "processingResourceType" +// processingResourceType=[resourcetype::ProcessingResourceType|EString] "}" +protected class ResourceDemandSpecification_Group extends GroupToken { + + public ResourceDemandSpecification_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getResourceDemandSpecificationAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ResourceDemandSpecification_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getResourceDemandSpecificationRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "ResourceDemandSpecification" +protected class ResourceDemandSpecification_ResourceDemandSpecificationKeyword_0 extends KeywordToken { + + public ResourceDemandSpecification_ResourceDemandSpecificationKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getResourceDemandSpecificationAccess().getResourceDemandSpecificationKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// "{" +protected class ResourceDemandSpecification_LeftCurlyBracketKeyword_1 extends KeywordToken { + + public ResourceDemandSpecification_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getResourceDemandSpecificationAccess().getLeftCurlyBracketKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ResourceDemandSpecification_ResourceDemandSpecificationKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "processingResourceType" +protected class ResourceDemandSpecification_ProcessingResourceTypeKeyword_2 extends KeywordToken { + + public ResourceDemandSpecification_ProcessingResourceTypeKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getResourceDemandSpecificationAccess().getProcessingResourceTypeKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ResourceDemandSpecification_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// processingResourceType=[resourcetype::ProcessingResourceType|EString] +protected class ResourceDemandSpecification_ProcessingResourceTypeAssignment_3 extends AssignmentToken { + + public ResourceDemandSpecification_ProcessingResourceTypeAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getResourceDemandSpecificationAccess().getProcessingResourceTypeAssignment_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ResourceDemandSpecification_ProcessingResourceTypeKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("processingResourceType",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("processingResourceType"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getResourceDemandSpecificationAccess().getProcessingResourceTypeProcessingResourceTypeCrossReference_3_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getResourceDemandSpecificationAccess().getProcessingResourceTypeProcessingResourceTypeCrossReference_3_0(); + return obj; + } + } + return null; + } + +} + +// "}" +protected class ResourceDemandSpecification_RightCurlyBracketKeyword_4 extends KeywordToken { + + public ResourceDemandSpecification_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getResourceDemandSpecificationAccess().getRightCurlyBracketKeyword_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ResourceDemandSpecification_ProcessingResourceTypeAssignment_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule ResourceDemandSpecification ****************/ + + +/************ begin Rule ProcessingResourceType_Impl **************** + * + * ProcessingResourceType_Impl returns resourcetype::ProcessingResourceType: + * "ProcessingResourceType" id=EString "{" "name" name=EString "}"; + * + **/ + +// "ProcessingResourceType" id=EString "{" "name" name=EString "}" +protected class ProcessingResourceType_Impl_Group extends GroupToken { + + public ProcessingResourceType_Impl_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getProcessingResourceType_ImplAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProcessingResourceType_Impl_RightCurlyBracketKeyword_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getProcessingResourceType_ImplRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "ProcessingResourceType" +protected class ProcessingResourceType_Impl_ProcessingResourceTypeKeyword_0 extends KeywordToken { + + public ProcessingResourceType_Impl_ProcessingResourceTypeKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getProcessingResourceType_ImplAccess().getProcessingResourceTypeKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// id=EString +protected class ProcessingResourceType_Impl_IdAssignment_1 extends AssignmentToken { + + public ProcessingResourceType_Impl_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getProcessingResourceType_ImplAccess().getIdAssignment_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProcessingResourceType_Impl_ProcessingResourceTypeKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("id",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getProcessingResourceType_ImplAccess().getIdEStringParserRuleCall_1_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getProcessingResourceType_ImplAccess().getIdEStringParserRuleCall_1_0(); + return obj; + } + return null; + } + +} + +// "{" +protected class ProcessingResourceType_Impl_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public ProcessingResourceType_Impl_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getProcessingResourceType_ImplAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProcessingResourceType_Impl_IdAssignment_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "name" +protected class ProcessingResourceType_Impl_NameKeyword_3 extends KeywordToken { + + public ProcessingResourceType_Impl_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getProcessingResourceType_ImplAccess().getNameKeyword_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProcessingResourceType_Impl_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// name=EString +protected class ProcessingResourceType_Impl_NameAssignment_4 extends AssignmentToken { + + public ProcessingResourceType_Impl_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getProcessingResourceType_ImplAccess().getNameAssignment_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProcessingResourceType_Impl_NameKeyword_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getProcessingResourceType_ImplAccess().getNameEStringParserRuleCall_4_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getProcessingResourceType_ImplAccess().getNameEStringParserRuleCall_4_0(); + return obj; + } + return null; + } + +} + +// "}" +protected class ProcessingResourceType_Impl_RightCurlyBracketKeyword_5 extends KeywordToken { + + public ProcessingResourceType_Impl_RightCurlyBracketKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getProcessingResourceType_ImplAccess().getRightCurlyBracketKeyword_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProcessingResourceType_Impl_NameAssignment_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule ProcessingResourceType_Impl ****************/ + + +/************ begin Rule CommunicationLinkResourceType **************** + * + * CommunicationLinkResourceType returns resourcetype::CommunicationLinkResourceType: + * "CommunicationLinkResourceType" id=EString "{" "name" name=EString "}"; + * + **/ + +// "CommunicationLinkResourceType" id=EString "{" "name" name=EString "}" +protected class CommunicationLinkResourceType_Group extends GroupToken { + + public CommunicationLinkResourceType_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCommunicationLinkResourceTypeAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CommunicationLinkResourceType_RightCurlyBracketKeyword_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getCommunicationLinkResourceTypeRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "CommunicationLinkResourceType" +protected class CommunicationLinkResourceType_CommunicationLinkResourceTypeKeyword_0 extends KeywordToken { + + public CommunicationLinkResourceType_CommunicationLinkResourceTypeKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCommunicationLinkResourceTypeAccess().getCommunicationLinkResourceTypeKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// id=EString +protected class CommunicationLinkResourceType_IdAssignment_1 extends AssignmentToken { + + public CommunicationLinkResourceType_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCommunicationLinkResourceTypeAccess().getIdAssignment_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CommunicationLinkResourceType_CommunicationLinkResourceTypeKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("id",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getCommunicationLinkResourceTypeAccess().getIdEStringParserRuleCall_1_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getCommunicationLinkResourceTypeAccess().getIdEStringParserRuleCall_1_0(); + return obj; + } + return null; + } + +} + +// "{" +protected class CommunicationLinkResourceType_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public CommunicationLinkResourceType_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCommunicationLinkResourceTypeAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CommunicationLinkResourceType_IdAssignment_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "name" +protected class CommunicationLinkResourceType_NameKeyword_3 extends KeywordToken { + + public CommunicationLinkResourceType_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCommunicationLinkResourceTypeAccess().getNameKeyword_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CommunicationLinkResourceType_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// name=EString +protected class CommunicationLinkResourceType_NameAssignment_4 extends AssignmentToken { + + public CommunicationLinkResourceType_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCommunicationLinkResourceTypeAccess().getNameAssignment_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CommunicationLinkResourceType_NameKeyword_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getCommunicationLinkResourceTypeAccess().getNameEStringParserRuleCall_4_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getCommunicationLinkResourceTypeAccess().getNameEStringParserRuleCall_4_0(); + return obj; + } + return null; + } + +} + +// "}" +protected class CommunicationLinkResourceType_RightCurlyBracketKeyword_5 extends KeywordToken { + + public CommunicationLinkResourceType_RightCurlyBracketKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCommunicationLinkResourceTypeAccess().getRightCurlyBracketKeyword_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CommunicationLinkResourceType_NameAssignment_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule CommunicationLinkResourceType ****************/ + + + +/************ begin Rule BranchTransition **************** + * + * BranchTransition returns servicebehavior::BranchTransition: + * "BranchTransition" id=EString "{" "name" name=EString "branchBehavior" branchBehavior=ComponentInternalBehavior "}"; + * + **/ + +// "BranchTransition" id=EString "{" "name" name=EString "branchBehavior" branchBehavior=ComponentInternalBehavior "}" +protected class BranchTransition_Group extends GroupToken { + + public BranchTransition_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getBranchTransitionAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchTransition_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getBranchTransitionRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "BranchTransition" +protected class BranchTransition_BranchTransitionKeyword_0 extends KeywordToken { + + public BranchTransition_BranchTransitionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBranchTransitionAccess().getBranchTransitionKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// id=EString +protected class BranchTransition_IdAssignment_1 extends AssignmentToken { + + public BranchTransition_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBranchTransitionAccess().getIdAssignment_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchTransition_BranchTransitionKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("id",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getBranchTransitionAccess().getIdEStringParserRuleCall_1_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getBranchTransitionAccess().getIdEStringParserRuleCall_1_0(); + return obj; + } + return null; + } + +} + +// "{" +protected class BranchTransition_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public BranchTransition_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBranchTransitionAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchTransition_IdAssignment_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "name" +protected class BranchTransition_NameKeyword_3 extends KeywordToken { + + public BranchTransition_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBranchTransitionAccess().getNameKeyword_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchTransition_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// name=EString +protected class BranchTransition_NameAssignment_4 extends AssignmentToken { + + public BranchTransition_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBranchTransitionAccess().getNameAssignment_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchTransition_NameKeyword_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getBranchTransitionAccess().getNameEStringParserRuleCall_4_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getBranchTransitionAccess().getNameEStringParserRuleCall_4_0(); + return obj; + } + return null; + } + +} + +// "branchBehavior" +protected class BranchTransition_BranchBehaviorKeyword_5 extends KeywordToken { + + public BranchTransition_BranchBehaviorKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBranchTransitionAccess().getBranchBehaviorKeyword_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchTransition_NameAssignment_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// branchBehavior=ComponentInternalBehavior +protected class BranchTransition_BranchBehaviorAssignment_6 extends AssignmentToken { + + public BranchTransition_BranchBehaviorAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBranchTransitionAccess().getBranchBehaviorAssignment_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ComponentInternalBehavior_Alternatives(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("branchBehavior",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("branchBehavior"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getComponentInternalBehaviorRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getBranchTransitionAccess().getBranchBehaviorComponentInternalBehaviorParserRuleCall_6_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new BranchTransition_BranchBehaviorKeyword_5(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// "}" +protected class BranchTransition_RightCurlyBracketKeyword_7 extends KeywordToken { + + public BranchTransition_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBranchTransitionAccess().getRightCurlyBracketKeyword_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchTransition_BranchBehaviorAssignment_6(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule BranchTransition ****************/ + + +/************ begin Rule BranchProbabilities **************** + * + * BranchProbabilities returns servicebehavior::BranchProbabilities: + * "BranchProbabilities" "{" "probabilities" probabilities=[functions::RandomVariable|EString] "}"; + * + **/ + +// "BranchProbabilities" "{" "probabilities" probabilities=[functions::RandomVariable|EString] "}" +protected class BranchProbabilities_Group extends GroupToken { + + public BranchProbabilities_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getBranchProbabilitiesAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchProbabilities_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getBranchProbabilitiesRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "BranchProbabilities" +protected class BranchProbabilities_BranchProbabilitiesKeyword_0 extends KeywordToken { + + public BranchProbabilities_BranchProbabilitiesKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBranchProbabilitiesAccess().getBranchProbabilitiesKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// "{" +protected class BranchProbabilities_LeftCurlyBracketKeyword_1 extends KeywordToken { + + public BranchProbabilities_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBranchProbabilitiesAccess().getLeftCurlyBracketKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchProbabilities_BranchProbabilitiesKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "probabilities" +protected class BranchProbabilities_ProbabilitiesKeyword_2 extends KeywordToken { + + public BranchProbabilities_ProbabilitiesKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBranchProbabilitiesAccess().getProbabilitiesKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchProbabilities_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// probabilities=[functions::RandomVariable|EString] +protected class BranchProbabilities_ProbabilitiesAssignment_3 extends AssignmentToken { + + public BranchProbabilities_ProbabilitiesAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBranchProbabilitiesAccess().getProbabilitiesAssignment_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchProbabilities_ProbabilitiesKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("probabilities",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("probabilities"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getBranchProbabilitiesAccess().getProbabilitiesRandomVariableCrossReference_3_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getBranchProbabilitiesAccess().getProbabilitiesRandomVariableCrossReference_3_0(); + return obj; + } + } + return null; + } + +} + +// "}" +protected class BranchProbabilities_RightCurlyBracketKeyword_4 extends KeywordToken { + + public BranchProbabilities_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBranchProbabilitiesAccess().getRightCurlyBracketKeyword_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BranchProbabilities_ProbabilitiesAssignment_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule BranchProbabilities ****************/ + + +/************ begin Rule RandomVariable **************** + * + * RandomVariable returns functions::RandomVariable: + * "RandomVariable" "{" "specification" specification=EString "probFunction" + * probFunction=[functions::ProbabilityFunction|EString] "}"; + * + **/ + +// "RandomVariable" "{" "specification" specification=EString "probFunction" +// probFunction=[functions::ProbabilityFunction|EString] "}" +protected class RandomVariable_Group extends GroupToken { + + public RandomVariable_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getRandomVariableAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RandomVariable_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getRandomVariableRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "RandomVariable" +protected class RandomVariable_RandomVariableKeyword_0 extends KeywordToken { + + public RandomVariable_RandomVariableKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRandomVariableAccess().getRandomVariableKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// "{" +protected class RandomVariable_LeftCurlyBracketKeyword_1 extends KeywordToken { + + public RandomVariable_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRandomVariableAccess().getLeftCurlyBracketKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RandomVariable_RandomVariableKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "specification" +protected class RandomVariable_SpecificationKeyword_2 extends KeywordToken { + + public RandomVariable_SpecificationKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRandomVariableAccess().getSpecificationKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RandomVariable_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// specification=EString +protected class RandomVariable_SpecificationAssignment_3 extends AssignmentToken { + + public RandomVariable_SpecificationAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getRandomVariableAccess().getSpecificationAssignment_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RandomVariable_SpecificationKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("specification",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("specification"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getRandomVariableAccess().getSpecificationEStringParserRuleCall_3_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getRandomVariableAccess().getSpecificationEStringParserRuleCall_3_0(); + return obj; + } + return null; + } + +} + +// "probFunction" +protected class RandomVariable_ProbFunctionKeyword_4 extends KeywordToken { + + public RandomVariable_ProbFunctionKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRandomVariableAccess().getProbFunctionKeyword_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RandomVariable_SpecificationAssignment_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// probFunction=[functions::ProbabilityFunction|EString] +protected class RandomVariable_ProbFunctionAssignment_5 extends AssignmentToken { + + public RandomVariable_ProbFunctionAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getRandomVariableAccess().getProbFunctionAssignment_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RandomVariable_ProbFunctionKeyword_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("probFunction",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("probFunction"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getRandomVariableAccess().getProbFunctionProbabilityFunctionCrossReference_5_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getRandomVariableAccess().getProbFunctionProbabilityFunctionCrossReference_5_0(); + return obj; + } + } + return null; + } + +} + +// "}" +protected class RandomVariable_RightCurlyBracketKeyword_6 extends KeywordToken { + + public RandomVariable_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRandomVariableAccess().getRightCurlyBracketKeyword_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RandomVariable_ProbFunctionAssignment_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule RandomVariable ****************/ + + +/************ begin Rule ProbabilityMassFunction **************** + * + * ProbabilityMassFunction returns functions::ProbabilityMassFunction: + * {functions::ProbabilityMassFunction} "ProbabilityMassFunction" "{" ("sample" "{" sample+=Sample ("," sample+=Sample)* + * "}")? "}"; + * + **/ + +// {functions::ProbabilityMassFunction} "ProbabilityMassFunction" "{" ("sample" "{" sample+=Sample ("," sample+=Sample)* +// "}")? "}" +protected class ProbabilityMassFunction_Group extends GroupToken { + + public ProbabilityMassFunction_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getProbabilityMassFunctionAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProbabilityMassFunction_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// {functions::ProbabilityMassFunction} +protected class ProbabilityMassFunction_ProbabilityMassFunctionAction_0 extends ActionToken { + + public ProbabilityMassFunction_ProbabilityMassFunctionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Action getGrammarElement() { + return grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(!eObjectConsumer.isConsumed()) return null; + return eObjectConsumer; + } +} + +// "ProbabilityMassFunction" +protected class ProbabilityMassFunction_ProbabilityMassFunctionKeyword_1 extends KeywordToken { + + public ProbabilityMassFunction_ProbabilityMassFunctionKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProbabilityMassFunction_ProbabilityMassFunctionAction_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "{" +protected class ProbabilityMassFunction_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public ProbabilityMassFunction_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getProbabilityMassFunctionAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProbabilityMassFunction_ProbabilityMassFunctionKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// ("sample" "{" sample+=Sample ("," sample+=Sample)* "}")? +protected class ProbabilityMassFunction_Group_3 extends GroupToken { + + public ProbabilityMassFunction_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getProbabilityMassFunctionAccess().getGroup_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProbabilityMassFunction_RightCurlyBracketKeyword_3_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "sample" +protected class ProbabilityMassFunction_SampleKeyword_3_0 extends KeywordToken { + + public ProbabilityMassFunction_SampleKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getProbabilityMassFunctionAccess().getSampleKeyword_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProbabilityMassFunction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "{" +protected class ProbabilityMassFunction_LeftCurlyBracketKeyword_3_1 extends KeywordToken { + + public ProbabilityMassFunction_LeftCurlyBracketKeyword_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getProbabilityMassFunctionAccess().getLeftCurlyBracketKeyword_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProbabilityMassFunction_SampleKeyword_3_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// sample+=Sample +protected class ProbabilityMassFunction_SampleAssignment_3_2 extends AssignmentToken { + + public ProbabilityMassFunction_SampleAssignment_3_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getProbabilityMassFunctionAccess().getSampleAssignment_3_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Sample_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("sample",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sample"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getSampleRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getProbabilityMassFunctionAccess().getSampleSampleParserRuleCall_3_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new ProbabilityMassFunction_LeftCurlyBracketKeyword_3_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," sample+=Sample)* +protected class ProbabilityMassFunction_Group_3_3 extends GroupToken { + + public ProbabilityMassFunction_Group_3_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getProbabilityMassFunctionAccess().getGroup_3_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProbabilityMassFunction_SampleAssignment_3_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class ProbabilityMassFunction_CommaKeyword_3_3_0 extends KeywordToken { + + public ProbabilityMassFunction_CommaKeyword_3_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getProbabilityMassFunctionAccess().getCommaKeyword_3_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProbabilityMassFunction_Group_3_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new ProbabilityMassFunction_SampleAssignment_3_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// sample+=Sample +protected class ProbabilityMassFunction_SampleAssignment_3_3_1 extends AssignmentToken { + + public ProbabilityMassFunction_SampleAssignment_3_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getProbabilityMassFunctionAccess().getSampleAssignment_3_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Sample_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("sample",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sample"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getSampleRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getProbabilityMassFunctionAccess().getSampleSampleParserRuleCall_3_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new ProbabilityMassFunction_CommaKeyword_3_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class ProbabilityMassFunction_RightCurlyBracketKeyword_3_4 extends KeywordToken { + + public ProbabilityMassFunction_RightCurlyBracketKeyword_3_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getProbabilityMassFunctionAccess().getRightCurlyBracketKeyword_3_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProbabilityMassFunction_Group_3_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new ProbabilityMassFunction_SampleAssignment_3_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// "}" +protected class ProbabilityMassFunction_RightCurlyBracketKeyword_4 extends KeywordToken { + + public ProbabilityMassFunction_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getProbabilityMassFunctionAccess().getRightCurlyBracketKeyword_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProbabilityMassFunction_Group_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new ProbabilityMassFunction_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +/************ end Rule ProbabilityMassFunction ****************/ + + +/************ begin Rule ProbabilityDensityFunction_Impl **************** + * + * ProbabilityDensityFunction_Impl returns functions::ProbabilityDensityFunction: + * {functions::ProbabilityDensityFunction} "ProbabilityDensityFunction"; + * + **/ + +// {functions::ProbabilityDensityFunction} "ProbabilityDensityFunction" +protected class ProbabilityDensityFunction_Impl_Group extends GroupToken { + + public ProbabilityDensityFunction_Impl_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getProbabilityDensityFunction_ImplAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProbabilityDensityFunction_Impl_ProbabilityDensityFunctionKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getProbabilityDensityFunction_ImplAccess().getProbabilityDensityFunctionAction_0().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// {functions::ProbabilityDensityFunction} +protected class ProbabilityDensityFunction_Impl_ProbabilityDensityFunctionAction_0 extends ActionToken { + + public ProbabilityDensityFunction_Impl_ProbabilityDensityFunctionAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Action getGrammarElement() { + return grammarAccess.getProbabilityDensityFunction_ImplAccess().getProbabilityDensityFunctionAction_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(!eObjectConsumer.isConsumed()) return null; + return eObjectConsumer; + } +} + +// "ProbabilityDensityFunction" +protected class ProbabilityDensityFunction_Impl_ProbabilityDensityFunctionKeyword_1 extends KeywordToken { + + public ProbabilityDensityFunction_Impl_ProbabilityDensityFunctionKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getProbabilityDensityFunction_ImplAccess().getProbabilityDensityFunctionKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProbabilityDensityFunction_Impl_ProbabilityDensityFunctionAction_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule ProbabilityDensityFunction_Impl ****************/ + + +/************ begin Rule BoxedPDF **************** + * + * BoxedPDF returns functions::BoxedPDF: + * {functions::BoxedPDF} "BoxedPDF" "{" ("sample" "{" sample+=ContinuousSample ("," sample+=ContinuousSample)* "}")? "}"; + * + **/ + +// {functions::BoxedPDF} "BoxedPDF" "{" ("sample" "{" sample+=ContinuousSample ("," sample+=ContinuousSample)* "}")? "}" +protected class BoxedPDF_Group extends GroupToken { + + public BoxedPDF_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getBoxedPDFAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BoxedPDF_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// {functions::BoxedPDF} +protected class BoxedPDF_BoxedPDFAction_0 extends ActionToken { + + public BoxedPDF_BoxedPDFAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Action getGrammarElement() { + return grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(!eObjectConsumer.isConsumed()) return null; + return eObjectConsumer; + } +} + +// "BoxedPDF" +protected class BoxedPDF_BoxedPDFKeyword_1 extends KeywordToken { + + public BoxedPDF_BoxedPDFKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBoxedPDFAccess().getBoxedPDFKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BoxedPDF_BoxedPDFAction_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "{" +protected class BoxedPDF_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public BoxedPDF_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBoxedPDFAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BoxedPDF_BoxedPDFKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// ("sample" "{" sample+=ContinuousSample ("," sample+=ContinuousSample)* "}")? +protected class BoxedPDF_Group_3 extends GroupToken { + + public BoxedPDF_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getBoxedPDFAccess().getGroup_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BoxedPDF_RightCurlyBracketKeyword_3_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "sample" +protected class BoxedPDF_SampleKeyword_3_0 extends KeywordToken { + + public BoxedPDF_SampleKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBoxedPDFAccess().getSampleKeyword_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BoxedPDF_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "{" +protected class BoxedPDF_LeftCurlyBracketKeyword_3_1 extends KeywordToken { + + public BoxedPDF_LeftCurlyBracketKeyword_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBoxedPDFAccess().getLeftCurlyBracketKeyword_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BoxedPDF_SampleKeyword_3_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// sample+=ContinuousSample +protected class BoxedPDF_SampleAssignment_3_2 extends AssignmentToken { + + public BoxedPDF_SampleAssignment_3_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBoxedPDFAccess().getSampleAssignment_3_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ContinuousSample_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("sample",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sample"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getContinuousSampleRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getBoxedPDFAccess().getSampleContinuousSampleParserRuleCall_3_2_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new BoxedPDF_LeftCurlyBracketKeyword_3_1(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// ("," sample+=ContinuousSample)* +protected class BoxedPDF_Group_3_3 extends GroupToken { + + public BoxedPDF_Group_3_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getBoxedPDFAccess().getGroup_3_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BoxedPDF_SampleAssignment_3_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class BoxedPDF_CommaKeyword_3_3_0 extends KeywordToken { + + public BoxedPDF_CommaKeyword_3_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBoxedPDFAccess().getCommaKeyword_3_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BoxedPDF_Group_3_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new BoxedPDF_SampleAssignment_3_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// sample+=ContinuousSample +protected class BoxedPDF_SampleAssignment_3_3_1 extends AssignmentToken { + + public BoxedPDF_SampleAssignment_3_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getBoxedPDFAccess().getSampleAssignment_3_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ContinuousSample_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("sample",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sample"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getContinuousSampleRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getBoxedPDFAccess().getSampleContinuousSampleParserRuleCall_3_3_1_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new BoxedPDF_CommaKeyword_3_3_0(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + + +// "}" +protected class BoxedPDF_RightCurlyBracketKeyword_3_4 extends KeywordToken { + + public BoxedPDF_RightCurlyBracketKeyword_3_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBoxedPDFAccess().getRightCurlyBracketKeyword_3_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BoxedPDF_Group_3_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new BoxedPDF_SampleAssignment_3_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// "}" +protected class BoxedPDF_RightCurlyBracketKeyword_4 extends KeywordToken { + + public BoxedPDF_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getBoxedPDFAccess().getRightCurlyBracketKeyword_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new BoxedPDF_Group_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new BoxedPDF_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +/************ end Rule BoxedPDF ****************/ + + +/************ begin Rule ContinuousPDF_Impl **************** + * + * ContinuousPDF_Impl returns functions::ContinuousPDF: + * {functions::ContinuousPDF} "ContinuousPDF"; + * + **/ + +// {functions::ContinuousPDF} "ContinuousPDF" +protected class ContinuousPDF_Impl_Group extends GroupToken { + + public ContinuousPDF_Impl_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getContinuousPDF_ImplAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ContinuousPDF_Impl_ContinuousPDFKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getContinuousPDF_ImplAccess().getContinuousPDFAction_0().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// {functions::ContinuousPDF} +protected class ContinuousPDF_Impl_ContinuousPDFAction_0 extends ActionToken { + + public ContinuousPDF_Impl_ContinuousPDFAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Action getGrammarElement() { + return grammarAccess.getContinuousPDF_ImplAccess().getContinuousPDFAction_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(!eObjectConsumer.isConsumed()) return null; + return eObjectConsumer; + } +} + +// "ContinuousPDF" +protected class ContinuousPDF_Impl_ContinuousPDFKeyword_1 extends KeywordToken { + + public ContinuousPDF_Impl_ContinuousPDFKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getContinuousPDF_ImplAccess().getContinuousPDFKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ContinuousPDF_Impl_ContinuousPDFAction_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule ContinuousPDF_Impl ****************/ + + +/************ begin Rule NormalDistribution **************** + * + * NormalDistribution returns functions::NormalDistribution: + * "NormalDistribution" "{" "mu" mu=EBigDecimal "sigma" sigma=EBigDecimal "}"; + * + **/ + +// "NormalDistribution" "{" "mu" mu=EBigDecimal "sigma" sigma=EBigDecimal "}" +protected class NormalDistribution_Group extends GroupToken { + + public NormalDistribution_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getNormalDistributionAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new NormalDistribution_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getNormalDistributionRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "NormalDistribution" +protected class NormalDistribution_NormalDistributionKeyword_0 extends KeywordToken { + + public NormalDistribution_NormalDistributionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getNormalDistributionAccess().getNormalDistributionKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// "{" +protected class NormalDistribution_LeftCurlyBracketKeyword_1 extends KeywordToken { + + public NormalDistribution_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getNormalDistributionAccess().getLeftCurlyBracketKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new NormalDistribution_NormalDistributionKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "mu" +protected class NormalDistribution_MuKeyword_2 extends KeywordToken { + + public NormalDistribution_MuKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getNormalDistributionAccess().getMuKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new NormalDistribution_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// mu=EBigDecimal +protected class NormalDistribution_MuAssignment_3 extends AssignmentToken { + + public NormalDistribution_MuAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getNormalDistributionAccess().getMuAssignment_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new NormalDistribution_MuKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("mu",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("mu"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getNormalDistributionAccess().getMuEBigDecimalParserRuleCall_3_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getNormalDistributionAccess().getMuEBigDecimalParserRuleCall_3_0(); + return obj; + } + return null; + } + +} + +// "sigma" +protected class NormalDistribution_SigmaKeyword_4 extends KeywordToken { + + public NormalDistribution_SigmaKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getNormalDistributionAccess().getSigmaKeyword_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new NormalDistribution_MuAssignment_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// sigma=EBigDecimal +protected class NormalDistribution_SigmaAssignment_5 extends AssignmentToken { + + public NormalDistribution_SigmaAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getNormalDistributionAccess().getSigmaAssignment_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new NormalDistribution_SigmaKeyword_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("sigma",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("sigma"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getNormalDistributionAccess().getSigmaEBigDecimalParserRuleCall_5_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getNormalDistributionAccess().getSigmaEBigDecimalParserRuleCall_5_0(); + return obj; + } + return null; + } + +} + +// "}" +protected class NormalDistribution_RightCurlyBracketKeyword_6 extends KeywordToken { + + public NormalDistribution_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getNormalDistributionAccess().getRightCurlyBracketKeyword_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new NormalDistribution_SigmaAssignment_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule NormalDistribution ****************/ + + +/************ begin Rule ExponentialDistribution **************** + * + * ExponentialDistribution returns functions::ExponentialDistribution: + * "ExponentialDistribution" "{" "rate" rate=EBigDecimal "}"; + * + **/ + +// "ExponentialDistribution" "{" "rate" rate=EBigDecimal "}" +protected class ExponentialDistribution_Group extends GroupToken { + + public ExponentialDistribution_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getExponentialDistributionAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExponentialDistribution_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getExponentialDistributionRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "ExponentialDistribution" +protected class ExponentialDistribution_ExponentialDistributionKeyword_0 extends KeywordToken { + + public ExponentialDistribution_ExponentialDistributionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExponentialDistributionAccess().getExponentialDistributionKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// "{" +protected class ExponentialDistribution_LeftCurlyBracketKeyword_1 extends KeywordToken { + + public ExponentialDistribution_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExponentialDistributionAccess().getLeftCurlyBracketKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExponentialDistribution_ExponentialDistributionKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "rate" +protected class ExponentialDistribution_RateKeyword_2 extends KeywordToken { + + public ExponentialDistribution_RateKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExponentialDistributionAccess().getRateKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExponentialDistribution_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// rate=EBigDecimal +protected class ExponentialDistribution_RateAssignment_3 extends AssignmentToken { + + public ExponentialDistribution_RateAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getExponentialDistributionAccess().getRateAssignment_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExponentialDistribution_RateKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("rate",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("rate"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getExponentialDistributionAccess().getRateEBigDecimalParserRuleCall_3_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getExponentialDistributionAccess().getRateEBigDecimalParserRuleCall_3_0(); + return obj; + } + return null; + } + +} + +// "}" +protected class ExponentialDistribution_RightCurlyBracketKeyword_4 extends KeywordToken { + + public ExponentialDistribution_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExponentialDistributionAccess().getRightCurlyBracketKeyword_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExponentialDistribution_RateAssignment_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule ExponentialDistribution ****************/ + + +/************ begin Rule Sample **************** + * + * Sample returns functions::Sample: + * "Sample" "{" "probability" probability=EBigDecimal "value" value=[ecore::EObject|EString] "}"; + * + **/ + +// "Sample" "{" "probability" probability=EBigDecimal "value" value=[ecore::EObject|EString] "}" +protected class Sample_Group extends GroupToken { + + public Sample_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getSampleAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Sample_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getSampleRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "Sample" +protected class Sample_SampleKeyword_0 extends KeywordToken { + + public Sample_SampleKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSampleAccess().getSampleKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// "{" +protected class Sample_LeftCurlyBracketKeyword_1 extends KeywordToken { + + public Sample_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSampleAccess().getLeftCurlyBracketKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Sample_SampleKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "probability" +protected class Sample_ProbabilityKeyword_2 extends KeywordToken { + + public Sample_ProbabilityKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSampleAccess().getProbabilityKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Sample_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// probability=EBigDecimal +protected class Sample_ProbabilityAssignment_3 extends AssignmentToken { + + public Sample_ProbabilityAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getSampleAccess().getProbabilityAssignment_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Sample_ProbabilityKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("probability",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("probability"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getSampleAccess().getProbabilityEBigDecimalParserRuleCall_3_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getSampleAccess().getProbabilityEBigDecimalParserRuleCall_3_0(); + return obj; + } + return null; + } + +} + +// "value" +protected class Sample_ValueKeyword_4 extends KeywordToken { + + public Sample_ValueKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSampleAccess().getValueKeyword_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Sample_ProbabilityAssignment_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// value=[ecore::EObject|EString] +protected class Sample_ValueAssignment_5 extends AssignmentToken { + + public Sample_ValueAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getSampleAccess().getValueAssignment_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Sample_ValueKeyword_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("value",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("value"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getSampleAccess().getValueEObjectCrossReference_5_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getSampleAccess().getValueEObjectCrossReference_5_0(); + return obj; + } + } + return null; + } + +} + +// "}" +protected class Sample_RightCurlyBracketKeyword_6 extends KeywordToken { + + public Sample_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getSampleAccess().getRightCurlyBracketKeyword_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new Sample_ValueAssignment_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule Sample ****************/ + + +/************ begin Rule EObject **************** + * + * EObject returns ecore::EObject: + * {ecore::EObject} "EObject"; + * + **/ + +// {ecore::EObject} "EObject" +protected class EObject_Group extends GroupToken { + + public EObject_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getEObjectAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new EObject_EObjectKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getEObjectAccess().getEObjectAction_0().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// {ecore::EObject} +protected class EObject_EObjectAction_0 extends ActionToken { + + public EObject_EObjectAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Action getGrammarElement() { + return grammarAccess.getEObjectAccess().getEObjectAction_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(!eObjectConsumer.isConsumed()) return null; + return eObjectConsumer; + } +} + +// "EObject" +protected class EObject_EObjectKeyword_1 extends KeywordToken { + + public EObject_EObjectKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getEObjectAccess().getEObjectKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new EObject_EObjectAction_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule EObject ****************/ + + + +/************ begin Rule ContinuousSample **************** + * + * ContinuousSample returns functions::ContinuousSample: + * "ContinuousSample" "{" "value" value=EBigDecimal "probability" probability=EBigDecimal "}"; + * + **/ + +// "ContinuousSample" "{" "value" value=EBigDecimal "probability" probability=EBigDecimal "}" +protected class ContinuousSample_Group extends GroupToken { + + public ContinuousSample_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getContinuousSampleAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ContinuousSample_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getContinuousSampleRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "ContinuousSample" +protected class ContinuousSample_ContinuousSampleKeyword_0 extends KeywordToken { + + public ContinuousSample_ContinuousSampleKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getContinuousSampleAccess().getContinuousSampleKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// "{" +protected class ContinuousSample_LeftCurlyBracketKeyword_1 extends KeywordToken { + + public ContinuousSample_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getContinuousSampleAccess().getLeftCurlyBracketKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ContinuousSample_ContinuousSampleKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "value" +protected class ContinuousSample_ValueKeyword_2 extends KeywordToken { + + public ContinuousSample_ValueKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getContinuousSampleAccess().getValueKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ContinuousSample_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// value=EBigDecimal +protected class ContinuousSample_ValueAssignment_3 extends AssignmentToken { + + public ContinuousSample_ValueAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getContinuousSampleAccess().getValueAssignment_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ContinuousSample_ValueKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("value",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("value"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getContinuousSampleAccess().getValueEBigDecimalParserRuleCall_3_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getContinuousSampleAccess().getValueEBigDecimalParserRuleCall_3_0(); + return obj; + } + return null; + } + +} + +// "probability" +protected class ContinuousSample_ProbabilityKeyword_4 extends KeywordToken { + + public ContinuousSample_ProbabilityKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getContinuousSampleAccess().getProbabilityKeyword_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ContinuousSample_ValueAssignment_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// probability=EBigDecimal +protected class ContinuousSample_ProbabilityAssignment_5 extends AssignmentToken { + + public ContinuousSample_ProbabilityAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getContinuousSampleAccess().getProbabilityAssignment_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ContinuousSample_ProbabilityKeyword_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("probability",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("probability"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getContinuousSampleAccess().getProbabilityEBigDecimalParserRuleCall_5_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getContinuousSampleAccess().getProbabilityEBigDecimalParserRuleCall_5_0(); + return obj; + } + return null; + } + +} + +// "}" +protected class ContinuousSample_RightCurlyBracketKeyword_6 extends KeywordToken { + + public ContinuousSample_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getContinuousSampleAccess().getRightCurlyBracketKeyword_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ContinuousSample_ProbabilityAssignment_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule ContinuousSample ****************/ + + +/************ begin Rule LoopIterationCountDistribution **************** + * + * LoopIterationCountDistribution returns servicebehavior::LoopIterationCountDistribution: + * "LoopIterationCountDistribution" "{" "loopIterationCountDistribution" + * loopIterationCountDistribution=[functions::RandomVariable|EString] "}"; + * + **/ + +// "LoopIterationCountDistribution" "{" "loopIterationCountDistribution" +// loopIterationCountDistribution=[functions::RandomVariable|EString] "}" +protected class LoopIterationCountDistribution_Group extends GroupToken { + + public LoopIterationCountDistribution_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getLoopIterationCountDistributionAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new LoopIterationCountDistribution_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getLoopIterationCountDistributionRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "LoopIterationCountDistribution" +protected class LoopIterationCountDistribution_LoopIterationCountDistributionKeyword_0 extends KeywordToken { + + public LoopIterationCountDistribution_LoopIterationCountDistributionKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getLoopIterationCountDistributionAccess().getLoopIterationCountDistributionKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// "{" +protected class LoopIterationCountDistribution_LeftCurlyBracketKeyword_1 extends KeywordToken { + + public LoopIterationCountDistribution_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getLoopIterationCountDistributionAccess().getLeftCurlyBracketKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new LoopIterationCountDistribution_LoopIterationCountDistributionKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "loopIterationCountDistribution" +protected class LoopIterationCountDistribution_LoopIterationCountDistributionKeyword_2 extends KeywordToken { + + public LoopIterationCountDistribution_LoopIterationCountDistributionKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getLoopIterationCountDistributionAccess().getLoopIterationCountDistributionKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new LoopIterationCountDistribution_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// loopIterationCountDistribution=[functions::RandomVariable|EString] +protected class LoopIterationCountDistribution_LoopIterationCountDistributionAssignment_3 extends AssignmentToken { + + public LoopIterationCountDistribution_LoopIterationCountDistributionAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getLoopIterationCountDistributionAccess().getLoopIterationCountDistributionAssignment_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new LoopIterationCountDistribution_LoopIterationCountDistributionKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("loopIterationCountDistribution",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("loopIterationCountDistribution"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getLoopIterationCountDistributionAccess().getLoopIterationCountDistributionRandomVariableCrossReference_3_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getLoopIterationCountDistributionAccess().getLoopIterationCountDistributionRandomVariableCrossReference_3_0(); + return obj; + } + } + return null; + } + +} + +// "}" +protected class LoopIterationCountDistribution_RightCurlyBracketKeyword_4 extends KeywordToken { + + public LoopIterationCountDistribution_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getLoopIterationCountDistributionAccess().getRightCurlyBracketKeyword_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new LoopIterationCountDistribution_LoopIterationCountDistributionAssignment_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule LoopIterationCountDistribution ****************/ + + +/************ begin Rule AssemblyContext **************** + * + * AssemblyContext returns repository::AssemblyContext: + * "AssemblyContext" id=EString "{" "name" name=EString "encapsulatedComponent" + * encapsulatedComponent=[repository::RepositoryComponent|EString] "}"; + * + **/ + +// "AssemblyContext" id=EString "{" "name" name=EString "encapsulatedComponent" +// encapsulatedComponent=[repository::RepositoryComponent|EString] "}" +protected class AssemblyContext_Group extends GroupToken { + + public AssemblyContext_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getAssemblyContextAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AssemblyContext_RightCurlyBracketKeyword_7(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getAssemblyContextRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "AssemblyContext" +protected class AssemblyContext_AssemblyContextKeyword_0 extends KeywordToken { + + public AssemblyContext_AssemblyContextKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getAssemblyContextAccess().getAssemblyContextKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// id=EString +protected class AssemblyContext_IdAssignment_1 extends AssignmentToken { + + public AssemblyContext_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getAssemblyContextAccess().getIdAssignment_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AssemblyContext_AssemblyContextKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("id",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getAssemblyContextAccess().getIdEStringParserRuleCall_1_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getAssemblyContextAccess().getIdEStringParserRuleCall_1_0(); + return obj; + } + return null; + } + +} + +// "{" +protected class AssemblyContext_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public AssemblyContext_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getAssemblyContextAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AssemblyContext_IdAssignment_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "name" +protected class AssemblyContext_NameKeyword_3 extends KeywordToken { + + public AssemblyContext_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getAssemblyContextAccess().getNameKeyword_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AssemblyContext_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// name=EString +protected class AssemblyContext_NameAssignment_4 extends AssignmentToken { + + public AssemblyContext_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getAssemblyContextAccess().getNameAssignment_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AssemblyContext_NameKeyword_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getAssemblyContextAccess().getNameEStringParserRuleCall_4_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getAssemblyContextAccess().getNameEStringParserRuleCall_4_0(); + return obj; + } + return null; + } + +} + +// "encapsulatedComponent" +protected class AssemblyContext_EncapsulatedComponentKeyword_5 extends KeywordToken { + + public AssemblyContext_EncapsulatedComponentKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getAssemblyContextAccess().getEncapsulatedComponentKeyword_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AssemblyContext_NameAssignment_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// encapsulatedComponent=[repository::RepositoryComponent|EString] +protected class AssemblyContext_EncapsulatedComponentAssignment_6 extends AssignmentToken { + + public AssemblyContext_EncapsulatedComponentAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getAssemblyContextAccess().getEncapsulatedComponentAssignment_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AssemblyContext_EncapsulatedComponentKeyword_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("encapsulatedComponent",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("encapsulatedComponent"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getAssemblyContextAccess().getEncapsulatedComponentRepositoryComponentCrossReference_6_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getAssemblyContextAccess().getEncapsulatedComponentRepositoryComponentCrossReference_6_0(); + return obj; + } + } + return null; + } + +} + +// "}" +protected class AssemblyContext_RightCurlyBracketKeyword_7 extends KeywordToken { + + public AssemblyContext_RightCurlyBracketKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getAssemblyContextAccess().getRightCurlyBracketKeyword_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AssemblyContext_EncapsulatedComponentAssignment_6(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule AssemblyContext ****************/ + + +/************ begin Rule AssemblyConnector **************** + * + * AssemblyConnector returns repository::AssemblyConnector: + * "AssemblyConnector" id=EString "{" "name" name=EString "requiredRole" requiredRole=[repository::RequiredRole|EString] + * "providedRole" providedRole=[repository::ProvidedRole|EString] "providingAssemblyContext" + * providingAssemblyContext=[repository::AssemblyContext|EString] "requiringAssemblyContext" + * requiringAssemblyContext=[repository::AssemblyContext|EString] "}"; + * + **/ + +// "AssemblyConnector" id=EString "{" "name" name=EString "requiredRole" requiredRole=[repository::RequiredRole|EString] +// "providedRole" providedRole=[repository::ProvidedRole|EString] "providingAssemblyContext" +// providingAssemblyContext=[repository::AssemblyContext|EString] "requiringAssemblyContext" +// requiringAssemblyContext=[repository::AssemblyContext|EString] "}" +protected class AssemblyConnector_Group extends GroupToken { + + public AssemblyConnector_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getAssemblyConnectorAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AssemblyConnector_RightCurlyBracketKeyword_13(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getAssemblyConnectorRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "AssemblyConnector" +protected class AssemblyConnector_AssemblyConnectorKeyword_0 extends KeywordToken { + + public AssemblyConnector_AssemblyConnectorKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getAssemblyConnectorAccess().getAssemblyConnectorKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// id=EString +protected class AssemblyConnector_IdAssignment_1 extends AssignmentToken { + + public AssemblyConnector_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getAssemblyConnectorAccess().getIdAssignment_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AssemblyConnector_AssemblyConnectorKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("id",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getAssemblyConnectorAccess().getIdEStringParserRuleCall_1_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getAssemblyConnectorAccess().getIdEStringParserRuleCall_1_0(); + return obj; + } + return null; + } + +} + +// "{" +protected class AssemblyConnector_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public AssemblyConnector_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getAssemblyConnectorAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AssemblyConnector_IdAssignment_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "name" +protected class AssemblyConnector_NameKeyword_3 extends KeywordToken { + + public AssemblyConnector_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getAssemblyConnectorAccess().getNameKeyword_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AssemblyConnector_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// name=EString +protected class AssemblyConnector_NameAssignment_4 extends AssignmentToken { + + public AssemblyConnector_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getAssemblyConnectorAccess().getNameAssignment_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AssemblyConnector_NameKeyword_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getAssemblyConnectorAccess().getNameEStringParserRuleCall_4_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getAssemblyConnectorAccess().getNameEStringParserRuleCall_4_0(); + return obj; + } + return null; + } + +} + +// "requiredRole" +protected class AssemblyConnector_RequiredRoleKeyword_5 extends KeywordToken { + + public AssemblyConnector_RequiredRoleKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getAssemblyConnectorAccess().getRequiredRoleKeyword_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AssemblyConnector_NameAssignment_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// requiredRole=[repository::RequiredRole|EString] +protected class AssemblyConnector_RequiredRoleAssignment_6 extends AssignmentToken { + + public AssemblyConnector_RequiredRoleAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getAssemblyConnectorAccess().getRequiredRoleAssignment_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AssemblyConnector_RequiredRoleKeyword_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("requiredRole",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiredRole"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getAssemblyConnectorAccess().getRequiredRoleRequiredRoleCrossReference_6_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getAssemblyConnectorAccess().getRequiredRoleRequiredRoleCrossReference_6_0(); + return obj; + } + } + return null; + } + +} + +// "providedRole" +protected class AssemblyConnector_ProvidedRoleKeyword_7 extends KeywordToken { + + public AssemblyConnector_ProvidedRoleKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getAssemblyConnectorAccess().getProvidedRoleKeyword_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AssemblyConnector_RequiredRoleAssignment_6(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// providedRole=[repository::ProvidedRole|EString] +protected class AssemblyConnector_ProvidedRoleAssignment_8 extends AssignmentToken { + + public AssemblyConnector_ProvidedRoleAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getAssemblyConnectorAccess().getProvidedRoleAssignment_8(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AssemblyConnector_ProvidedRoleKeyword_7(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("providedRole",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("providedRole"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getAssemblyConnectorAccess().getProvidedRoleProvidedRoleCrossReference_8_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getAssemblyConnectorAccess().getProvidedRoleProvidedRoleCrossReference_8_0(); + return obj; + } + } + return null; + } + +} + +// "providingAssemblyContext" +protected class AssemblyConnector_ProvidingAssemblyContextKeyword_9 extends KeywordToken { + + public AssemblyConnector_ProvidingAssemblyContextKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getAssemblyConnectorAccess().getProvidingAssemblyContextKeyword_9(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AssemblyConnector_ProvidedRoleAssignment_8(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// providingAssemblyContext=[repository::AssemblyContext|EString] +protected class AssemblyConnector_ProvidingAssemblyContextAssignment_10 extends AssignmentToken { + + public AssemblyConnector_ProvidingAssemblyContextAssignment_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getAssemblyConnectorAccess().getProvidingAssemblyContextAssignment_10(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AssemblyConnector_ProvidingAssemblyContextKeyword_9(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("providingAssemblyContext",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("providingAssemblyContext"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getAssemblyConnectorAccess().getProvidingAssemblyContextAssemblyContextCrossReference_10_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getAssemblyConnectorAccess().getProvidingAssemblyContextAssemblyContextCrossReference_10_0(); + return obj; + } + } + return null; + } + +} + +// "requiringAssemblyContext" +protected class AssemblyConnector_RequiringAssemblyContextKeyword_11 extends KeywordToken { + + public AssemblyConnector_RequiringAssemblyContextKeyword_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getAssemblyConnectorAccess().getRequiringAssemblyContextKeyword_11(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AssemblyConnector_ProvidingAssemblyContextAssignment_10(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// requiringAssemblyContext=[repository::AssemblyContext|EString] +protected class AssemblyConnector_RequiringAssemblyContextAssignment_12 extends AssignmentToken { + + public AssemblyConnector_RequiringAssemblyContextAssignment_12(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getAssemblyConnectorAccess().getRequiringAssemblyContextAssignment_12(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AssemblyConnector_RequiringAssemblyContextKeyword_11(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("requiringAssemblyContext",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiringAssemblyContext"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getAssemblyConnectorAccess().getRequiringAssemblyContextAssemblyContextCrossReference_12_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getAssemblyConnectorAccess().getRequiringAssemblyContextAssemblyContextCrossReference_12_0(); + return obj; + } + } + return null; + } + +} + +// "}" +protected class AssemblyConnector_RightCurlyBracketKeyword_13 extends KeywordToken { + + public AssemblyConnector_RightCurlyBracketKeyword_13(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getAssemblyConnectorAccess().getRightCurlyBracketKeyword_13(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new AssemblyConnector_RequiringAssemblyContextAssignment_12(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule AssemblyConnector ****************/ + + +/************ begin Rule ProvidedDelegationConnector **************** + * + * ProvidedDelegationConnector returns repository::ProvidedDelegationConnector: + * "ProvidedDelegationConnector" id=EString "{" "name" name=EString "assemblyContext" + * assemblyContext=[repository::AssemblyContext|EString] "innerProvidedRole" + * innerProvidedRole=[repository::ProvidedRole|EString] "outerProvidedRole" + * outerProvidedRole=[repository::ProvidedRole|EString] "}"; + * + **/ + +// "ProvidedDelegationConnector" id=EString "{" "name" name=EString "assemblyContext" +// assemblyContext=[repository::AssemblyContext|EString] "innerProvidedRole" +// innerProvidedRole=[repository::ProvidedRole|EString] "outerProvidedRole" +// outerProvidedRole=[repository::ProvidedRole|EString] "}" +protected class ProvidedDelegationConnector_Group extends GroupToken { + + public ProvidedDelegationConnector_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getProvidedDelegationConnectorAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedDelegationConnector_RightCurlyBracketKeyword_11(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getProvidedDelegationConnectorRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "ProvidedDelegationConnector" +protected class ProvidedDelegationConnector_ProvidedDelegationConnectorKeyword_0 extends KeywordToken { + + public ProvidedDelegationConnector_ProvidedDelegationConnectorKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getProvidedDelegationConnectorAccess().getProvidedDelegationConnectorKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// id=EString +protected class ProvidedDelegationConnector_IdAssignment_1 extends AssignmentToken { + + public ProvidedDelegationConnector_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getProvidedDelegationConnectorAccess().getIdAssignment_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedDelegationConnector_ProvidedDelegationConnectorKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("id",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getProvidedDelegationConnectorAccess().getIdEStringParserRuleCall_1_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getProvidedDelegationConnectorAccess().getIdEStringParserRuleCall_1_0(); + return obj; + } + return null; + } + +} + +// "{" +protected class ProvidedDelegationConnector_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public ProvidedDelegationConnector_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getProvidedDelegationConnectorAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedDelegationConnector_IdAssignment_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "name" +protected class ProvidedDelegationConnector_NameKeyword_3 extends KeywordToken { + + public ProvidedDelegationConnector_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getProvidedDelegationConnectorAccess().getNameKeyword_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedDelegationConnector_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// name=EString +protected class ProvidedDelegationConnector_NameAssignment_4 extends AssignmentToken { + + public ProvidedDelegationConnector_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getProvidedDelegationConnectorAccess().getNameAssignment_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedDelegationConnector_NameKeyword_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getProvidedDelegationConnectorAccess().getNameEStringParserRuleCall_4_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getProvidedDelegationConnectorAccess().getNameEStringParserRuleCall_4_0(); + return obj; + } + return null; + } + +} + +// "assemblyContext" +protected class ProvidedDelegationConnector_AssemblyContextKeyword_5 extends KeywordToken { + + public ProvidedDelegationConnector_AssemblyContextKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getProvidedDelegationConnectorAccess().getAssemblyContextKeyword_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedDelegationConnector_NameAssignment_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// assemblyContext=[repository::AssemblyContext|EString] +protected class ProvidedDelegationConnector_AssemblyContextAssignment_6 extends AssignmentToken { + + public ProvidedDelegationConnector_AssemblyContextAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getProvidedDelegationConnectorAccess().getAssemblyContextAssignment_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedDelegationConnector_AssemblyContextKeyword_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("assemblyContext",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("assemblyContext"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getProvidedDelegationConnectorAccess().getAssemblyContextAssemblyContextCrossReference_6_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getProvidedDelegationConnectorAccess().getAssemblyContextAssemblyContextCrossReference_6_0(); + return obj; + } + } + return null; + } + +} + +// "innerProvidedRole" +protected class ProvidedDelegationConnector_InnerProvidedRoleKeyword_7 extends KeywordToken { + + public ProvidedDelegationConnector_InnerProvidedRoleKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getProvidedDelegationConnectorAccess().getInnerProvidedRoleKeyword_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedDelegationConnector_AssemblyContextAssignment_6(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// innerProvidedRole=[repository::ProvidedRole|EString] +protected class ProvidedDelegationConnector_InnerProvidedRoleAssignment_8 extends AssignmentToken { + + public ProvidedDelegationConnector_InnerProvidedRoleAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getProvidedDelegationConnectorAccess().getInnerProvidedRoleAssignment_8(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedDelegationConnector_InnerProvidedRoleKeyword_7(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("innerProvidedRole",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("innerProvidedRole"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getProvidedDelegationConnectorAccess().getInnerProvidedRoleProvidedRoleCrossReference_8_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getProvidedDelegationConnectorAccess().getInnerProvidedRoleProvidedRoleCrossReference_8_0(); + return obj; + } + } + return null; + } + +} + +// "outerProvidedRole" +protected class ProvidedDelegationConnector_OuterProvidedRoleKeyword_9 extends KeywordToken { + + public ProvidedDelegationConnector_OuterProvidedRoleKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getProvidedDelegationConnectorAccess().getOuterProvidedRoleKeyword_9(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedDelegationConnector_InnerProvidedRoleAssignment_8(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// outerProvidedRole=[repository::ProvidedRole|EString] +protected class ProvidedDelegationConnector_OuterProvidedRoleAssignment_10 extends AssignmentToken { + + public ProvidedDelegationConnector_OuterProvidedRoleAssignment_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getProvidedDelegationConnectorAccess().getOuterProvidedRoleAssignment_10(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedDelegationConnector_OuterProvidedRoleKeyword_9(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("outerProvidedRole",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("outerProvidedRole"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getProvidedDelegationConnectorAccess().getOuterProvidedRoleProvidedRoleCrossReference_10_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getProvidedDelegationConnectorAccess().getOuterProvidedRoleProvidedRoleCrossReference_10_0(); + return obj; + } + } + return null; + } + +} + +// "}" +protected class ProvidedDelegationConnector_RightCurlyBracketKeyword_11 extends KeywordToken { + + public ProvidedDelegationConnector_RightCurlyBracketKeyword_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getProvidedDelegationConnectorAccess().getRightCurlyBracketKeyword_11(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ProvidedDelegationConnector_OuterProvidedRoleAssignment_10(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule ProvidedDelegationConnector ****************/ + + +/************ begin Rule RequiredDelegationConnector **************** + * + * RequiredDelegationConnector returns repository::RequiredDelegationConnector: + * "RequiredDelegationConnector" id=EString "{" "name" name=EString "assemblyContext" + * assemblyContext=[repository::AssemblyContext|EString] "innerRequiredRole" + * innerRequiredRole=[repository::RequiredRole|EString] "outerRequiredRole" + * outerRequiredRole=[repository::RequiredRole|EString] "}"; + * + **/ + +// "RequiredDelegationConnector" id=EString "{" "name" name=EString "assemblyContext" +// assemblyContext=[repository::AssemblyContext|EString] "innerRequiredRole" +// innerRequiredRole=[repository::RequiredRole|EString] "outerRequiredRole" +// outerRequiredRole=[repository::RequiredRole|EString] "}" +protected class RequiredDelegationConnector_Group extends GroupToken { + + public RequiredDelegationConnector_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getRequiredDelegationConnectorAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredDelegationConnector_RightCurlyBracketKeyword_11(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getRequiredDelegationConnectorRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "RequiredDelegationConnector" +protected class RequiredDelegationConnector_RequiredDelegationConnectorKeyword_0 extends KeywordToken { + + public RequiredDelegationConnector_RequiredDelegationConnectorKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRequiredDelegationConnectorAccess().getRequiredDelegationConnectorKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// id=EString +protected class RequiredDelegationConnector_IdAssignment_1 extends AssignmentToken { + + public RequiredDelegationConnector_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getRequiredDelegationConnectorAccess().getIdAssignment_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredDelegationConnector_RequiredDelegationConnectorKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("id",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getRequiredDelegationConnectorAccess().getIdEStringParserRuleCall_1_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getRequiredDelegationConnectorAccess().getIdEStringParserRuleCall_1_0(); + return obj; + } + return null; + } + +} + +// "{" +protected class RequiredDelegationConnector_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public RequiredDelegationConnector_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRequiredDelegationConnectorAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredDelegationConnector_IdAssignment_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "name" +protected class RequiredDelegationConnector_NameKeyword_3 extends KeywordToken { + + public RequiredDelegationConnector_NameKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRequiredDelegationConnectorAccess().getNameKeyword_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredDelegationConnector_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// name=EString +protected class RequiredDelegationConnector_NameAssignment_4 extends AssignmentToken { + + public RequiredDelegationConnector_NameAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getRequiredDelegationConnectorAccess().getNameAssignment_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredDelegationConnector_NameKeyword_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("name",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name"); + if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getRequiredDelegationConnectorAccess().getNameEStringParserRuleCall_4_0(), value, null)) { + type = AssignmentType.DATATYPE_RULE_CALL; + element = grammarAccess.getRequiredDelegationConnectorAccess().getNameEStringParserRuleCall_4_0(); + return obj; + } + return null; + } + +} + +// "assemblyContext" +protected class RequiredDelegationConnector_AssemblyContextKeyword_5 extends KeywordToken { + + public RequiredDelegationConnector_AssemblyContextKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRequiredDelegationConnectorAccess().getAssemblyContextKeyword_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredDelegationConnector_NameAssignment_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// assemblyContext=[repository::AssemblyContext|EString] +protected class RequiredDelegationConnector_AssemblyContextAssignment_6 extends AssignmentToken { + + public RequiredDelegationConnector_AssemblyContextAssignment_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getRequiredDelegationConnectorAccess().getAssemblyContextAssignment_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredDelegationConnector_AssemblyContextKeyword_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("assemblyContext",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("assemblyContext"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getRequiredDelegationConnectorAccess().getAssemblyContextAssemblyContextCrossReference_6_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getRequiredDelegationConnectorAccess().getAssemblyContextAssemblyContextCrossReference_6_0(); + return obj; + } + } + return null; + } + +} + +// "innerRequiredRole" +protected class RequiredDelegationConnector_InnerRequiredRoleKeyword_7 extends KeywordToken { + + public RequiredDelegationConnector_InnerRequiredRoleKeyword_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRequiredDelegationConnectorAccess().getInnerRequiredRoleKeyword_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredDelegationConnector_AssemblyContextAssignment_6(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// innerRequiredRole=[repository::RequiredRole|EString] +protected class RequiredDelegationConnector_InnerRequiredRoleAssignment_8 extends AssignmentToken { + + public RequiredDelegationConnector_InnerRequiredRoleAssignment_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getRequiredDelegationConnectorAccess().getInnerRequiredRoleAssignment_8(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredDelegationConnector_InnerRequiredRoleKeyword_7(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("innerRequiredRole",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("innerRequiredRole"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getRequiredDelegationConnectorAccess().getInnerRequiredRoleRequiredRoleCrossReference_8_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getRequiredDelegationConnectorAccess().getInnerRequiredRoleRequiredRoleCrossReference_8_0(); + return obj; + } + } + return null; + } + +} + +// "outerRequiredRole" +protected class RequiredDelegationConnector_OuterRequiredRoleKeyword_9 extends KeywordToken { + + public RequiredDelegationConnector_OuterRequiredRoleKeyword_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRequiredDelegationConnectorAccess().getOuterRequiredRoleKeyword_9(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredDelegationConnector_InnerRequiredRoleAssignment_8(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// outerRequiredRole=[repository::RequiredRole|EString] +protected class RequiredDelegationConnector_OuterRequiredRoleAssignment_10 extends AssignmentToken { + + public RequiredDelegationConnector_OuterRequiredRoleAssignment_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getRequiredDelegationConnectorAccess().getOuterRequiredRoleAssignment_10(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredDelegationConnector_OuterRequiredRoleKeyword_9(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("outerRequiredRole",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("outerRequiredRole"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getRequiredDelegationConnectorAccess().getOuterRequiredRoleRequiredRoleCrossReference_10_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getRequiredDelegationConnectorAccess().getOuterRequiredRoleRequiredRoleCrossReference_10_0(); + return obj; + } + } + return null; + } + +} + +// "}" +protected class RequiredDelegationConnector_RightCurlyBracketKeyword_11 extends KeywordToken { + + public RequiredDelegationConnector_RightCurlyBracketKeyword_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getRequiredDelegationConnectorAccess().getRightCurlyBracketKeyword_11(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new RequiredDelegationConnector_OuterRequiredRoleAssignment_10(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule RequiredDelegationConnector ****************/ + + +/************ begin Rule ExternalCall_Impl **************** + * + * ExternalCall_Impl returns servicebehavior::ExternalCall: + * "ExternalCall" "{" "signature" signature=[repository::Signature|EString] "requiredRole" + * requiredRole=[repository::RequiredRole|EString] "}"; + * + **/ + +// "ExternalCall" "{" "signature" signature=[repository::Signature|EString] "requiredRole" +// requiredRole=[repository::RequiredRole|EString] "}" +protected class ExternalCall_Impl_Group extends GroupToken { + + public ExternalCall_Impl_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getExternalCall_ImplAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCall_Impl_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getExternalCall_ImplRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "ExternalCall" +protected class ExternalCall_Impl_ExternalCallKeyword_0 extends KeywordToken { + + public ExternalCall_Impl_ExternalCallKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCall_ImplAccess().getExternalCallKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// "{" +protected class ExternalCall_Impl_LeftCurlyBracketKeyword_1 extends KeywordToken { + + public ExternalCall_Impl_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCall_ImplAccess().getLeftCurlyBracketKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCall_Impl_ExternalCallKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "signature" +protected class ExternalCall_Impl_SignatureKeyword_2 extends KeywordToken { + + public ExternalCall_Impl_SignatureKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCall_ImplAccess().getSignatureKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCall_Impl_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// signature=[repository::Signature|EString] +protected class ExternalCall_Impl_SignatureAssignment_3 extends AssignmentToken { + + public ExternalCall_Impl_SignatureAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getExternalCall_ImplAccess().getSignatureAssignment_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCall_Impl_SignatureKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("signature",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("signature"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getExternalCall_ImplAccess().getSignatureSignatureCrossReference_3_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getExternalCall_ImplAccess().getSignatureSignatureCrossReference_3_0(); + return obj; + } + } + return null; + } + +} + +// "requiredRole" +protected class ExternalCall_Impl_RequiredRoleKeyword_4 extends KeywordToken { + + public ExternalCall_Impl_RequiredRoleKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCall_ImplAccess().getRequiredRoleKeyword_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCall_Impl_SignatureAssignment_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// requiredRole=[repository::RequiredRole|EString] +protected class ExternalCall_Impl_RequiredRoleAssignment_5 extends AssignmentToken { + + public ExternalCall_Impl_RequiredRoleAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getExternalCall_ImplAccess().getRequiredRoleAssignment_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCall_Impl_RequiredRoleKeyword_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("requiredRole",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("requiredRole"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getExternalCall_ImplAccess().getRequiredRoleRequiredRoleCrossReference_5_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getExternalCall_ImplAccess().getRequiredRoleRequiredRoleCrossReference_5_0(); + return obj; + } + } + return null; + } + +} + +// "}" +protected class ExternalCall_Impl_RightCurlyBracketKeyword_6 extends KeywordToken { + + public ExternalCall_Impl_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCall_ImplAccess().getRightCurlyBracketKeyword_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCall_Impl_RequiredRoleAssignment_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule ExternalCall_Impl ****************/ + + +/************ begin Rule ExternalCallFrequency **************** + * + * ExternalCallFrequency returns servicebehavior::ExternalCallFrequency: + * "ExternalCallFrequency" "{" "externalCall" externalCall=ExternalCall "frequency" frequency=CallFrequency "}"; + * + **/ + +// "ExternalCallFrequency" "{" "externalCall" externalCall=ExternalCall "frequency" frequency=CallFrequency "}" +protected class ExternalCallFrequency_Group extends GroupToken { + + public ExternalCallFrequency_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getExternalCallFrequencyAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallFrequency_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getExternalCallFrequencyRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "ExternalCallFrequency" +protected class ExternalCallFrequency_ExternalCallFrequencyKeyword_0 extends KeywordToken { + + public ExternalCallFrequency_ExternalCallFrequencyKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallFrequencyAccess().getExternalCallFrequencyKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// "{" +protected class ExternalCallFrequency_LeftCurlyBracketKeyword_1 extends KeywordToken { + + public ExternalCallFrequency_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallFrequencyAccess().getLeftCurlyBracketKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallFrequency_ExternalCallFrequencyKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "externalCall" +protected class ExternalCallFrequency_ExternalCallKeyword_2 extends KeywordToken { + + public ExternalCallFrequency_ExternalCallKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallFrequencyAccess().getExternalCallKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallFrequency_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// externalCall=ExternalCall +protected class ExternalCallFrequency_ExternalCallAssignment_3 extends AssignmentToken { + + public ExternalCallFrequency_ExternalCallAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getExternalCallFrequencyAccess().getExternalCallAssignment_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCall_Alternatives(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("externalCall",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("externalCall"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getExternalCallRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getExternalCallFrequencyAccess().getExternalCallExternalCallParserRuleCall_3_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new ExternalCallFrequency_ExternalCallKeyword_2(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// "frequency" +protected class ExternalCallFrequency_FrequencyKeyword_4 extends KeywordToken { + + public ExternalCallFrequency_FrequencyKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallFrequencyAccess().getFrequencyKeyword_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallFrequency_ExternalCallAssignment_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// frequency=CallFrequency +protected class ExternalCallFrequency_FrequencyAssignment_5 extends AssignmentToken { + + public ExternalCallFrequency_FrequencyAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getExternalCallFrequencyAccess().getFrequencyAssignment_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CallFrequency_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("frequency",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("frequency"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getCallFrequencyRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getExternalCallFrequencyAccess().getFrequencyCallFrequencyParserRuleCall_5_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new ExternalCallFrequency_FrequencyKeyword_4(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// "}" +protected class ExternalCallFrequency_RightCurlyBracketKeyword_6 extends KeywordToken { + + public ExternalCallFrequency_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getExternalCallFrequencyAccess().getRightCurlyBracketKeyword_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ExternalCallFrequency_FrequencyAssignment_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule ExternalCallFrequency ****************/ + + +/************ begin Rule CallFrequency **************** + * + * CallFrequency returns servicebehavior::CallFrequency: + * "CallFrequency" "{" "frequency" frequency=[functions::RandomVariable|EString] "}"; + * + **/ + +// "CallFrequency" "{" "frequency" frequency=[functions::RandomVariable|EString] "}" +protected class CallFrequency_Group extends GroupToken { + + public CallFrequency_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCallFrequencyAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CallFrequency_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getCallFrequencyRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "CallFrequency" +protected class CallFrequency_CallFrequencyKeyword_0 extends KeywordToken { + + public CallFrequency_CallFrequencyKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCallFrequencyAccess().getCallFrequencyKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// "{" +protected class CallFrequency_LeftCurlyBracketKeyword_1 extends KeywordToken { + + public CallFrequency_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCallFrequencyAccess().getLeftCurlyBracketKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CallFrequency_CallFrequencyKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "frequency" +protected class CallFrequency_FrequencyKeyword_2 extends KeywordToken { + + public CallFrequency_FrequencyKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCallFrequencyAccess().getFrequencyKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CallFrequency_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// frequency=[functions::RandomVariable|EString] +protected class CallFrequency_FrequencyAssignment_3 extends AssignmentToken { + + public CallFrequency_FrequencyAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCallFrequencyAccess().getFrequencyAssignment_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CallFrequency_FrequencyKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("frequency",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("frequency"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getCallFrequencyAccess().getFrequencyRandomVariableCrossReference_3_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getCallFrequencyAccess().getFrequencyRandomVariableCrossReference_3_0(); + return obj; + } + } + return null; + } + +} + +// "}" +protected class CallFrequency_RightCurlyBracketKeyword_4 extends KeywordToken { + + public CallFrequency_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCallFrequencyAccess().getRightCurlyBracketKeyword_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CallFrequency_FrequencyAssignment_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule CallFrequency ****************/ + + +/************ begin Rule DependencyRelationship **************** + * + * DependencyRelationship: + * "DependencyRelationship" "{" "surroundingEntity" + * surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString] "influencedVariable" + * influencedVariable=[InfluencedVariable|EString] "influencingParameter" + * influencingParameter=[InfluencingParameter|EString] "}"; + * + **/ + +// "DependencyRelationship" "{" "surroundingEntity" +// surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString] "influencedVariable" +// influencedVariable=[InfluencedVariable|EString] "influencingParameter" +// influencingParameter=[InfluencingParameter|EString] "}" +protected class DependencyRelationship_Group extends GroupToken { + + public DependencyRelationship_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getDependencyRelationshipAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new DependencyRelationship_RightCurlyBracketKeyword_8(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getDependencyRelationshipRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "DependencyRelationship" +protected class DependencyRelationship_DependencyRelationshipKeyword_0 extends KeywordToken { + + public DependencyRelationship_DependencyRelationshipKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getDependencyRelationshipAccess().getDependencyRelationshipKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// "{" +protected class DependencyRelationship_LeftCurlyBracketKeyword_1 extends KeywordToken { + + public DependencyRelationship_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getDependencyRelationshipAccess().getLeftCurlyBracketKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new DependencyRelationship_DependencyRelationshipKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "surroundingEntity" +protected class DependencyRelationship_SurroundingEntityKeyword_2 extends KeywordToken { + + public DependencyRelationship_SurroundingEntityKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getDependencyRelationshipAccess().getSurroundingEntityKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new DependencyRelationship_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString] +protected class DependencyRelationship_SurroundingEntityAssignment_3 extends AssignmentToken { + + public DependencyRelationship_SurroundingEntityAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getDependencyRelationshipAccess().getSurroundingEntityAssignment_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new DependencyRelationship_SurroundingEntityKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("surroundingEntity",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("surroundingEntity"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getDependencyRelationshipAccess().getSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getDependencyRelationshipAccess().getSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0(); + return obj; + } + } + return null; + } + +} + +// "influencedVariable" +protected class DependencyRelationship_InfluencedVariableKeyword_4 extends KeywordToken { + + public DependencyRelationship_InfluencedVariableKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getDependencyRelationshipAccess().getInfluencedVariableKeyword_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new DependencyRelationship_SurroundingEntityAssignment_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// influencedVariable=[InfluencedVariable|EString] +protected class DependencyRelationship_InfluencedVariableAssignment_5 extends AssignmentToken { + + public DependencyRelationship_InfluencedVariableAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getDependencyRelationshipAccess().getInfluencedVariableAssignment_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new DependencyRelationship_InfluencedVariableKeyword_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("influencedVariable",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("influencedVariable"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getDependencyRelationshipAccess().getInfluencedVariableInfluencedVariableCrossReference_5_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getDependencyRelationshipAccess().getInfluencedVariableInfluencedVariableCrossReference_5_0(); + return obj; + } + } + return null; + } + +} + +// "influencingParameter" +protected class DependencyRelationship_InfluencingParameterKeyword_6 extends KeywordToken { + + public DependencyRelationship_InfluencingParameterKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getDependencyRelationshipAccess().getInfluencingParameterKeyword_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new DependencyRelationship_InfluencedVariableAssignment_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// influencingParameter=[InfluencingParameter|EString] +protected class DependencyRelationship_InfluencingParameterAssignment_7 extends AssignmentToken { + + public DependencyRelationship_InfluencingParameterAssignment_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getDependencyRelationshipAccess().getInfluencingParameterAssignment_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new DependencyRelationship_InfluencingParameterKeyword_6(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("influencingParameter",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("influencingParameter"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getDependencyRelationshipAccess().getInfluencingParameterInfluencingParameterCrossReference_7_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getDependencyRelationshipAccess().getInfluencingParameterInfluencingParameterCrossReference_7_0(); + return obj; + } + } + return null; + } + +} + +// "}" +protected class DependencyRelationship_RightCurlyBracketKeyword_8 extends KeywordToken { + + public DependencyRelationship_RightCurlyBracketKeyword_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getDependencyRelationshipAccess().getRightCurlyBracketKeyword_8(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new DependencyRelationship_InfluencingParameterAssignment_7(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule DependencyRelationship ****************/ + + +/************ begin Rule CorrelationRelationship **************** + * + * CorrelationRelationship: + * "CorrelationRelationship" "{" "surroundingEntity" + * surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString] "leftInfluencingParameter" + * leftInfluencingParameter=[InfluencingParameter|EString] "rightInfluencingParameter" + * rightInfluencingParameter=[InfluencingParameter|EString] "leftComponentInstanceReference" + * leftComponentInstanceReference=ComponentInstanceReference "rightComponentInstanceReference" + * rightComponentInstanceReference=ComponentInstanceReference "}"; + * + **/ + +// "CorrelationRelationship" "{" "surroundingEntity" +// surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString] "leftInfluencingParameter" +// leftInfluencingParameter=[InfluencingParameter|EString] "rightInfluencingParameter" +// rightInfluencingParameter=[InfluencingParameter|EString] "leftComponentInstanceReference" +// leftComponentInstanceReference=ComponentInstanceReference "rightComponentInstanceReference" +// rightComponentInstanceReference=ComponentInstanceReference "}" +protected class CorrelationRelationship_Group extends GroupToken { + + public CorrelationRelationship_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getCorrelationRelationshipAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CorrelationRelationship_RightCurlyBracketKeyword_12(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getCorrelationRelationshipRule().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// "CorrelationRelationship" +protected class CorrelationRelationship_CorrelationRelationshipKeyword_0 extends KeywordToken { + + public CorrelationRelationship_CorrelationRelationshipKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCorrelationRelationshipAccess().getCorrelationRelationshipKeyword_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + +} + +// "{" +protected class CorrelationRelationship_LeftCurlyBracketKeyword_1 extends KeywordToken { + + public CorrelationRelationship_LeftCurlyBracketKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCorrelationRelationshipAccess().getLeftCurlyBracketKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CorrelationRelationship_CorrelationRelationshipKeyword_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "surroundingEntity" +protected class CorrelationRelationship_SurroundingEntityKeyword_2 extends KeywordToken { + + public CorrelationRelationship_SurroundingEntityKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCorrelationRelationshipAccess().getSurroundingEntityKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CorrelationRelationship_LeftCurlyBracketKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString] +protected class CorrelationRelationship_SurroundingEntityAssignment_3 extends AssignmentToken { + + public CorrelationRelationship_SurroundingEntityAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCorrelationRelationshipAccess().getSurroundingEntityAssignment_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CorrelationRelationship_SurroundingEntityKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("surroundingEntity",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("surroundingEntity"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getCorrelationRelationshipAccess().getSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getCorrelationRelationshipAccess().getSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0(); + return obj; + } + } + return null; + } + +} + +// "leftInfluencingParameter" +protected class CorrelationRelationship_LeftInfluencingParameterKeyword_4 extends KeywordToken { + + public CorrelationRelationship_LeftInfluencingParameterKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCorrelationRelationshipAccess().getLeftInfluencingParameterKeyword_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CorrelationRelationship_SurroundingEntityAssignment_3(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// leftInfluencingParameter=[InfluencingParameter|EString] +protected class CorrelationRelationship_LeftInfluencingParameterAssignment_5 extends AssignmentToken { + + public CorrelationRelationship_LeftInfluencingParameterAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCorrelationRelationshipAccess().getLeftInfluencingParameterAssignment_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CorrelationRelationship_LeftInfluencingParameterKeyword_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("leftInfluencingParameter",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("leftInfluencingParameter"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getCorrelationRelationshipAccess().getLeftInfluencingParameterInfluencingParameterCrossReference_5_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getCorrelationRelationshipAccess().getLeftInfluencingParameterInfluencingParameterCrossReference_5_0(); + return obj; + } + } + return null; + } + +} + +// "rightInfluencingParameter" +protected class CorrelationRelationship_RightInfluencingParameterKeyword_6 extends KeywordToken { + + public CorrelationRelationship_RightInfluencingParameterKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCorrelationRelationshipAccess().getRightInfluencingParameterKeyword_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CorrelationRelationship_LeftInfluencingParameterAssignment_5(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// rightInfluencingParameter=[InfluencingParameter|EString] +protected class CorrelationRelationship_RightInfluencingParameterAssignment_7 extends AssignmentToken { + + public CorrelationRelationship_RightInfluencingParameterAssignment_7(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCorrelationRelationshipAccess().getRightInfluencingParameterAssignment_7(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CorrelationRelationship_RightInfluencingParameterKeyword_6(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("rightInfluencingParameter",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("rightInfluencingParameter"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getCorrelationRelationshipAccess().getRightInfluencingParameterInfluencingParameterCrossReference_7_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getCorrelationRelationshipAccess().getRightInfluencingParameterInfluencingParameterCrossReference_7_0(); + return obj; + } + } + return null; + } + +} + +// "leftComponentInstanceReference" +protected class CorrelationRelationship_LeftComponentInstanceReferenceKeyword_8 extends KeywordToken { + + public CorrelationRelationship_LeftComponentInstanceReferenceKeyword_8(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCorrelationRelationshipAccess().getLeftComponentInstanceReferenceKeyword_8(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CorrelationRelationship_RightInfluencingParameterAssignment_7(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// leftComponentInstanceReference=ComponentInstanceReference +protected class CorrelationRelationship_LeftComponentInstanceReferenceAssignment_9 extends AssignmentToken { + + public CorrelationRelationship_LeftComponentInstanceReferenceAssignment_9(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCorrelationRelationshipAccess().getLeftComponentInstanceReferenceAssignment_9(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ComponentInstanceReference_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("leftComponentInstanceReference",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("leftComponentInstanceReference"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getComponentInstanceReferenceRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getCorrelationRelationshipAccess().getLeftComponentInstanceReferenceComponentInstanceReferenceParserRuleCall_9_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new CorrelationRelationship_LeftComponentInstanceReferenceKeyword_8(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// "rightComponentInstanceReference" +protected class CorrelationRelationship_RightComponentInstanceReferenceKeyword_10 extends KeywordToken { + + public CorrelationRelationship_RightComponentInstanceReferenceKeyword_10(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCorrelationRelationshipAccess().getRightComponentInstanceReferenceKeyword_10(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CorrelationRelationship_LeftComponentInstanceReferenceAssignment_9(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// rightComponentInstanceReference=ComponentInstanceReference +protected class CorrelationRelationship_RightComponentInstanceReferenceAssignment_11 extends AssignmentToken { + + public CorrelationRelationship_RightComponentInstanceReferenceAssignment_11(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getCorrelationRelationshipAccess().getRightComponentInstanceReferenceAssignment_11(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ComponentInstanceReference_Group(this, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("rightComponentInstanceReference",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("rightComponentInstanceReference"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getComponentInstanceReferenceRule().getType().getClassifier())) { + type = AssignmentType.PARSER_RULE_CALL; + element = grammarAccess.getCorrelationRelationshipAccess().getRightComponentInstanceReferenceComponentInstanceReferenceParserRuleCall_11_0(); + consumed = obj; + return param; + } + } + return null; + } + + @Override + public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) { + if(value == inst.getEObject() && !inst.isConsumed()) return null; + switch(index) { + case 0: return new CorrelationRelationship_RightComponentInstanceReferenceKeyword_10(lastRuleCallOrigin, next, actIndex, consumed); + default: return null; + } + } +} + +// "}" +protected class CorrelationRelationship_RightCurlyBracketKeyword_12 extends KeywordToken { + + public CorrelationRelationship_RightCurlyBracketKeyword_12(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getCorrelationRelationshipAccess().getRightCurlyBracketKeyword_12(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new CorrelationRelationship_RightComponentInstanceReferenceAssignment_11(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + + +/************ end Rule CorrelationRelationship ****************/ + + +/************ begin Rule InfluencedVariable **************** + * + * InfluencedVariable: + * {InfluencedVariable} "InfluencedVariable" "{" ("controlFlowVariable" + * controlFlowVariable=[ControlFlowSpecification|EString])? ("resourceDemand" + * resourceDemand=[servicebehavior::ResourceDemandSpecification|EString])? ("responseTime" + * responseTime=[servicebehavior::ResponseTimeSpecification|EString])? "}"; + * + **/ + +// {InfluencedVariable} "InfluencedVariable" "{" ("controlFlowVariable" +// controlFlowVariable=[ControlFlowSpecification|EString])? ("resourceDemand" +// resourceDemand=[servicebehavior::ResourceDemandSpecification|EString])? ("responseTime" +// responseTime=[servicebehavior::ResponseTimeSpecification|EString])? "}" +protected class InfluencedVariable_Group extends GroupToken { + + public InfluencedVariable_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getInfluencedVariableAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencedVariable_RightCurlyBracketKeyword_6(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getInfluencedVariableAccess().getInfluencedVariableAction_0().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// {InfluencedVariable} +protected class InfluencedVariable_InfluencedVariableAction_0 extends ActionToken { + + public InfluencedVariable_InfluencedVariableAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Action getGrammarElement() { + return grammarAccess.getInfluencedVariableAccess().getInfluencedVariableAction_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(!eObjectConsumer.isConsumed()) return null; + return eObjectConsumer; + } +} + +// "InfluencedVariable" +protected class InfluencedVariable_InfluencedVariableKeyword_1 extends KeywordToken { + + public InfluencedVariable_InfluencedVariableKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInfluencedVariableAccess().getInfluencedVariableKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencedVariable_InfluencedVariableAction_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "{" +protected class InfluencedVariable_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public InfluencedVariable_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInfluencedVariableAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencedVariable_InfluencedVariableKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// ("controlFlowVariable" controlFlowVariable=[ControlFlowSpecification|EString])? +protected class InfluencedVariable_Group_3 extends GroupToken { + + public InfluencedVariable_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getInfluencedVariableAccess().getGroup_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencedVariable_ControlFlowVariableAssignment_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "controlFlowVariable" +protected class InfluencedVariable_ControlFlowVariableKeyword_3_0 extends KeywordToken { + + public InfluencedVariable_ControlFlowVariableKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInfluencedVariableAccess().getControlFlowVariableKeyword_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencedVariable_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// controlFlowVariable=[ControlFlowSpecification|EString] +protected class InfluencedVariable_ControlFlowVariableAssignment_3_1 extends AssignmentToken { + + public InfluencedVariable_ControlFlowVariableAssignment_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getInfluencedVariableAccess().getControlFlowVariableAssignment_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencedVariable_ControlFlowVariableKeyword_3_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("controlFlowVariable",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("controlFlowVariable"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getInfluencedVariableAccess().getControlFlowVariableControlFlowSpecificationCrossReference_3_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getInfluencedVariableAccess().getControlFlowVariableControlFlowSpecificationCrossReference_3_1_0(); + return obj; + } + } + return null; + } + +} + + +// ("resourceDemand" resourceDemand=[servicebehavior::ResourceDemandSpecification|EString])? +protected class InfluencedVariable_Group_4 extends GroupToken { + + public InfluencedVariable_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getInfluencedVariableAccess().getGroup_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencedVariable_ResourceDemandAssignment_4_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "resourceDemand" +protected class InfluencedVariable_ResourceDemandKeyword_4_0 extends KeywordToken { + + public InfluencedVariable_ResourceDemandKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInfluencedVariableAccess().getResourceDemandKeyword_4_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencedVariable_Group_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new InfluencedVariable_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// resourceDemand=[servicebehavior::ResourceDemandSpecification|EString] +protected class InfluencedVariable_ResourceDemandAssignment_4_1 extends AssignmentToken { + + public InfluencedVariable_ResourceDemandAssignment_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getInfluencedVariableAccess().getResourceDemandAssignment_4_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencedVariable_ResourceDemandKeyword_4_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("resourceDemand",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("resourceDemand"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getInfluencedVariableAccess().getResourceDemandResourceDemandSpecificationCrossReference_4_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getInfluencedVariableAccess().getResourceDemandResourceDemandSpecificationCrossReference_4_1_0(); + return obj; + } + } + return null; + } + +} + + +// ("responseTime" responseTime=[servicebehavior::ResponseTimeSpecification|EString])? +protected class InfluencedVariable_Group_5 extends GroupToken { + + public InfluencedVariable_Group_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getInfluencedVariableAccess().getGroup_5(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencedVariable_ResponseTimeAssignment_5_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "responseTime" +protected class InfluencedVariable_ResponseTimeKeyword_5_0 extends KeywordToken { + + public InfluencedVariable_ResponseTimeKeyword_5_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInfluencedVariableAccess().getResponseTimeKeyword_5_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencedVariable_Group_4(lastRuleCallOrigin, this, 0, inst); + case 1: return new InfluencedVariable_Group_3(lastRuleCallOrigin, this, 1, inst); + case 2: return new InfluencedVariable_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 2, inst); + default: return null; + } + } + +} + +// responseTime=[servicebehavior::ResponseTimeSpecification|EString] +protected class InfluencedVariable_ResponseTimeAssignment_5_1 extends AssignmentToken { + + public InfluencedVariable_ResponseTimeAssignment_5_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getInfluencedVariableAccess().getResponseTimeAssignment_5_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencedVariable_ResponseTimeKeyword_5_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("responseTime",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("responseTime"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getInfluencedVariableAccess().getResponseTimeResponseTimeSpecificationCrossReference_5_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getInfluencedVariableAccess().getResponseTimeResponseTimeSpecificationCrossReference_5_1_0(); + return obj; + } + } + return null; + } + +} + + +// "}" +protected class InfluencedVariable_RightCurlyBracketKeyword_6 extends KeywordToken { + + public InfluencedVariable_RightCurlyBracketKeyword_6(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getInfluencedVariableAccess().getRightCurlyBracketKeyword_6(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new InfluencedVariable_Group_5(lastRuleCallOrigin, this, 0, inst); + case 1: return new InfluencedVariable_Group_4(lastRuleCallOrigin, this, 1, inst); + case 2: return new InfluencedVariable_Group_3(lastRuleCallOrigin, this, 2, inst); + case 3: return new InfluencedVariable_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 3, inst); + default: return null; + } + } + +} + + +/************ end Rule InfluencedVariable ****************/ + + +/************ begin Rule ComponentInstanceReference **************** + * + * ComponentInstanceReference: + * {ComponentInstanceReference} "ComponentInstanceReference" "{" ("assemblies" "(" + * assemblies+=[repository::AssemblyContext|EString] ("," assemblies+=[repository::AssemblyContext|EString])* ")")? "}"; + * + **/ + +// {ComponentInstanceReference} "ComponentInstanceReference" "{" ("assemblies" "(" +// assemblies+=[repository::AssemblyContext|EString] ("," assemblies+=[repository::AssemblyContext|EString])* ")")? "}" +protected class ComponentInstanceReference_Group extends GroupToken { + + public ComponentInstanceReference_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getComponentInstanceReferenceAccess().getGroup(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ComponentInstanceReference_RightCurlyBracketKeyword_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(getEObject().eClass() != grammarAccess.getComponentInstanceReferenceAccess().getComponentInstanceReferenceAction_0().getType().getClassifier()) + return null; + return eObjectConsumer; + } + +} + +// {ComponentInstanceReference} +protected class ComponentInstanceReference_ComponentInstanceReferenceAction_0 extends ActionToken { + + public ComponentInstanceReference_ComponentInstanceReferenceAction_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Action getGrammarElement() { + return grammarAccess.getComponentInstanceReferenceAccess().getComponentInstanceReferenceAction_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst); + } + } + + @Override + public IEObjectConsumer tryConsume() { + if(!eObjectConsumer.isConsumed()) return null; + return eObjectConsumer; + } +} + +// "ComponentInstanceReference" +protected class ComponentInstanceReference_ComponentInstanceReferenceKeyword_1 extends KeywordToken { + + public ComponentInstanceReference_ComponentInstanceReferenceKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getComponentInstanceReferenceAccess().getComponentInstanceReferenceKeyword_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ComponentInstanceReference_ComponentInstanceReferenceAction_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "{" +protected class ComponentInstanceReference_LeftCurlyBracketKeyword_2 extends KeywordToken { + + public ComponentInstanceReference_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getComponentInstanceReferenceAccess().getLeftCurlyBracketKeyword_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ComponentInstanceReference_ComponentInstanceReferenceKeyword_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// ("assemblies" "(" assemblies+=[repository::AssemblyContext|EString] ("," +// assemblies+=[repository::AssemblyContext|EString])* ")")? +protected class ComponentInstanceReference_Group_3 extends GroupToken { + + public ComponentInstanceReference_Group_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getComponentInstanceReferenceAccess().getGroup_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ComponentInstanceReference_RightParenthesisKeyword_3_4(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "assemblies" +protected class ComponentInstanceReference_AssembliesKeyword_3_0 extends KeywordToken { + + public ComponentInstanceReference_AssembliesKeyword_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getComponentInstanceReferenceAccess().getAssembliesKeyword_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ComponentInstanceReference_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "(" +protected class ComponentInstanceReference_LeftParenthesisKeyword_3_1 extends KeywordToken { + + public ComponentInstanceReference_LeftParenthesisKeyword_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getComponentInstanceReferenceAccess().getLeftParenthesisKeyword_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ComponentInstanceReference_AssembliesKeyword_3_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// assemblies+=[repository::AssemblyContext|EString] +protected class ComponentInstanceReference_AssembliesAssignment_3_2 extends AssignmentToken { + + public ComponentInstanceReference_AssembliesAssignment_3_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getComponentInstanceReferenceAccess().getAssembliesAssignment_3_2(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ComponentInstanceReference_LeftParenthesisKeyword_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("assemblies",true)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("assemblies"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getComponentInstanceReferenceAccess().getAssembliesAssemblyContextCrossReference_3_2_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getComponentInstanceReferenceAccess().getAssembliesAssemblyContextCrossReference_3_2_0(); + return obj; + } + } + return null; + } + +} + +// ("," assemblies+=[repository::AssemblyContext|EString])* +protected class ComponentInstanceReference_Group_3_3 extends GroupToken { + + public ComponentInstanceReference_Group_3_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Group getGrammarElement() { + return grammarAccess.getComponentInstanceReferenceAccess().getGroup_3_3(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ComponentInstanceReference_AssembliesAssignment_3_3_1(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + +} + +// "," +protected class ComponentInstanceReference_CommaKeyword_3_3_0 extends KeywordToken { + + public ComponentInstanceReference_CommaKeyword_3_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getComponentInstanceReferenceAccess().getCommaKeyword_3_3_0(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ComponentInstanceReference_Group_3_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new ComponentInstanceReference_AssembliesAssignment_3_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + +// assemblies+=[repository::AssemblyContext|EString] +protected class ComponentInstanceReference_AssembliesAssignment_3_3_1 extends AssignmentToken { + + public ComponentInstanceReference_AssembliesAssignment_3_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Assignment getGrammarElement() { + return grammarAccess.getComponentInstanceReferenceAccess().getAssembliesAssignment_3_3_1(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ComponentInstanceReference_CommaKeyword_3_3_0(lastRuleCallOrigin, this, 0, inst); + default: return null; + } + } + + @Override + public IEObjectConsumer tryConsume() { + if((value = eObjectConsumer.getConsumable("assemblies",false)) == null) return null; + IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("assemblies"); + if(value instanceof EObject) { // org::eclipse::xtext::impl::CrossReferenceImpl + IEObjectConsumer param = createEObjectConsumer((EObject)value); + if(param.isInstanceOf(grammarAccess.getComponentInstanceReferenceAccess().getAssembliesAssemblyContextCrossReference_3_3_1_0().getType().getClassifier())) { + type = AssignmentType.CROSS_REFERENCE; + element = grammarAccess.getComponentInstanceReferenceAccess().getAssembliesAssemblyContextCrossReference_3_3_1_0(); + return obj; + } + } + return null; + } + +} + + +// ")" +protected class ComponentInstanceReference_RightParenthesisKeyword_3_4 extends KeywordToken { + + public ComponentInstanceReference_RightParenthesisKeyword_3_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getComponentInstanceReferenceAccess().getRightParenthesisKeyword_3_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ComponentInstanceReference_Group_3_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new ComponentInstanceReference_AssembliesAssignment_3_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +// "}" +protected class ComponentInstanceReference_RightCurlyBracketKeyword_4 extends KeywordToken { + + public ComponentInstanceReference_RightCurlyBracketKeyword_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) { + super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer); + } + + @Override + public Keyword getGrammarElement() { + return grammarAccess.getComponentInstanceReferenceAccess().getRightCurlyBracketKeyword_4(); + } + + @Override + public AbstractToken createFollower(int index, IEObjectConsumer inst) { + switch(index) { + case 0: return new ComponentInstanceReference_Group_3(lastRuleCallOrigin, this, 0, inst); + case 1: return new ComponentInstanceReference_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 1, inst); + default: return null; + } + } + +} + + +/************ end Rule ComponentInstanceReference ****************/ + +} diff --git a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/RepositoryDSLAntlrTokenFileProvider.java b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/RepositoryDSLAntlrTokenFileProvider.java new file mode 100644 index 0000000000000000000000000000000000000000..e09abe835d104ca8dd7d8d5fae764cfeb496843a --- /dev/null +++ b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/RepositoryDSLAntlrTokenFileProvider.java @@ -0,0 +1,15 @@ +/* +* generated by Xtext +*/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parser.antlr; + +import java.io.InputStream; +import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider; + +public class RepositoryDSLAntlrTokenFileProvider implements IAntlrTokenFileProvider { + + public InputStream getAntlrTokenFile() { + ClassLoader classLoader = getClass().getClassLoader(); + return classLoader.getResourceAsStream("edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.tokens"); + } +} diff --git a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/RepositoryDSLParser.java b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/RepositoryDSLParser.java new file mode 100644 index 0000000000000000000000000000000000000000..6b24622135fdf44b9cab7cd7ecc08f60a18ab00d --- /dev/null +++ b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/RepositoryDSLParser.java @@ -0,0 +1,39 @@ +/* +* generated by Xtext +*/ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parser.antlr; + +import com.google.inject.Inject; + +import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import edu.kit.ipd.descartes.mm.applicationlevel.repository.text.services.RepositoryDSLGrammarAccess; + +public class RepositoryDSLParser extends org.eclipse.xtext.parser.antlr.AbstractAntlrParser { + + @Inject + private RepositoryDSLGrammarAccess grammarAccess; + + @Override + protected void setInitialHiddenTokens(XtextTokenStream tokenStream) { + tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT"); + } + + @Override + protected edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parser.antlr.internal.InternalRepositoryDSLParser createParser(XtextTokenStream stream) { + return new edu.kit.ipd.descartes.mm.applicationlevel.repository.text.parser.antlr.internal.InternalRepositoryDSLParser(stream, getGrammarAccess()); + } + + @Override + protected String getDefaultRuleName() { + return "Repository"; + } + + public RepositoryDSLGrammarAccess getGrammarAccess() { + return this.grammarAccess; + } + + public void setGrammarAccess(RepositoryDSLGrammarAccess grammarAccess) { + this.grammarAccess = grammarAccess; + } + +} diff --git a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g new file mode 100644 index 0000000000000000000000000000000000000000..2b783ac64189428000314a2608d9e4e7c5543c44 --- /dev/null +++ b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g @@ -0,0 +1,8544 @@ +/* +* generated by Xtext +*/ +grammar InternalRepositoryDSL; + +options { + superClass=AbstractInternalAntlrParser; + +} + +@lexer::header { +package edu.kit.ipd.descartes.mm.applicationlevel.repository.text.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 edu.kit.ipd.descartes.mm.applicationlevel.repository.text.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.emf.common.util.Enumerator; +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 edu.kit.ipd.descartes.mm.applicationlevel.repository.text.services.RepositoryDSLGrammarAccess; + +} + +@parser::members { + + private RepositoryDSLGrammarAccess grammarAccess; + + public InternalRepositoryDSLParser(TokenStream input, RepositoryDSLGrammarAccess grammarAccess) { + this(input); + this.grammarAccess = grammarAccess; + registerRules(grammarAccess.getGrammar()); + } + + @Override + protected String getFirstRuleName() { + return "Repository"; + } + + @Override + protected RepositoryDSLGrammarAccess getGrammarAccess() { + return grammarAccess; + } +} + +@rulecatch { + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } +} + + + + +// Entry rule entryRuleRepository +entryRuleRepository returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getRepositoryRule()); } + iv_ruleRepository=ruleRepository + { $current=$iv_ruleRepository.current; } + EOF +; + +// Rule Repository +ruleRepository returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='Repository' + { + newLeafNode(otherlv_0, grammarAccess.getRepositoryAccess().getRepositoryKeyword_0()); + } +( +( + { + newCompositeNode(grammarAccess.getRepositoryAccess().getIdEStringParserRuleCall_1_0()); + } + lv_id_1_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getRepositoryRule()); + } + set( + $current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_2()); + } + otherlv_3='name' + { + newLeafNode(otherlv_3, grammarAccess.getRepositoryAccess().getNameKeyword_3()); + } +( +( + { + newCompositeNode(grammarAccess.getRepositoryAccess().getNameEStringParserRuleCall_4_0()); + } + lv_name_4_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getRepositoryRule()); + } + set( + $current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_5='datatypes' + { + newLeafNode(otherlv_5, grammarAccess.getRepositoryAccess().getDatatypesKeyword_5_0()); + } + otherlv_6='{' + { + newLeafNode(otherlv_6, grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_5_1()); + } +( +( + { + newCompositeNode(grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_5_2_0()); + } + lv_datatypes_7_0=ruleDataType { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getRepositoryRule()); + } + add( + $current, + "datatypes", + lv_datatypes_7_0, + "DataType"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_8=',' + { + newLeafNode(otherlv_8, grammarAccess.getRepositoryAccess().getCommaKeyword_5_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_5_3_1_0()); + } + lv_datatypes_9_0=ruleDataType { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getRepositoryRule()); + } + add( + $current, + "datatypes", + lv_datatypes_9_0, + "DataType"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_10='}' + { + newLeafNode(otherlv_10, grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_5_4()); + } +)?( otherlv_11='interfaces' + { + newLeafNode(otherlv_11, grammarAccess.getRepositoryAccess().getInterfacesKeyword_6_0()); + } + otherlv_12='{' + { + newLeafNode(otherlv_12, grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_6_1()); + } +( +( + { + newCompositeNode(grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_6_2_0()); + } + lv_interfaces_13_0=ruleInterface { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getRepositoryRule()); + } + add( + $current, + "interfaces", + lv_interfaces_13_0, + "Interface"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_14=',' + { + newLeafNode(otherlv_14, grammarAccess.getRepositoryAccess().getCommaKeyword_6_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_6_3_1_0()); + } + lv_interfaces_15_0=ruleInterface { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getRepositoryRule()); + } + add( + $current, + "interfaces", + lv_interfaces_15_0, + "Interface"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_16='}' + { + newLeafNode(otherlv_16, grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_6_4()); + } +)?( otherlv_17='components' + { + newLeafNode(otherlv_17, grammarAccess.getRepositoryAccess().getComponentsKeyword_7_0()); + } + otherlv_18='{' + { + newLeafNode(otherlv_18, grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_7_1()); + } +( +( + { + newCompositeNode(grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_7_2_0()); + } + lv_components_19_0=ruleRepositoryComponent { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getRepositoryRule()); + } + add( + $current, + "components", + lv_components_19_0, + "RepositoryComponent"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_20=',' + { + newLeafNode(otherlv_20, grammarAccess.getRepositoryAccess().getCommaKeyword_7_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_7_3_1_0()); + } + lv_components_21_0=ruleRepositoryComponent { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getRepositoryRule()); + } + add( + $current, + "components", + lv_components_21_0, + "RepositoryComponent"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_22='}' + { + newLeafNode(otherlv_22, grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_7_4()); + } +)? otherlv_23='}' + { + newLeafNode(otherlv_23, grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_8()); + } +) +; + + + + + +// Entry rule entryRuleDataType +entryRuleDataType returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getDataTypeRule()); } + iv_ruleDataType=ruleDataType + { $current=$iv_ruleDataType.current; } + EOF +; + +// Rule DataType +ruleDataType returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( + { + newCompositeNode(grammarAccess.getDataTypeAccess().getCollectionDataTypeParserRuleCall_0()); + } + this_CollectionDataType_0=ruleCollectionDataType + { + $current = $this_CollectionDataType_0.current; + afterParserOrEnumRuleCall(); + } + + | + { + newCompositeNode(grammarAccess.getDataTypeAccess().getCompositeDataTypeParserRuleCall_1()); + } + this_CompositeDataType_1=ruleCompositeDataType + { + $current = $this_CompositeDataType_1.current; + afterParserOrEnumRuleCall(); + } + + | + { + newCompositeNode(grammarAccess.getDataTypeAccess().getPrimitiveDataTypeParserRuleCall_2()); + } + this_PrimitiveDataType_2=rulePrimitiveDataType + { + $current = $this_PrimitiveDataType_2.current; + afterParserOrEnumRuleCall(); + } +) +; + + + + + +// Entry rule entryRuleRepositoryComponent +entryRuleRepositoryComponent returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getRepositoryComponentRule()); } + iv_ruleRepositoryComponent=ruleRepositoryComponent + { $current=$iv_ruleRepositoryComponent.current; } + EOF +; + +// Rule RepositoryComponent +ruleRepositoryComponent returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( + { + newCompositeNode(grammarAccess.getRepositoryComponentAccess().getRepositoryComponent_ImplParserRuleCall_0()); + } + this_RepositoryComponent_Impl_0=ruleRepositoryComponent_Impl + { + $current = $this_RepositoryComponent_Impl_0.current; + afterParserOrEnumRuleCall(); + } + + | + { + newCompositeNode(grammarAccess.getRepositoryComponentAccess().getBasicComponentParserRuleCall_1()); + } + this_BasicComponent_1=ruleBasicComponent + { + $current = $this_BasicComponent_1.current; + afterParserOrEnumRuleCall(); + } + + | + { + newCompositeNode(grammarAccess.getRepositoryComponentAccess().getCompositeComponentParserRuleCall_2()); + } + this_CompositeComponent_2=ruleCompositeComponent + { + $current = $this_CompositeComponent_2.current; + afterParserOrEnumRuleCall(); + } + + | + { + newCompositeNode(grammarAccess.getRepositoryComponentAccess().getSubSystemParserRuleCall_3()); + } + this_SubSystem_3=ruleSubSystem + { + $current = $this_SubSystem_3.current; + afterParserOrEnumRuleCall(); + } +) +; + + + + + + + +// Entry rule entryRuleInfluencingParameter +entryRuleInfluencingParameter returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getInfluencingParameterRule()); } + iv_ruleInfluencingParameter=ruleInfluencingParameter + { $current=$iv_ruleInfluencingParameter.current; } + EOF +; + +// Rule InfluencingParameter +ruleInfluencingParameter returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( + { + newCompositeNode(grammarAccess.getInfluencingParameterAccess().getInfluencingParameter_ImplParserRuleCall_0()); + } + this_InfluencingParameter_Impl_0=ruleInfluencingParameter_Impl + { + $current = $this_InfluencingParameter_Impl_0.current; + afterParserOrEnumRuleCall(); + } + + | + { + newCompositeNode(grammarAccess.getInfluencingParameterAccess().getServiceInputParameterParserRuleCall_1()); + } + this_ServiceInputParameter_1=ruleServiceInputParameter + { + $current = $this_ServiceInputParameter_1.current; + afterParserOrEnumRuleCall(); + } + + | + { + newCompositeNode(grammarAccess.getInfluencingParameterAccess().getExternalCallReturnParameterParserRuleCall_2()); + } + this_ExternalCallReturnParameter_2=ruleExternalCallReturnParameter + { + $current = $this_ExternalCallReturnParameter_2.current; + afterParserOrEnumRuleCall(); + } + + | + { + newCompositeNode(grammarAccess.getInfluencingParameterAccess().getExternalCallParameterParserRuleCall_3()); + } + this_ExternalCallParameter_3=ruleExternalCallParameter + { + $current = $this_ExternalCallParameter_3.current; + afterParserOrEnumRuleCall(); + } +) +; + + + + + + + + + + + +// Entry rule entryRuleExternalCall +entryRuleExternalCall returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getExternalCallRule()); } + iv_ruleExternalCall=ruleExternalCall + { $current=$iv_ruleExternalCall.current; } + EOF +; + +// Rule ExternalCall +ruleExternalCall returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( + { + newCompositeNode(grammarAccess.getExternalCallAccess().getExternalCall_ImplParserRuleCall_0()); + } + this_ExternalCall_Impl_0=ruleExternalCall_Impl + { + $current = $this_ExternalCall_Impl_0.current; + afterParserOrEnumRuleCall(); + } + + | + { + newCompositeNode(grammarAccess.getExternalCallAccess().getExternalCallActionParserRuleCall_1()); + } + this_ExternalCallAction_1=ruleExternalCallAction + { + $current = $this_ExternalCallAction_1.current; + afterParserOrEnumRuleCall(); + } +) +; + + + + + +// Entry rule entryRuleAbstractAction +entryRuleAbstractAction returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getAbstractActionRule()); } + iv_ruleAbstractAction=ruleAbstractAction + { $current=$iv_ruleAbstractAction.current; } + EOF +; + +// Rule AbstractAction +ruleAbstractAction returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( + { + newCompositeNode(grammarAccess.getAbstractActionAccess().getAbstractAction_ImplParserRuleCall_0()); + } + this_AbstractAction_Impl_0=ruleAbstractAction_Impl + { + $current = $this_AbstractAction_Impl_0.current; + afterParserOrEnumRuleCall(); + } + + | + { + newCompositeNode(grammarAccess.getAbstractActionAccess().getStartActionParserRuleCall_1()); + } + this_StartAction_1=ruleStartAction + { + $current = $this_StartAction_1.current; + afterParserOrEnumRuleCall(); + } + + | + { + newCompositeNode(grammarAccess.getAbstractActionAccess().getStopActionParserRuleCall_2()); + } + this_StopAction_2=ruleStopAction + { + $current = $this_StopAction_2.current; + afterParserOrEnumRuleCall(); + } + + | + { + newCompositeNode(grammarAccess.getAbstractActionAccess().getAcquireActionParserRuleCall_3()); + } + this_AcquireAction_3=ruleAcquireAction + { + $current = $this_AcquireAction_3.current; + afterParserOrEnumRuleCall(); + } + + | + { + newCompositeNode(grammarAccess.getAbstractActionAccess().getReleaseActionParserRuleCall_4()); + } + this_ReleaseAction_4=ruleReleaseAction + { + $current = $this_ReleaseAction_4.current; + afterParserOrEnumRuleCall(); + } + + | + { + newCompositeNode(grammarAccess.getAbstractActionAccess().getInternalActionParserRuleCall_5()); + } + this_InternalAction_5=ruleInternalAction + { + $current = $this_InternalAction_5.current; + afterParserOrEnumRuleCall(); + } + + | + { + newCompositeNode(grammarAccess.getAbstractActionAccess().getForkActionParserRuleCall_6()); + } + this_ForkAction_6=ruleForkAction + { + $current = $this_ForkAction_6.current; + afterParserOrEnumRuleCall(); + } + + | + { + newCompositeNode(grammarAccess.getAbstractActionAccess().getBranchActionParserRuleCall_7()); + } + this_BranchAction_7=ruleBranchAction + { + $current = $this_BranchAction_7.current; + afterParserOrEnumRuleCall(); + } + + | + { + newCompositeNode(grammarAccess.getAbstractActionAccess().getLoopActionParserRuleCall_8()); + } + this_LoopAction_8=ruleLoopAction + { + $current = $this_LoopAction_8.current; + afterParserOrEnumRuleCall(); + } + + | + { + newCompositeNode(grammarAccess.getAbstractActionAccess().getExternalCallActionParserRuleCall_9()); + } + this_ExternalCallAction_9=ruleExternalCallAction + { + $current = $this_ExternalCallAction_9.current; + afterParserOrEnumRuleCall(); + } +) +; + + + + + +// Entry rule entryRuleComponentInternalBehavior +entryRuleComponentInternalBehavior returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getComponentInternalBehaviorRule()); } + iv_ruleComponentInternalBehavior=ruleComponentInternalBehavior + { $current=$iv_ruleComponentInternalBehavior.current; } + EOF +; + +// Rule ComponentInternalBehavior +ruleComponentInternalBehavior returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( + { + newCompositeNode(grammarAccess.getComponentInternalBehaviorAccess().getComponentInternalBehavior_ImplParserRuleCall_0()); + } + this_ComponentInternalBehavior_Impl_0=ruleComponentInternalBehavior_Impl + { + $current = $this_ComponentInternalBehavior_Impl_0.current; + afterParserOrEnumRuleCall(); + } + + | + { + newCompositeNode(grammarAccess.getComponentInternalBehaviorAccess().getFineGrainedBehaviorParserRuleCall_1()); + } + this_FineGrainedBehavior_1=ruleFineGrainedBehavior + { + $current = $this_FineGrainedBehavior_1.current; + afterParserOrEnumRuleCall(); + } +) +; + + + + + + + + + +// Entry rule entryRuleEString +entryRuleEString returns [String current=null] + : + { newCompositeNode(grammarAccess.getEStringRule()); } + iv_ruleEString=ruleEString + { $current=$iv_ruleEString.current.getText(); } + EOF +; + +// Rule EString +ruleEString returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] + @init { enterRule(); + } + @after { leaveRule(); }: +( this_STRING_0=RULE_STRING { + $current.merge(this_STRING_0); + } + + { + newLeafNode(this_STRING_0, grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); + } + + | this_ID_1=RULE_ID { + $current.merge(this_ID_1); + } + + { + newLeafNode(this_ID_1, grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); + } +) + ; + + + + + +// Entry rule entryRuleInterface +entryRuleInterface returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getInterfaceRule()); } + iv_ruleInterface=ruleInterface + { $current=$iv_ruleInterface.current; } + EOF +; + +// Rule Interface +ruleInterface returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='Interface' + { + newLeafNode(otherlv_0, grammarAccess.getInterfaceAccess().getInterfaceKeyword_0()); + } +( +( + { + newCompositeNode(grammarAccess.getInterfaceAccess().getIdEStringParserRuleCall_1_0()); + } + lv_id_1_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getInterfaceRule()); + } + set( + $current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getInterfaceAccess().getLeftCurlyBracketKeyword_2()); + } + otherlv_3='name' + { + newLeafNode(otherlv_3, grammarAccess.getInterfaceAccess().getNameKeyword_3()); + } +( +( + { + newCompositeNode(grammarAccess.getInterfaceAccess().getNameEStringParserRuleCall_4_0()); + } + lv_name_4_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getInterfaceRule()); + } + set( + $current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_5='parentInterfaces' + { + newLeafNode(otherlv_5, grammarAccess.getInterfaceAccess().getParentInterfacesKeyword_5_0()); + } + otherlv_6='(' + { + newLeafNode(otherlv_6, grammarAccess.getInterfaceAccess().getLeftParenthesisKeyword_5_1()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getInterfaceRule()); + } + } + { + newCompositeNode(grammarAccess.getInterfaceAccess().getParentInterfacesInterfaceCrossReference_5_2_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_8=',' + { + newLeafNode(otherlv_8, grammarAccess.getInterfaceAccess().getCommaKeyword_5_3_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getInterfaceRule()); + } + } + { + newCompositeNode(grammarAccess.getInterfaceAccess().getParentInterfacesInterfaceCrossReference_5_3_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_10=')' + { + newLeafNode(otherlv_10, grammarAccess.getInterfaceAccess().getRightParenthesisKeyword_5_4()); + } +)?( otherlv_11='signatures' + { + newLeafNode(otherlv_11, grammarAccess.getInterfaceAccess().getSignaturesKeyword_6_0()); + } + otherlv_12='{' + { + newLeafNode(otherlv_12, grammarAccess.getInterfaceAccess().getLeftCurlyBracketKeyword_6_1()); + } +( +( + { + newCompositeNode(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_6_2_0()); + } + lv_signatures_13_0=ruleSignature { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getInterfaceRule()); + } + add( + $current, + "signatures", + lv_signatures_13_0, + "Signature"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_14=',' + { + newLeafNode(otherlv_14, grammarAccess.getInterfaceAccess().getCommaKeyword_6_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_6_3_1_0()); + } + lv_signatures_15_0=ruleSignature { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getInterfaceRule()); + } + add( + $current, + "signatures", + lv_signatures_15_0, + "Signature"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_16='}' + { + newLeafNode(otherlv_16, grammarAccess.getInterfaceAccess().getRightCurlyBracketKeyword_6_4()); + } +)? otherlv_17='}' + { + newLeafNode(otherlv_17, grammarAccess.getInterfaceAccess().getRightCurlyBracketKeyword_7()); + } +) +; + + + + + +// Entry rule entryRuleRepositoryComponent_Impl +entryRuleRepositoryComponent_Impl returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getRepositoryComponent_ImplRule()); } + iv_ruleRepositoryComponent_Impl=ruleRepositoryComponent_Impl + { $current=$iv_ruleRepositoryComponent_Impl.current; } + EOF +; + +// Rule RepositoryComponent_Impl +ruleRepositoryComponent_Impl returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='RepositoryComponent' + { + newLeafNode(otherlv_0, grammarAccess.getRepositoryComponent_ImplAccess().getRepositoryComponentKeyword_0()); + } +( +( + { + newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getIdEStringParserRuleCall_1_0()); + } + lv_id_1_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule()); + } + set( + $current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_2()); + } + otherlv_3='name' + { + newLeafNode(otherlv_3, grammarAccess.getRepositoryComponent_ImplAccess().getNameKeyword_3()); + } +( +( + { + newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getNameEStringParserRuleCall_4_0()); + } + lv_name_4_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule()); + } + set( + $current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_5='relationship' + { + newLeafNode(otherlv_5, grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipKeyword_5_0()); + } + otherlv_6='(' + { + newLeafNode(otherlv_6, grammarAccess.getRepositoryComponent_ImplAccess().getLeftParenthesisKeyword_5_1()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getRepositoryComponent_ImplRule()); + } + } + { + newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipRelationshipCrossReference_5_2_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_8=',' + { + newLeafNode(otherlv_8, grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_5_3_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getRepositoryComponent_ImplRule()); + } + } + { + newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipRelationshipCrossReference_5_3_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_10=')' + { + newLeafNode(otherlv_10, grammarAccess.getRepositoryComponent_ImplAccess().getRightParenthesisKeyword_5_4()); + } +)?( otherlv_11='providedRoles' + { + newLeafNode(otherlv_11, grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesKeyword_6_0()); + } + otherlv_12='{' + { + newLeafNode(otherlv_12, grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_6_1()); + } +( +( + { + newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesProvidedRoleParserRuleCall_6_2_0()); + } + lv_providedRoles_13_0=ruleProvidedRole { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule()); + } + add( + $current, + "providedRoles", + lv_providedRoles_13_0, + "ProvidedRole"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_14=',' + { + newLeafNode(otherlv_14, grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_6_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0()); + } + lv_providedRoles_15_0=ruleProvidedRole { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule()); + } + add( + $current, + "providedRoles", + lv_providedRoles_15_0, + "ProvidedRole"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_16='}' + { + newLeafNode(otherlv_16, grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_6_4()); + } +)?( otherlv_17='blackBoxBehavior' + { + newLeafNode(otherlv_17, grammarAccess.getRepositoryComponent_ImplAccess().getBlackBoxBehaviorKeyword_7_0()); + } + otherlv_18='{' + { + newLeafNode(otherlv_18, grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_7_1()); + } +( +( + { + newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0()); + } + lv_blackBoxBehavior_19_0=ruleBlackBoxBehavior { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule()); + } + add( + $current, + "blackBoxBehavior", + lv_blackBoxBehavior_19_0, + "BlackBoxBehavior"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_20=',' + { + newLeafNode(otherlv_20, grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_7_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0()); + } + lv_blackBoxBehavior_21_0=ruleBlackBoxBehavior { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule()); + } + add( + $current, + "blackBoxBehavior", + lv_blackBoxBehavior_21_0, + "BlackBoxBehavior"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_22='}' + { + newLeafNode(otherlv_22, grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_7_4()); + } +)?( otherlv_23='requiredRoles' + { + newLeafNode(otherlv_23, grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesKeyword_8_0()); + } + otherlv_24='{' + { + newLeafNode(otherlv_24, grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_8_1()); + } +( +( + { + newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesRequiredRoleParserRuleCall_8_2_0()); + } + lv_requiredRoles_25_0=ruleRequiredRole { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule()); + } + add( + $current, + "requiredRoles", + lv_requiredRoles_25_0, + "RequiredRole"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_26=',' + { + newLeafNode(otherlv_26, grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_8_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0()); + } + lv_requiredRoles_27_0=ruleRequiredRole { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule()); + } + add( + $current, + "requiredRoles", + lv_requiredRoles_27_0, + "RequiredRole"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_28='}' + { + newLeafNode(otherlv_28, grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_8_4()); + } +)?( otherlv_29='coarseGrainedBehavior' + { + newLeafNode(otherlv_29, grammarAccess.getRepositoryComponent_ImplAccess().getCoarseGrainedBehaviorKeyword_9_0()); + } + otherlv_30='{' + { + newLeafNode(otherlv_30, grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_9_1()); + } +( +( + { + newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0()); + } + lv_coarseGrainedBehavior_31_0=ruleCoarseGrainedBehavior { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule()); + } + add( + $current, + "coarseGrainedBehavior", + lv_coarseGrainedBehavior_31_0, + "CoarseGrainedBehavior"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_32=',' + { + newLeafNode(otherlv_32, grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_9_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0()); + } + lv_coarseGrainedBehavior_33_0=ruleCoarseGrainedBehavior { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule()); + } + add( + $current, + "coarseGrainedBehavior", + lv_coarseGrainedBehavior_33_0, + "CoarseGrainedBehavior"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_34='}' + { + newLeafNode(otherlv_34, grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_9_4()); + } +)? otherlv_35='}' + { + newLeafNode(otherlv_35, grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_10()); + } +) +; + + + + + +// Entry rule entryRuleCollectionDataType +entryRuleCollectionDataType returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getCollectionDataTypeRule()); } + iv_ruleCollectionDataType=ruleCollectionDataType + { $current=$iv_ruleCollectionDataType.current; } + EOF +; + +// Rule CollectionDataType +ruleCollectionDataType returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='CollectionDataType' + { + newLeafNode(otherlv_0, grammarAccess.getCollectionDataTypeAccess().getCollectionDataTypeKeyword_0()); + } +( +( + { + newCompositeNode(grammarAccess.getCollectionDataTypeAccess().getIdEStringParserRuleCall_1_0()); + } + lv_id_1_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCollectionDataTypeRule()); + } + set( + $current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getCollectionDataTypeAccess().getLeftCurlyBracketKeyword_2()); + } + otherlv_3='name' + { + newLeafNode(otherlv_3, grammarAccess.getCollectionDataTypeAccess().getNameKeyword_3()); + } +( +( + { + newCompositeNode(grammarAccess.getCollectionDataTypeAccess().getNameEStringParserRuleCall_4_0()); + } + lv_name_4_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCollectionDataTypeRule()); + } + set( + $current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_5='innerType' + { + newLeafNode(otherlv_5, grammarAccess.getCollectionDataTypeAccess().getInnerTypeKeyword_5()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getCollectionDataTypeRule()); + } + } + { + newCompositeNode(grammarAccess.getCollectionDataTypeAccess().getInnerTypeDataTypeCrossReference_6_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_7='}' + { + newLeafNode(otherlv_7, grammarAccess.getCollectionDataTypeAccess().getRightCurlyBracketKeyword_7()); + } +) +; + + + + + +// Entry rule entryRuleCompositeDataType +entryRuleCompositeDataType returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getCompositeDataTypeRule()); } + iv_ruleCompositeDataType=ruleCompositeDataType + { $current=$iv_ruleCompositeDataType.current; } + EOF +; + +// Rule CompositeDataType +ruleCompositeDataType returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='CompositeDataType' + { + newLeafNode(otherlv_0, grammarAccess.getCompositeDataTypeAccess().getCompositeDataTypeKeyword_0()); + } +( +( + { + newCompositeNode(grammarAccess.getCompositeDataTypeAccess().getIdEStringParserRuleCall_1_0()); + } + lv_id_1_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCompositeDataTypeRule()); + } + set( + $current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getCompositeDataTypeAccess().getLeftCurlyBracketKeyword_2()); + } + otherlv_3='name' + { + newLeafNode(otherlv_3, grammarAccess.getCompositeDataTypeAccess().getNameKeyword_3()); + } +( +( + { + newCompositeNode(grammarAccess.getCompositeDataTypeAccess().getNameEStringParserRuleCall_4_0()); + } + lv_name_4_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCompositeDataTypeRule()); + } + set( + $current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_5='parentTypes' + { + newLeafNode(otherlv_5, grammarAccess.getCompositeDataTypeAccess().getParentTypesKeyword_5_0()); + } + otherlv_6='(' + { + newLeafNode(otherlv_6, grammarAccess.getCompositeDataTypeAccess().getLeftParenthesisKeyword_5_1()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getCompositeDataTypeRule()); + } + } + { + newCompositeNode(grammarAccess.getCompositeDataTypeAccess().getParentTypesCompositeDataTypeCrossReference_5_2_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_8=',' + { + newLeafNode(otherlv_8, grammarAccess.getCompositeDataTypeAccess().getCommaKeyword_5_3_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getCompositeDataTypeRule()); + } + } + { + newCompositeNode(grammarAccess.getCompositeDataTypeAccess().getParentTypesCompositeDataTypeCrossReference_5_3_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_10=')' + { + newLeafNode(otherlv_10, grammarAccess.getCompositeDataTypeAccess().getRightParenthesisKeyword_5_4()); + } +)?( otherlv_11='innerDeclarations' + { + newLeafNode(otherlv_11, grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsKeyword_6_0()); + } + otherlv_12='{' + { + newLeafNode(otherlv_12, grammarAccess.getCompositeDataTypeAccess().getLeftCurlyBracketKeyword_6_1()); + } +( +( + { + newCompositeNode(grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsInnerDeclarationParserRuleCall_6_2_0()); + } + lv_innerDeclarations_13_0=ruleInnerDeclaration { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCompositeDataTypeRule()); + } + add( + $current, + "innerDeclarations", + lv_innerDeclarations_13_0, + "InnerDeclaration"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_14=',' + { + newLeafNode(otherlv_14, grammarAccess.getCompositeDataTypeAccess().getCommaKeyword_6_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsInnerDeclarationParserRuleCall_6_3_1_0()); + } + lv_innerDeclarations_15_0=ruleInnerDeclaration { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCompositeDataTypeRule()); + } + add( + $current, + "innerDeclarations", + lv_innerDeclarations_15_0, + "InnerDeclaration"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_16='}' + { + newLeafNode(otherlv_16, grammarAccess.getCompositeDataTypeAccess().getRightCurlyBracketKeyword_6_4()); + } +)? otherlv_17='}' + { + newLeafNode(otherlv_17, grammarAccess.getCompositeDataTypeAccess().getRightCurlyBracketKeyword_7()); + } +) +; + + + + + +// Entry rule entryRulePrimitiveDataType +entryRulePrimitiveDataType returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getPrimitiveDataTypeRule()); } + iv_rulePrimitiveDataType=rulePrimitiveDataType + { $current=$iv_rulePrimitiveDataType.current; } + EOF +; + +// Rule PrimitiveDataType +rulePrimitiveDataType returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='PrimitiveDataType' + { + newLeafNode(otherlv_0, grammarAccess.getPrimitiveDataTypeAccess().getPrimitiveDataTypeKeyword_0()); + } + otherlv_1='{' + { + newLeafNode(otherlv_1, grammarAccess.getPrimitiveDataTypeAccess().getLeftCurlyBracketKeyword_1()); + } + otherlv_2='type' + { + newLeafNode(otherlv_2, grammarAccess.getPrimitiveDataTypeAccess().getTypeKeyword_2()); + } +( +( + { + newCompositeNode(grammarAccess.getPrimitiveDataTypeAccess().getTypePrimitiveTypeEnumEnumRuleCall_3_0()); + } + lv_type_3_0=rulePrimitiveTypeEnum { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPrimitiveDataTypeRule()); + } + set( + $current, + "type", + lv_type_3_0, + "PrimitiveTypeEnum"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_4='}' + { + newLeafNode(otherlv_4, grammarAccess.getPrimitiveDataTypeAccess().getRightCurlyBracketKeyword_4()); + } +) +; + + + + + +// Entry rule entryRuleInnerDeclaration +entryRuleInnerDeclaration returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getInnerDeclarationRule()); } + iv_ruleInnerDeclaration=ruleInnerDeclaration + { $current=$iv_ruleInnerDeclaration.current; } + EOF +; + +// Rule InnerDeclaration +ruleInnerDeclaration returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='InnerDeclaration' + { + newLeafNode(otherlv_0, grammarAccess.getInnerDeclarationAccess().getInnerDeclarationKeyword_0()); + } +( +( + { + newCompositeNode(grammarAccess.getInnerDeclarationAccess().getIdEStringParserRuleCall_1_0()); + } + lv_id_1_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getInnerDeclarationRule()); + } + set( + $current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getInnerDeclarationAccess().getLeftCurlyBracketKeyword_2()); + } + otherlv_3='name' + { + newLeafNode(otherlv_3, grammarAccess.getInnerDeclarationAccess().getNameKeyword_3()); + } +( +( + { + newCompositeNode(grammarAccess.getInnerDeclarationAccess().getNameEStringParserRuleCall_4_0()); + } + lv_name_4_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getInnerDeclarationRule()); + } + set( + $current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_5='dataType' + { + newLeafNode(otherlv_5, grammarAccess.getInnerDeclarationAccess().getDataTypeKeyword_5()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getInnerDeclarationRule()); + } + } + { + newCompositeNode(grammarAccess.getInnerDeclarationAccess().getDataTypeDataTypeCrossReference_6_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_7='}' + { + newLeafNode(otherlv_7, grammarAccess.getInnerDeclarationAccess().getRightCurlyBracketKeyword_7()); + } +) +; + + + + + +// Entry rule entryRuleSignature +entryRuleSignature returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getSignatureRule()); } + iv_ruleSignature=ruleSignature + { $current=$iv_ruleSignature.current; } + EOF +; + +// Rule Signature +ruleSignature returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='Signature' + { + newLeafNode(otherlv_0, grammarAccess.getSignatureAccess().getSignatureKeyword_0()); + } +( +( + { + newCompositeNode(grammarAccess.getSignatureAccess().getIdEStringParserRuleCall_1_0()); + } + lv_id_1_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSignatureRule()); + } + set( + $current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getSignatureAccess().getLeftCurlyBracketKeyword_2()); + } + otherlv_3='name' + { + newLeafNode(otherlv_3, grammarAccess.getSignatureAccess().getNameKeyword_3()); + } +( +( + { + newCompositeNode(grammarAccess.getSignatureAccess().getNameEStringParserRuleCall_4_0()); + } + lv_name_4_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSignatureRule()); + } + set( + $current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_5='returnType' + { + newLeafNode(otherlv_5, grammarAccess.getSignatureAccess().getReturnTypeKeyword_5_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getSignatureRule()); + } + } + { + newCompositeNode(grammarAccess.getSignatureAccess().getReturnTypeDataTypeCrossReference_5_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))?( otherlv_7='parameters' + { + newLeafNode(otherlv_7, grammarAccess.getSignatureAccess().getParametersKeyword_6_0()); + } + otherlv_8='{' + { + newLeafNode(otherlv_8, grammarAccess.getSignatureAccess().getLeftCurlyBracketKeyword_6_1()); + } +( +( + { + newCompositeNode(grammarAccess.getSignatureAccess().getParametersParameterParserRuleCall_6_2_0()); + } + lv_parameters_9_0=ruleParameter { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSignatureRule()); + } + add( + $current, + "parameters", + lv_parameters_9_0, + "Parameter"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_10=',' + { + newLeafNode(otherlv_10, grammarAccess.getSignatureAccess().getCommaKeyword_6_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getSignatureAccess().getParametersParameterParserRuleCall_6_3_1_0()); + } + lv_parameters_11_0=ruleParameter { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSignatureRule()); + } + add( + $current, + "parameters", + lv_parameters_11_0, + "Parameter"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_12='}' + { + newLeafNode(otherlv_12, grammarAccess.getSignatureAccess().getRightCurlyBracketKeyword_6_4()); + } +)? otherlv_13='}' + { + newLeafNode(otherlv_13, grammarAccess.getSignatureAccess().getRightCurlyBracketKeyword_7()); + } +) +; + + + + + +// Entry rule entryRuleParameter +entryRuleParameter returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getParameterRule()); } + iv_ruleParameter=ruleParameter + { $current=$iv_ruleParameter.current; } + EOF +; + +// Rule Parameter +ruleParameter returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='Parameter' + { + newLeafNode(otherlv_0, grammarAccess.getParameterAccess().getParameterKeyword_0()); + } +( +( + { + newCompositeNode(grammarAccess.getParameterAccess().getNameEStringParserRuleCall_1_0()); + } + lv_name_1_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getParameterRule()); + } + set( + $current, + "name", + lv_name_1_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getParameterAccess().getLeftCurlyBracketKeyword_2()); + } + otherlv_3='modifier' + { + newLeafNode(otherlv_3, grammarAccess.getParameterAccess().getModifierKeyword_3()); + } +( +( + { + newCompositeNode(grammarAccess.getParameterAccess().getModifierParameterModifierEnumRuleCall_4_0()); + } + lv_modifier_4_0=ruleParameterModifier { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getParameterRule()); + } + set( + $current, + "modifier", + lv_modifier_4_0, + "ParameterModifier"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_5='dataType' + { + newLeafNode(otherlv_5, grammarAccess.getParameterAccess().getDataTypeKeyword_5()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getParameterRule()); + } + } + { + newCompositeNode(grammarAccess.getParameterAccess().getDataTypeDataTypeCrossReference_6_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_7='}' + { + newLeafNode(otherlv_7, grammarAccess.getParameterAccess().getRightCurlyBracketKeyword_7()); + } +) +; + + + + + +// Entry rule entryRuleProvidedRole +entryRuleProvidedRole returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getProvidedRoleRule()); } + iv_ruleProvidedRole=ruleProvidedRole + { $current=$iv_ruleProvidedRole.current; } + EOF +; + +// Rule ProvidedRole +ruleProvidedRole returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='ProvidedRole' + { + newLeafNode(otherlv_0, grammarAccess.getProvidedRoleAccess().getProvidedRoleKeyword_0()); + } +( +( + { + newCompositeNode(grammarAccess.getProvidedRoleAccess().getIdEStringParserRuleCall_1_0()); + } + lv_id_1_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getProvidedRoleRule()); + } + set( + $current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getProvidedRoleAccess().getLeftCurlyBracketKeyword_2()); + } + otherlv_3='name' + { + newLeafNode(otherlv_3, grammarAccess.getProvidedRoleAccess().getNameKeyword_3()); + } +( +( + { + newCompositeNode(grammarAccess.getProvidedRoleAccess().getNameEStringParserRuleCall_4_0()); + } + lv_name_4_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getProvidedRoleRule()); + } + set( + $current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_5='interface' + { + newLeafNode(otherlv_5, grammarAccess.getProvidedRoleAccess().getInterfaceKeyword_5()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getProvidedRoleRule()); + } + } + { + newCompositeNode(grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceCrossReference_6_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_7='}' + { + newLeafNode(otherlv_7, grammarAccess.getProvidedRoleAccess().getRightCurlyBracketKeyword_7()); + } +) +; + + + + + +// Entry rule entryRuleBlackBoxBehavior +entryRuleBlackBoxBehavior returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getBlackBoxBehaviorRule()); } + iv_ruleBlackBoxBehavior=ruleBlackBoxBehavior + { $current=$iv_ruleBlackBoxBehavior.current; } + EOF +; + +// Rule BlackBoxBehavior +ruleBlackBoxBehavior returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='BlackBoxBehavior' + { + newLeafNode(otherlv_0, grammarAccess.getBlackBoxBehaviorAccess().getBlackBoxBehaviorKeyword_0()); + } + otherlv_1='{' + { + newLeafNode(otherlv_1, grammarAccess.getBlackBoxBehaviorAccess().getLeftCurlyBracketKeyword_1()); + } +( otherlv_2='describedSignature' + { + newLeafNode(otherlv_2, grammarAccess.getBlackBoxBehaviorAccess().getDescribedSignatureKeyword_2_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getBlackBoxBehaviorRule()); + } + } + { + newCompositeNode(grammarAccess.getBlackBoxBehaviorAccess().getDescribedSignatureSignatureCrossReference_2_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))? otherlv_4='describedEntity' + { + newLeafNode(otherlv_4, grammarAccess.getBlackBoxBehaviorAccess().getDescribedEntityKeyword_3()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getBlackBoxBehaviorRule()); + } + } + { + newCompositeNode(grammarAccess.getBlackBoxBehaviorAccess().getDescribedEntityInterfaceProvidingEntityCrossReference_4_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_6='influencingParameter' + { + newLeafNode(otherlv_6, grammarAccess.getBlackBoxBehaviorAccess().getInfluencingParameterKeyword_5_0()); + } + otherlv_7='{' + { + newLeafNode(otherlv_7, grammarAccess.getBlackBoxBehaviorAccess().getLeftCurlyBracketKeyword_5_1()); + } +( +( + { + newCompositeNode(grammarAccess.getBlackBoxBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_2_0()); + } + lv_influencingParameter_8_0=ruleInfluencingParameter { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBlackBoxBehaviorRule()); + } + add( + $current, + "influencingParameter", + lv_influencingParameter_8_0, + "InfluencingParameter"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_9=',' + { + newLeafNode(otherlv_9, grammarAccess.getBlackBoxBehaviorAccess().getCommaKeyword_5_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getBlackBoxBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0()); + } + lv_influencingParameter_10_0=ruleInfluencingParameter { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBlackBoxBehaviorRule()); + } + add( + $current, + "influencingParameter", + lv_influencingParameter_10_0, + "InfluencingParameter"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_11='}' + { + newLeafNode(otherlv_11, grammarAccess.getBlackBoxBehaviorAccess().getRightCurlyBracketKeyword_5_4()); + } +)?( otherlv_12='responseTimeSpecification' + { + newLeafNode(otherlv_12, grammarAccess.getBlackBoxBehaviorAccess().getResponseTimeSpecificationKeyword_6_0()); + } +( +( + { + newCompositeNode(grammarAccess.getBlackBoxBehaviorAccess().getResponseTimeSpecificationResponseTimeSpecificationParserRuleCall_6_1_0()); + } + lv_responseTimeSpecification_13_0=ruleResponseTimeSpecification { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBlackBoxBehaviorRule()); + } + set( + $current, + "responseTimeSpecification", + lv_responseTimeSpecification_13_0, + "ResponseTimeSpecification"); + afterParserOrEnumRuleCall(); + } + +) +))? otherlv_14='}' + { + newLeafNode(otherlv_14, grammarAccess.getBlackBoxBehaviorAccess().getRightCurlyBracketKeyword_7()); + } +) +; + + + + + +// Entry rule entryRuleRequiredRole +entryRuleRequiredRole returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getRequiredRoleRule()); } + iv_ruleRequiredRole=ruleRequiredRole + { $current=$iv_ruleRequiredRole.current; } + EOF +; + +// Rule RequiredRole +ruleRequiredRole returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='RequiredRole' + { + newLeafNode(otherlv_0, grammarAccess.getRequiredRoleAccess().getRequiredRoleKeyword_0()); + } +( +( + { + newCompositeNode(grammarAccess.getRequiredRoleAccess().getIdEStringParserRuleCall_1_0()); + } + lv_id_1_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getRequiredRoleRule()); + } + set( + $current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getRequiredRoleAccess().getLeftCurlyBracketKeyword_2()); + } + otherlv_3='name' + { + newLeafNode(otherlv_3, grammarAccess.getRequiredRoleAccess().getNameKeyword_3()); + } +( +( + { + newCompositeNode(grammarAccess.getRequiredRoleAccess().getNameEStringParserRuleCall_4_0()); + } + lv_name_4_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getRequiredRoleRule()); + } + set( + $current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_5='interface' + { + newLeafNode(otherlv_5, grammarAccess.getRequiredRoleAccess().getInterfaceKeyword_5()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getRequiredRoleRule()); + } + } + { + newCompositeNode(grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceCrossReference_6_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_7='}' + { + newLeafNode(otherlv_7, grammarAccess.getRequiredRoleAccess().getRightCurlyBracketKeyword_7()); + } +) +; + + + + + +// Entry rule entryRuleCoarseGrainedBehavior +entryRuleCoarseGrainedBehavior returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getCoarseGrainedBehaviorRule()); } + iv_ruleCoarseGrainedBehavior=ruleCoarseGrainedBehavior + { $current=$iv_ruleCoarseGrainedBehavior.current; } + EOF +; + +// Rule CoarseGrainedBehavior +ruleCoarseGrainedBehavior returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='CoarseGrainedBehavior' + { + newLeafNode(otherlv_0, grammarAccess.getCoarseGrainedBehaviorAccess().getCoarseGrainedBehaviorKeyword_0()); + } + otherlv_1='{' + { + newLeafNode(otherlv_1, grammarAccess.getCoarseGrainedBehaviorAccess().getLeftCurlyBracketKeyword_1()); + } +( otherlv_2='describedSignature' + { + newLeafNode(otherlv_2, grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedSignatureKeyword_2_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getCoarseGrainedBehaviorRule()); + } + } + { + newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedSignatureSignatureCrossReference_2_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))? otherlv_4='describedEntity' + { + newLeafNode(otherlv_4, grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedEntityKeyword_3()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getCoarseGrainedBehaviorRule()); + } + } + { + newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedEntityInterfaceProvidingRequiringEntityCrossReference_4_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_6='influencingParameter' + { + newLeafNode(otherlv_6, grammarAccess.getCoarseGrainedBehaviorAccess().getInfluencingParameterKeyword_5_0()); + } + otherlv_7='{' + { + newLeafNode(otherlv_7, grammarAccess.getCoarseGrainedBehaviorAccess().getLeftCurlyBracketKeyword_5_1()); + } +( +( + { + newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_2_0()); + } + lv_influencingParameter_8_0=ruleInfluencingParameter { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCoarseGrainedBehaviorRule()); + } + add( + $current, + "influencingParameter", + lv_influencingParameter_8_0, + "InfluencingParameter"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_9=',' + { + newLeafNode(otherlv_9, grammarAccess.getCoarseGrainedBehaviorAccess().getCommaKeyword_5_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0()); + } + lv_influencingParameter_10_0=ruleInfluencingParameter { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCoarseGrainedBehaviorRule()); + } + add( + $current, + "influencingParameter", + lv_influencingParameter_10_0, + "InfluencingParameter"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_11='}' + { + newLeafNode(otherlv_11, grammarAccess.getCoarseGrainedBehaviorAccess().getRightCurlyBracketKeyword_5_4()); + } +)?( otherlv_12='externalCallFrequency' + { + newLeafNode(otherlv_12, grammarAccess.getCoarseGrainedBehaviorAccess().getExternalCallFrequencyKeyword_6_0()); + } + otherlv_13='{' + { + newLeafNode(otherlv_13, grammarAccess.getCoarseGrainedBehaviorAccess().getLeftCurlyBracketKeyword_6_1()); + } +( +( + { + newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getExternalCallFrequencyExternalCallFrequencyParserRuleCall_6_2_0()); + } + lv_externalCallFrequency_14_0=ruleExternalCallFrequency { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCoarseGrainedBehaviorRule()); + } + add( + $current, + "externalCallFrequency", + lv_externalCallFrequency_14_0, + "ExternalCallFrequency"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_15=',' + { + newLeafNode(otherlv_15, grammarAccess.getCoarseGrainedBehaviorAccess().getCommaKeyword_6_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getExternalCallFrequencyExternalCallFrequencyParserRuleCall_6_3_1_0()); + } + lv_externalCallFrequency_16_0=ruleExternalCallFrequency { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCoarseGrainedBehaviorRule()); + } + add( + $current, + "externalCallFrequency", + lv_externalCallFrequency_16_0, + "ExternalCallFrequency"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_17='}' + { + newLeafNode(otherlv_17, grammarAccess.getCoarseGrainedBehaviorAccess().getRightCurlyBracketKeyword_6_4()); + } +)?( otherlv_18='resourceDemandSpecification' + { + newLeafNode(otherlv_18, grammarAccess.getCoarseGrainedBehaviorAccess().getResourceDemandSpecificationKeyword_7_0()); + } + otherlv_19='{' + { + newLeafNode(otherlv_19, grammarAccess.getCoarseGrainedBehaviorAccess().getLeftCurlyBracketKeyword_7_1()); + } +( +( + { + newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_7_2_0()); + } + lv_resourceDemandSpecification_20_0=ruleResourceDemandSpecification { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCoarseGrainedBehaviorRule()); + } + add( + $current, + "resourceDemandSpecification", + lv_resourceDemandSpecification_20_0, + "ResourceDemandSpecification"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_21=',' + { + newLeafNode(otherlv_21, grammarAccess.getCoarseGrainedBehaviorAccess().getCommaKeyword_7_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_7_3_1_0()); + } + lv_resourceDemandSpecification_22_0=ruleResourceDemandSpecification { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCoarseGrainedBehaviorRule()); + } + add( + $current, + "resourceDemandSpecification", + lv_resourceDemandSpecification_22_0, + "ResourceDemandSpecification"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_23='}' + { + newLeafNode(otherlv_23, grammarAccess.getCoarseGrainedBehaviorAccess().getRightCurlyBracketKeyword_7_4()); + } +)? otherlv_24='}' + { + newLeafNode(otherlv_24, grammarAccess.getCoarseGrainedBehaviorAccess().getRightCurlyBracketKeyword_8()); + } +) +; + + + + + +// Entry rule entryRuleBasicComponent +entryRuleBasicComponent returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getBasicComponentRule()); } + iv_ruleBasicComponent=ruleBasicComponent + { $current=$iv_ruleBasicComponent.current; } + EOF +; + +// Rule BasicComponent +ruleBasicComponent returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='BasicComponent' + { + newLeafNode(otherlv_0, grammarAccess.getBasicComponentAccess().getBasicComponentKeyword_0()); + } +( +( + { + newCompositeNode(grammarAccess.getBasicComponentAccess().getIdEStringParserRuleCall_1_0()); + } + lv_id_1_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBasicComponentRule()); + } + set( + $current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_2()); + } + otherlv_3='name' + { + newLeafNode(otherlv_3, grammarAccess.getBasicComponentAccess().getNameKeyword_3()); + } +( +( + { + newCompositeNode(grammarAccess.getBasicComponentAccess().getNameEStringParserRuleCall_4_0()); + } + lv_name_4_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBasicComponentRule()); + } + set( + $current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_5='relationship' + { + newLeafNode(otherlv_5, grammarAccess.getBasicComponentAccess().getRelationshipKeyword_5_0()); + } + otherlv_6='(' + { + newLeafNode(otherlv_6, grammarAccess.getBasicComponentAccess().getLeftParenthesisKeyword_5_1()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getBasicComponentRule()); + } + } + { + newCompositeNode(grammarAccess.getBasicComponentAccess().getRelationshipRelationshipCrossReference_5_2_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_8=',' + { + newLeafNode(otherlv_8, grammarAccess.getBasicComponentAccess().getCommaKeyword_5_3_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getBasicComponentRule()); + } + } + { + newCompositeNode(grammarAccess.getBasicComponentAccess().getRelationshipRelationshipCrossReference_5_3_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_10=')' + { + newLeafNode(otherlv_10, grammarAccess.getBasicComponentAccess().getRightParenthesisKeyword_5_4()); + } +)?( otherlv_11='providedRoles' + { + newLeafNode(otherlv_11, grammarAccess.getBasicComponentAccess().getProvidedRolesKeyword_6_0()); + } + otherlv_12='{' + { + newLeafNode(otherlv_12, grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_6_1()); + } +( +( + { + newCompositeNode(grammarAccess.getBasicComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_6_2_0()); + } + lv_providedRoles_13_0=ruleProvidedRole { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBasicComponentRule()); + } + add( + $current, + "providedRoles", + lv_providedRoles_13_0, + "ProvidedRole"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_14=',' + { + newLeafNode(otherlv_14, grammarAccess.getBasicComponentAccess().getCommaKeyword_6_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getBasicComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0()); + } + lv_providedRoles_15_0=ruleProvidedRole { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBasicComponentRule()); + } + add( + $current, + "providedRoles", + lv_providedRoles_15_0, + "ProvidedRole"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_16='}' + { + newLeafNode(otherlv_16, grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_6_4()); + } +)?( otherlv_17='blackBoxBehavior' + { + newLeafNode(otherlv_17, grammarAccess.getBasicComponentAccess().getBlackBoxBehaviorKeyword_7_0()); + } + otherlv_18='{' + { + newLeafNode(otherlv_18, grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_7_1()); + } +( +( + { + newCompositeNode(grammarAccess.getBasicComponentAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0()); + } + lv_blackBoxBehavior_19_0=ruleBlackBoxBehavior { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBasicComponentRule()); + } + add( + $current, + "blackBoxBehavior", + lv_blackBoxBehavior_19_0, + "BlackBoxBehavior"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_20=',' + { + newLeafNode(otherlv_20, grammarAccess.getBasicComponentAccess().getCommaKeyword_7_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getBasicComponentAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0()); + } + lv_blackBoxBehavior_21_0=ruleBlackBoxBehavior { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBasicComponentRule()); + } + add( + $current, + "blackBoxBehavior", + lv_blackBoxBehavior_21_0, + "BlackBoxBehavior"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_22='}' + { + newLeafNode(otherlv_22, grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_7_4()); + } +)?( otherlv_23='requiredRoles' + { + newLeafNode(otherlv_23, grammarAccess.getBasicComponentAccess().getRequiredRolesKeyword_8_0()); + } + otherlv_24='{' + { + newLeafNode(otherlv_24, grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_8_1()); + } +( +( + { + newCompositeNode(grammarAccess.getBasicComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_8_2_0()); + } + lv_requiredRoles_25_0=ruleRequiredRole { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBasicComponentRule()); + } + add( + $current, + "requiredRoles", + lv_requiredRoles_25_0, + "RequiredRole"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_26=',' + { + newLeafNode(otherlv_26, grammarAccess.getBasicComponentAccess().getCommaKeyword_8_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getBasicComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0()); + } + lv_requiredRoles_27_0=ruleRequiredRole { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBasicComponentRule()); + } + add( + $current, + "requiredRoles", + lv_requiredRoles_27_0, + "RequiredRole"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_28='}' + { + newLeafNode(otherlv_28, grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_8_4()); + } +)?( otherlv_29='coarseGrainedBehavior' + { + newLeafNode(otherlv_29, grammarAccess.getBasicComponentAccess().getCoarseGrainedBehaviorKeyword_9_0()); + } + otherlv_30='{' + { + newLeafNode(otherlv_30, grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_9_1()); + } +( +( + { + newCompositeNode(grammarAccess.getBasicComponentAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0()); + } + lv_coarseGrainedBehavior_31_0=ruleCoarseGrainedBehavior { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBasicComponentRule()); + } + add( + $current, + "coarseGrainedBehavior", + lv_coarseGrainedBehavior_31_0, + "CoarseGrainedBehavior"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_32=',' + { + newLeafNode(otherlv_32, grammarAccess.getBasicComponentAccess().getCommaKeyword_9_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getBasicComponentAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0()); + } + lv_coarseGrainedBehavior_33_0=ruleCoarseGrainedBehavior { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBasicComponentRule()); + } + add( + $current, + "coarseGrainedBehavior", + lv_coarseGrainedBehavior_33_0, + "CoarseGrainedBehavior"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_34='}' + { + newLeafNode(otherlv_34, grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_9_4()); + } +)?( otherlv_35='passiveResources' + { + newLeafNode(otherlv_35, grammarAccess.getBasicComponentAccess().getPassiveResourcesKeyword_10_0()); + } + otherlv_36='{' + { + newLeafNode(otherlv_36, grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_10_1()); + } +( +( + { + newCompositeNode(grammarAccess.getBasicComponentAccess().getPassiveResourcesPassiveResourceSpecificationParserRuleCall_10_2_0()); + } + lv_passiveResources_37_0=rulePassiveResourceSpecification { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBasicComponentRule()); + } + add( + $current, + "passiveResources", + lv_passiveResources_37_0, + "PassiveResourceSpecification"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_38=',' + { + newLeafNode(otherlv_38, grammarAccess.getBasicComponentAccess().getCommaKeyword_10_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getBasicComponentAccess().getPassiveResourcesPassiveResourceSpecificationParserRuleCall_10_3_1_0()); + } + lv_passiveResources_39_0=rulePassiveResourceSpecification { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBasicComponentRule()); + } + add( + $current, + "passiveResources", + lv_passiveResources_39_0, + "PassiveResourceSpecification"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_40='}' + { + newLeafNode(otherlv_40, grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_10_4()); + } +)?( otherlv_41='fineGrainedBehavior' + { + newLeafNode(otherlv_41, grammarAccess.getBasicComponentAccess().getFineGrainedBehaviorKeyword_11_0()); + } + otherlv_42='{' + { + newLeafNode(otherlv_42, grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_11_1()); + } +( +( + { + newCompositeNode(grammarAccess.getBasicComponentAccess().getFineGrainedBehaviorFineGrainedBehaviorParserRuleCall_11_2_0()); + } + lv_fineGrainedBehavior_43_0=ruleFineGrainedBehavior { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBasicComponentRule()); + } + add( + $current, + "fineGrainedBehavior", + lv_fineGrainedBehavior_43_0, + "FineGrainedBehavior"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_44=',' + { + newLeafNode(otherlv_44, grammarAccess.getBasicComponentAccess().getCommaKeyword_11_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getBasicComponentAccess().getFineGrainedBehaviorFineGrainedBehaviorParserRuleCall_11_3_1_0()); + } + lv_fineGrainedBehavior_45_0=ruleFineGrainedBehavior { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBasicComponentRule()); + } + add( + $current, + "fineGrainedBehavior", + lv_fineGrainedBehavior_45_0, + "FineGrainedBehavior"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_46='}' + { + newLeafNode(otherlv_46, grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_11_4()); + } +)? otherlv_47='}' + { + newLeafNode(otherlv_47, grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_12()); + } +) +; + + + + + +// Entry rule entryRuleCompositeComponent +entryRuleCompositeComponent returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getCompositeComponentRule()); } + iv_ruleCompositeComponent=ruleCompositeComponent + { $current=$iv_ruleCompositeComponent.current; } + EOF +; + +// Rule CompositeComponent +ruleCompositeComponent returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='CompositeComponent' + { + newLeafNode(otherlv_0, grammarAccess.getCompositeComponentAccess().getCompositeComponentKeyword_0()); + } +( +( + { + newCompositeNode(grammarAccess.getCompositeComponentAccess().getIdEStringParserRuleCall_1_0()); + } + lv_id_1_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + set( + $current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_2()); + } + otherlv_3='name' + { + newLeafNode(otherlv_3, grammarAccess.getCompositeComponentAccess().getNameKeyword_3()); + } +( +( + { + newCompositeNode(grammarAccess.getCompositeComponentAccess().getNameEStringParserRuleCall_4_0()); + } + lv_name_4_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + set( + $current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_5='relationship' + { + newLeafNode(otherlv_5, grammarAccess.getCompositeComponentAccess().getRelationshipKeyword_5_0()); + } + otherlv_6='(' + { + newLeafNode(otherlv_6, grammarAccess.getCompositeComponentAccess().getLeftParenthesisKeyword_5_1()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getCompositeComponentRule()); + } + } + { + newCompositeNode(grammarAccess.getCompositeComponentAccess().getRelationshipRelationshipCrossReference_5_2_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_8=',' + { + newLeafNode(otherlv_8, grammarAccess.getCompositeComponentAccess().getCommaKeyword_5_3_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getCompositeComponentRule()); + } + } + { + newCompositeNode(grammarAccess.getCompositeComponentAccess().getRelationshipRelationshipCrossReference_5_3_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_10=')' + { + newLeafNode(otherlv_10, grammarAccess.getCompositeComponentAccess().getRightParenthesisKeyword_5_4()); + } +)?( otherlv_11='providedRoles' + { + newLeafNode(otherlv_11, grammarAccess.getCompositeComponentAccess().getProvidedRolesKeyword_6_0()); + } + otherlv_12='{' + { + newLeafNode(otherlv_12, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_6_1()); + } +( +( + { + newCompositeNode(grammarAccess.getCompositeComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_6_2_0()); + } + lv_providedRoles_13_0=ruleProvidedRole { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + $current, + "providedRoles", + lv_providedRoles_13_0, + "ProvidedRole"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_14=',' + { + newLeafNode(otherlv_14, grammarAccess.getCompositeComponentAccess().getCommaKeyword_6_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getCompositeComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0()); + } + lv_providedRoles_15_0=ruleProvidedRole { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + $current, + "providedRoles", + lv_providedRoles_15_0, + "ProvidedRole"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_16='}' + { + newLeafNode(otherlv_16, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_6_4()); + } +)?( otherlv_17='blackBoxBehavior' + { + newLeafNode(otherlv_17, grammarAccess.getCompositeComponentAccess().getBlackBoxBehaviorKeyword_7_0()); + } + otherlv_18='{' + { + newLeafNode(otherlv_18, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_7_1()); + } +( +( + { + newCompositeNode(grammarAccess.getCompositeComponentAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0()); + } + lv_blackBoxBehavior_19_0=ruleBlackBoxBehavior { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + $current, + "blackBoxBehavior", + lv_blackBoxBehavior_19_0, + "BlackBoxBehavior"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_20=',' + { + newLeafNode(otherlv_20, grammarAccess.getCompositeComponentAccess().getCommaKeyword_7_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getCompositeComponentAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0()); + } + lv_blackBoxBehavior_21_0=ruleBlackBoxBehavior { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + $current, + "blackBoxBehavior", + lv_blackBoxBehavior_21_0, + "BlackBoxBehavior"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_22='}' + { + newLeafNode(otherlv_22, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_7_4()); + } +)?( otherlv_23='requiredRoles' + { + newLeafNode(otherlv_23, grammarAccess.getCompositeComponentAccess().getRequiredRolesKeyword_8_0()); + } + otherlv_24='{' + { + newLeafNode(otherlv_24, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_8_1()); + } +( +( + { + newCompositeNode(grammarAccess.getCompositeComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_8_2_0()); + } + lv_requiredRoles_25_0=ruleRequiredRole { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + $current, + "requiredRoles", + lv_requiredRoles_25_0, + "RequiredRole"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_26=',' + { + newLeafNode(otherlv_26, grammarAccess.getCompositeComponentAccess().getCommaKeyword_8_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getCompositeComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0()); + } + lv_requiredRoles_27_0=ruleRequiredRole { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + $current, + "requiredRoles", + lv_requiredRoles_27_0, + "RequiredRole"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_28='}' + { + newLeafNode(otherlv_28, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_8_4()); + } +)?( otherlv_29='coarseGrainedBehavior' + { + newLeafNode(otherlv_29, grammarAccess.getCompositeComponentAccess().getCoarseGrainedBehaviorKeyword_9_0()); + } + otherlv_30='{' + { + newLeafNode(otherlv_30, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_9_1()); + } +( +( + { + newCompositeNode(grammarAccess.getCompositeComponentAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0()); + } + lv_coarseGrainedBehavior_31_0=ruleCoarseGrainedBehavior { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + $current, + "coarseGrainedBehavior", + lv_coarseGrainedBehavior_31_0, + "CoarseGrainedBehavior"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_32=',' + { + newLeafNode(otherlv_32, grammarAccess.getCompositeComponentAccess().getCommaKeyword_9_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getCompositeComponentAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0()); + } + lv_coarseGrainedBehavior_33_0=ruleCoarseGrainedBehavior { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + $current, + "coarseGrainedBehavior", + lv_coarseGrainedBehavior_33_0, + "CoarseGrainedBehavior"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_34='}' + { + newLeafNode(otherlv_34, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_9_4()); + } +)?( otherlv_35='assemblyContexts' + { + newLeafNode(otherlv_35, grammarAccess.getCompositeComponentAccess().getAssemblyContextsKeyword_10_0()); + } + otherlv_36='{' + { + newLeafNode(otherlv_36, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_10_1()); + } +( +( + { + newCompositeNode(grammarAccess.getCompositeComponentAccess().getAssemblyContextsAssemblyContextParserRuleCall_10_2_0()); + } + lv_assemblyContexts_37_0=ruleAssemblyContext { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + $current, + "assemblyContexts", + lv_assemblyContexts_37_0, + "AssemblyContext"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_38=',' + { + newLeafNode(otherlv_38, grammarAccess.getCompositeComponentAccess().getCommaKeyword_10_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getCompositeComponentAccess().getAssemblyContextsAssemblyContextParserRuleCall_10_3_1_0()); + } + lv_assemblyContexts_39_0=ruleAssemblyContext { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + $current, + "assemblyContexts", + lv_assemblyContexts_39_0, + "AssemblyContext"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_40='}' + { + newLeafNode(otherlv_40, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_10_4()); + } +)?( otherlv_41='assemblyConnectors' + { + newLeafNode(otherlv_41, grammarAccess.getCompositeComponentAccess().getAssemblyConnectorsKeyword_11_0()); + } + otherlv_42='{' + { + newLeafNode(otherlv_42, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_11_1()); + } +( +( + { + newCompositeNode(grammarAccess.getCompositeComponentAccess().getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_2_0()); + } + lv_assemblyConnectors_43_0=ruleAssemblyConnector { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + $current, + "assemblyConnectors", + lv_assemblyConnectors_43_0, + "AssemblyConnector"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_44=',' + { + newLeafNode(otherlv_44, grammarAccess.getCompositeComponentAccess().getCommaKeyword_11_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getCompositeComponentAccess().getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_3_1_0()); + } + lv_assemblyConnectors_45_0=ruleAssemblyConnector { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + $current, + "assemblyConnectors", + lv_assemblyConnectors_45_0, + "AssemblyConnector"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_46='}' + { + newLeafNode(otherlv_46, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_11_4()); + } +)?( otherlv_47='providedDelegationConnectors' + { + newLeafNode(otherlv_47, grammarAccess.getCompositeComponentAccess().getProvidedDelegationConnectorsKeyword_12_0()); + } + otherlv_48='{' + { + newLeafNode(otherlv_48, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_12_1()); + } +( +( + { + newCompositeNode(grammarAccess.getCompositeComponentAccess().getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_2_0()); + } + lv_providedDelegationConnectors_49_0=ruleProvidedDelegationConnector { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + $current, + "providedDelegationConnectors", + lv_providedDelegationConnectors_49_0, + "ProvidedDelegationConnector"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_50=',' + { + newLeafNode(otherlv_50, grammarAccess.getCompositeComponentAccess().getCommaKeyword_12_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getCompositeComponentAccess().getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_3_1_0()); + } + lv_providedDelegationConnectors_51_0=ruleProvidedDelegationConnector { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + $current, + "providedDelegationConnectors", + lv_providedDelegationConnectors_51_0, + "ProvidedDelegationConnector"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_52='}' + { + newLeafNode(otherlv_52, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_12_4()); + } +)?( otherlv_53='requiredDelegationConnectors' + { + newLeafNode(otherlv_53, grammarAccess.getCompositeComponentAccess().getRequiredDelegationConnectorsKeyword_13_0()); + } + otherlv_54='{' + { + newLeafNode(otherlv_54, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_13_1()); + } +( +( + { + newCompositeNode(grammarAccess.getCompositeComponentAccess().getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_2_0()); + } + lv_requiredDelegationConnectors_55_0=ruleRequiredDelegationConnector { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + $current, + "requiredDelegationConnectors", + lv_requiredDelegationConnectors_55_0, + "RequiredDelegationConnector"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_56=',' + { + newLeafNode(otherlv_56, grammarAccess.getCompositeComponentAccess().getCommaKeyword_13_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getCompositeComponentAccess().getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_3_1_0()); + } + lv_requiredDelegationConnectors_57_0=ruleRequiredDelegationConnector { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + $current, + "requiredDelegationConnectors", + lv_requiredDelegationConnectors_57_0, + "RequiredDelegationConnector"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_58='}' + { + newLeafNode(otherlv_58, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_13_4()); + } +)? otherlv_59='}' + { + newLeafNode(otherlv_59, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_14()); + } +) +; + + + + + +// Entry rule entryRuleSubSystem +entryRuleSubSystem returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getSubSystemRule()); } + iv_ruleSubSystem=ruleSubSystem + { $current=$iv_ruleSubSystem.current; } + EOF +; + +// Rule SubSystem +ruleSubSystem returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='SubSystem' + { + newLeafNode(otherlv_0, grammarAccess.getSubSystemAccess().getSubSystemKeyword_0()); + } +( +( + { + newCompositeNode(grammarAccess.getSubSystemAccess().getIdEStringParserRuleCall_1_0()); + } + lv_id_1_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + set( + $current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_2()); + } + otherlv_3='name' + { + newLeafNode(otherlv_3, grammarAccess.getSubSystemAccess().getNameKeyword_3()); + } +( +( + { + newCompositeNode(grammarAccess.getSubSystemAccess().getNameEStringParserRuleCall_4_0()); + } + lv_name_4_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + set( + $current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_5='relationship' + { + newLeafNode(otherlv_5, grammarAccess.getSubSystemAccess().getRelationshipKeyword_5_0()); + } + otherlv_6='(' + { + newLeafNode(otherlv_6, grammarAccess.getSubSystemAccess().getLeftParenthesisKeyword_5_1()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getSubSystemRule()); + } + } + { + newCompositeNode(grammarAccess.getSubSystemAccess().getRelationshipRelationshipCrossReference_5_2_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_8=',' + { + newLeafNode(otherlv_8, grammarAccess.getSubSystemAccess().getCommaKeyword_5_3_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getSubSystemRule()); + } + } + { + newCompositeNode(grammarAccess.getSubSystemAccess().getRelationshipRelationshipCrossReference_5_3_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_10=')' + { + newLeafNode(otherlv_10, grammarAccess.getSubSystemAccess().getRightParenthesisKeyword_5_4()); + } +)?( otherlv_11='providedRoles' + { + newLeafNode(otherlv_11, grammarAccess.getSubSystemAccess().getProvidedRolesKeyword_6_0()); + } + otherlv_12='{' + { + newLeafNode(otherlv_12, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_6_1()); + } +( +( + { + newCompositeNode(grammarAccess.getSubSystemAccess().getProvidedRolesProvidedRoleParserRuleCall_6_2_0()); + } + lv_providedRoles_13_0=ruleProvidedRole { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + $current, + "providedRoles", + lv_providedRoles_13_0, + "ProvidedRole"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_14=',' + { + newLeafNode(otherlv_14, grammarAccess.getSubSystemAccess().getCommaKeyword_6_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getSubSystemAccess().getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0()); + } + lv_providedRoles_15_0=ruleProvidedRole { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + $current, + "providedRoles", + lv_providedRoles_15_0, + "ProvidedRole"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_16='}' + { + newLeafNode(otherlv_16, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_6_4()); + } +)?( otherlv_17='blackBoxBehavior' + { + newLeafNode(otherlv_17, grammarAccess.getSubSystemAccess().getBlackBoxBehaviorKeyword_7_0()); + } + otherlv_18='{' + { + newLeafNode(otherlv_18, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_7_1()); + } +( +( + { + newCompositeNode(grammarAccess.getSubSystemAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0()); + } + lv_blackBoxBehavior_19_0=ruleBlackBoxBehavior { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + $current, + "blackBoxBehavior", + lv_blackBoxBehavior_19_0, + "BlackBoxBehavior"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_20=',' + { + newLeafNode(otherlv_20, grammarAccess.getSubSystemAccess().getCommaKeyword_7_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getSubSystemAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0()); + } + lv_blackBoxBehavior_21_0=ruleBlackBoxBehavior { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + $current, + "blackBoxBehavior", + lv_blackBoxBehavior_21_0, + "BlackBoxBehavior"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_22='}' + { + newLeafNode(otherlv_22, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_7_4()); + } +)?( otherlv_23='requiredRoles' + { + newLeafNode(otherlv_23, grammarAccess.getSubSystemAccess().getRequiredRolesKeyword_8_0()); + } + otherlv_24='{' + { + newLeafNode(otherlv_24, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_8_1()); + } +( +( + { + newCompositeNode(grammarAccess.getSubSystemAccess().getRequiredRolesRequiredRoleParserRuleCall_8_2_0()); + } + lv_requiredRoles_25_0=ruleRequiredRole { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + $current, + "requiredRoles", + lv_requiredRoles_25_0, + "RequiredRole"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_26=',' + { + newLeafNode(otherlv_26, grammarAccess.getSubSystemAccess().getCommaKeyword_8_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getSubSystemAccess().getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0()); + } + lv_requiredRoles_27_0=ruleRequiredRole { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + $current, + "requiredRoles", + lv_requiredRoles_27_0, + "RequiredRole"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_28='}' + { + newLeafNode(otherlv_28, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_8_4()); + } +)?( otherlv_29='coarseGrainedBehavior' + { + newLeafNode(otherlv_29, grammarAccess.getSubSystemAccess().getCoarseGrainedBehaviorKeyword_9_0()); + } + otherlv_30='{' + { + newLeafNode(otherlv_30, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_9_1()); + } +( +( + { + newCompositeNode(grammarAccess.getSubSystemAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0()); + } + lv_coarseGrainedBehavior_31_0=ruleCoarseGrainedBehavior { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + $current, + "coarseGrainedBehavior", + lv_coarseGrainedBehavior_31_0, + "CoarseGrainedBehavior"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_32=',' + { + newLeafNode(otherlv_32, grammarAccess.getSubSystemAccess().getCommaKeyword_9_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getSubSystemAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0()); + } + lv_coarseGrainedBehavior_33_0=ruleCoarseGrainedBehavior { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + $current, + "coarseGrainedBehavior", + lv_coarseGrainedBehavior_33_0, + "CoarseGrainedBehavior"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_34='}' + { + newLeafNode(otherlv_34, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_9_4()); + } +)?( otherlv_35='assemblyContexts' + { + newLeafNode(otherlv_35, grammarAccess.getSubSystemAccess().getAssemblyContextsKeyword_10_0()); + } + otherlv_36='{' + { + newLeafNode(otherlv_36, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_10_1()); + } +( +( + { + newCompositeNode(grammarAccess.getSubSystemAccess().getAssemblyContextsAssemblyContextParserRuleCall_10_2_0()); + } + lv_assemblyContexts_37_0=ruleAssemblyContext { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + $current, + "assemblyContexts", + lv_assemblyContexts_37_0, + "AssemblyContext"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_38=',' + { + newLeafNode(otherlv_38, grammarAccess.getSubSystemAccess().getCommaKeyword_10_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getSubSystemAccess().getAssemblyContextsAssemblyContextParserRuleCall_10_3_1_0()); + } + lv_assemblyContexts_39_0=ruleAssemblyContext { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + $current, + "assemblyContexts", + lv_assemblyContexts_39_0, + "AssemblyContext"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_40='}' + { + newLeafNode(otherlv_40, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_10_4()); + } +)?( otherlv_41='assemblyConnectors' + { + newLeafNode(otherlv_41, grammarAccess.getSubSystemAccess().getAssemblyConnectorsKeyword_11_0()); + } + otherlv_42='{' + { + newLeafNode(otherlv_42, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_11_1()); + } +( +( + { + newCompositeNode(grammarAccess.getSubSystemAccess().getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_2_0()); + } + lv_assemblyConnectors_43_0=ruleAssemblyConnector { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + $current, + "assemblyConnectors", + lv_assemblyConnectors_43_0, + "AssemblyConnector"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_44=',' + { + newLeafNode(otherlv_44, grammarAccess.getSubSystemAccess().getCommaKeyword_11_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getSubSystemAccess().getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_3_1_0()); + } + lv_assemblyConnectors_45_0=ruleAssemblyConnector { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + $current, + "assemblyConnectors", + lv_assemblyConnectors_45_0, + "AssemblyConnector"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_46='}' + { + newLeafNode(otherlv_46, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_11_4()); + } +)?( otherlv_47='providedDelegationConnectors' + { + newLeafNode(otherlv_47, grammarAccess.getSubSystemAccess().getProvidedDelegationConnectorsKeyword_12_0()); + } + otherlv_48='{' + { + newLeafNode(otherlv_48, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_12_1()); + } +( +( + { + newCompositeNode(grammarAccess.getSubSystemAccess().getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_2_0()); + } + lv_providedDelegationConnectors_49_0=ruleProvidedDelegationConnector { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + $current, + "providedDelegationConnectors", + lv_providedDelegationConnectors_49_0, + "ProvidedDelegationConnector"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_50=',' + { + newLeafNode(otherlv_50, grammarAccess.getSubSystemAccess().getCommaKeyword_12_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getSubSystemAccess().getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_3_1_0()); + } + lv_providedDelegationConnectors_51_0=ruleProvidedDelegationConnector { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + $current, + "providedDelegationConnectors", + lv_providedDelegationConnectors_51_0, + "ProvidedDelegationConnector"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_52='}' + { + newLeafNode(otherlv_52, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_12_4()); + } +)?( otherlv_53='requiredDelegationConnectors' + { + newLeafNode(otherlv_53, grammarAccess.getSubSystemAccess().getRequiredDelegationConnectorsKeyword_13_0()); + } + otherlv_54='{' + { + newLeafNode(otherlv_54, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_13_1()); + } +( +( + { + newCompositeNode(grammarAccess.getSubSystemAccess().getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_2_0()); + } + lv_requiredDelegationConnectors_55_0=ruleRequiredDelegationConnector { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + $current, + "requiredDelegationConnectors", + lv_requiredDelegationConnectors_55_0, + "RequiredDelegationConnector"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_56=',' + { + newLeafNode(otherlv_56, grammarAccess.getSubSystemAccess().getCommaKeyword_13_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getSubSystemAccess().getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_3_1_0()); + } + lv_requiredDelegationConnectors_57_0=ruleRequiredDelegationConnector { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + $current, + "requiredDelegationConnectors", + lv_requiredDelegationConnectors_57_0, + "RequiredDelegationConnector"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_58='}' + { + newLeafNode(otherlv_58, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_13_4()); + } +)? otherlv_59='}' + { + newLeafNode(otherlv_59, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_14()); + } +) +; + + + + + +// Entry rule entryRuleInfluencingParameter_Impl +entryRuleInfluencingParameter_Impl returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getInfluencingParameter_ImplRule()); } + iv_ruleInfluencingParameter_Impl=ruleInfluencingParameter_Impl + { $current=$iv_ruleInfluencingParameter_Impl.current; } + EOF +; + +// Rule InfluencingParameter_Impl +ruleInfluencingParameter_Impl returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='InfluencingParameter' + { + newLeafNode(otherlv_0, grammarAccess.getInfluencingParameter_ImplAccess().getInfluencingParameterKeyword_0()); + } +( +( + { + newCompositeNode(grammarAccess.getInfluencingParameter_ImplAccess().getNameEStringParserRuleCall_1_0()); + } + lv_name_1_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getInfluencingParameter_ImplRule()); + } + set( + $current, + "name", + lv_name_1_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getInfluencingParameter_ImplAccess().getLeftCurlyBracketKeyword_2()); + } + otherlv_3='description' + { + newLeafNode(otherlv_3, grammarAccess.getInfluencingParameter_ImplAccess().getDescriptionKeyword_3()); + } +( +( + { + newCompositeNode(grammarAccess.getInfluencingParameter_ImplAccess().getDescriptionEStringParserRuleCall_4_0()); + } + lv_description_4_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getInfluencingParameter_ImplRule()); + } + set( + $current, + "description", + lv_description_4_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_5='behavior' + { + newLeafNode(otherlv_5, grammarAccess.getInfluencingParameter_ImplAccess().getBehaviorKeyword_5()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getInfluencingParameter_ImplRule()); + } + } + { + newCompositeNode(grammarAccess.getInfluencingParameter_ImplAccess().getBehaviorServiceBehaviorAbstractionCrossReference_6_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_7='scope' + { + newLeafNode(otherlv_7, grammarAccess.getInfluencingParameter_ImplAccess().getScopeKeyword_7_0()); + } + otherlv_8='{' + { + newLeafNode(otherlv_8, grammarAccess.getInfluencingParameter_ImplAccess().getLeftCurlyBracketKeyword_7_1()); + } +( +( + { + newCompositeNode(grammarAccess.getInfluencingParameter_ImplAccess().getScopeScopeParserRuleCall_7_2_0()); + } + lv_scope_9_0=ruleScope { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getInfluencingParameter_ImplRule()); + } + add( + $current, + "scope", + lv_scope_9_0, + "Scope"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_10=',' + { + newLeafNode(otherlv_10, grammarAccess.getInfluencingParameter_ImplAccess().getCommaKeyword_7_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getInfluencingParameter_ImplAccess().getScopeScopeParserRuleCall_7_3_1_0()); + } + lv_scope_11_0=ruleScope { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getInfluencingParameter_ImplRule()); + } + add( + $current, + "scope", + lv_scope_11_0, + "Scope"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_12='}' + { + newLeafNode(otherlv_12, grammarAccess.getInfluencingParameter_ImplAccess().getRightCurlyBracketKeyword_7_4()); + } +)? otherlv_13='}' + { + newLeafNode(otherlv_13, grammarAccess.getInfluencingParameter_ImplAccess().getRightCurlyBracketKeyword_8()); + } +) +; + + + + + +// Entry rule entryRuleResponseTimeSpecification +entryRuleResponseTimeSpecification returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getResponseTimeSpecificationRule()); } + iv_ruleResponseTimeSpecification=ruleResponseTimeSpecification + { $current=$iv_ruleResponseTimeSpecification.current; } + EOF +; + +// Rule ResponseTimeSpecification +ruleResponseTimeSpecification returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +(( + { + $current = forceCreateModelElement( + grammarAccess.getResponseTimeSpecificationAccess().getResponseTimeSpecificationAction_0(), + $current); + } +) otherlv_1='ResponseTimeSpecification' + { + newLeafNode(otherlv_1, grammarAccess.getResponseTimeSpecificationAccess().getResponseTimeSpecificationKeyword_1()); + } +) +; + + + + + +// Entry rule entryRuleScope +entryRuleScope returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getScopeRule()); } + iv_ruleScope=ruleScope + { $current=$iv_ruleScope.current; } + EOF +; + +// Rule Scope +ruleScope returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='Scope' + { + newLeafNode(otherlv_0, grammarAccess.getScopeAccess().getScopeKeyword_0()); + } + otherlv_1='{' + { + newLeafNode(otherlv_1, grammarAccess.getScopeAccess().getLeftCurlyBracketKeyword_1()); + } + otherlv_2='interfaceProvidingRequiringEntity' + { + newLeafNode(otherlv_2, grammarAccess.getScopeAccess().getInterfaceProvidingRequiringEntityKeyword_2()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getScopeRule()); + } + } + { + newCompositeNode(grammarAccess.getScopeAccess().getInterfaceProvidingRequiringEntityInterfaceProvidingRequiringEntityCrossReference_3_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_4='}' + { + newLeafNode(otherlv_4, grammarAccess.getScopeAccess().getRightCurlyBracketKeyword_4()); + } +) +; + + + + + +// Entry rule entryRuleServiceInputParameter +entryRuleServiceInputParameter returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getServiceInputParameterRule()); } + iv_ruleServiceInputParameter=ruleServiceInputParameter + { $current=$iv_ruleServiceInputParameter.current; } + EOF +; + +// Rule ServiceInputParameter +ruleServiceInputParameter returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='ServiceInputParameter' + { + newLeafNode(otherlv_0, grammarAccess.getServiceInputParameterAccess().getServiceInputParameterKeyword_0()); + } +( +( + { + newCompositeNode(grammarAccess.getServiceInputParameterAccess().getNameEStringParserRuleCall_1_0()); + } + lv_name_1_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getServiceInputParameterRule()); + } + set( + $current, + "name", + lv_name_1_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getServiceInputParameterAccess().getLeftCurlyBracketKeyword_2()); + } + otherlv_3='description' + { + newLeafNode(otherlv_3, grammarAccess.getServiceInputParameterAccess().getDescriptionKeyword_3()); + } +( +( + { + newCompositeNode(grammarAccess.getServiceInputParameterAccess().getDescriptionEStringParserRuleCall_4_0()); + } + lv_description_4_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getServiceInputParameterRule()); + } + set( + $current, + "description", + lv_description_4_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_5='characterization' + { + newLeafNode(otherlv_5, grammarAccess.getServiceInputParameterAccess().getCharacterizationKeyword_5()); + } +( +( + { + newCompositeNode(grammarAccess.getServiceInputParameterAccess().getCharacterizationCharacterizationTypeEnumRuleCall_6_0()); + } + lv_characterization_6_0=ruleCharacterizationType { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getServiceInputParameterRule()); + } + set( + $current, + "characterization", + lv_characterization_6_0, + "CharacterizationType"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_7='behavior' + { + newLeafNode(otherlv_7, grammarAccess.getServiceInputParameterAccess().getBehaviorKeyword_7()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getServiceInputParameterRule()); + } + } + { + newCompositeNode(grammarAccess.getServiceInputParameterAccess().getBehaviorServiceBehaviorAbstractionCrossReference_8_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_9='signature' + { + newLeafNode(otherlv_9, grammarAccess.getServiceInputParameterAccess().getSignatureKeyword_9()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getServiceInputParameterRule()); + } + } + { + newCompositeNode(grammarAccess.getServiceInputParameterAccess().getSignatureSignatureCrossReference_10_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_11='parameter' + { + newLeafNode(otherlv_11, grammarAccess.getServiceInputParameterAccess().getParameterKeyword_11_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getServiceInputParameterRule()); + } + } + { + newCompositeNode(grammarAccess.getServiceInputParameterAccess().getParameterParameterCrossReference_11_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))?( otherlv_13='returnType' + { + newLeafNode(otherlv_13, grammarAccess.getServiceInputParameterAccess().getReturnTypeKeyword_12_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getServiceInputParameterRule()); + } + } + { + newCompositeNode(grammarAccess.getServiceInputParameterAccess().getReturnTypeDataTypeCrossReference_12_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))? otherlv_15='providedRole' + { + newLeafNode(otherlv_15, grammarAccess.getServiceInputParameterAccess().getProvidedRoleKeyword_13()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getServiceInputParameterRule()); + } + } + { + newCompositeNode(grammarAccess.getServiceInputParameterAccess().getProvidedRoleProvidedRoleCrossReference_14_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_17='scope' + { + newLeafNode(otherlv_17, grammarAccess.getServiceInputParameterAccess().getScopeKeyword_15_0()); + } + otherlv_18='{' + { + newLeafNode(otherlv_18, grammarAccess.getServiceInputParameterAccess().getLeftCurlyBracketKeyword_15_1()); + } +( +( + { + newCompositeNode(grammarAccess.getServiceInputParameterAccess().getScopeScopeParserRuleCall_15_2_0()); + } + lv_scope_19_0=ruleScope { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getServiceInputParameterRule()); + } + add( + $current, + "scope", + lv_scope_19_0, + "Scope"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_20=',' + { + newLeafNode(otherlv_20, grammarAccess.getServiceInputParameterAccess().getCommaKeyword_15_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getServiceInputParameterAccess().getScopeScopeParserRuleCall_15_3_1_0()); + } + lv_scope_21_0=ruleScope { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getServiceInputParameterRule()); + } + add( + $current, + "scope", + lv_scope_21_0, + "Scope"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_22='}' + { + newLeafNode(otherlv_22, grammarAccess.getServiceInputParameterAccess().getRightCurlyBracketKeyword_15_4()); + } +)? otherlv_23='}' + { + newLeafNode(otherlv_23, grammarAccess.getServiceInputParameterAccess().getRightCurlyBracketKeyword_16()); + } +) +; + + + + + +// Entry rule entryRuleExternalCallReturnParameter +entryRuleExternalCallReturnParameter returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getExternalCallReturnParameterRule()); } + iv_ruleExternalCallReturnParameter=ruleExternalCallReturnParameter + { $current=$iv_ruleExternalCallReturnParameter.current; } + EOF +; + +// Rule ExternalCallReturnParameter +ruleExternalCallReturnParameter returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='ExternalCallReturnParameter' + { + newLeafNode(otherlv_0, grammarAccess.getExternalCallReturnParameterAccess().getExternalCallReturnParameterKeyword_0()); + } +( +( + { + newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getNameEStringParserRuleCall_1_0()); + } + lv_name_1_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getExternalCallReturnParameterRule()); + } + set( + $current, + "name", + lv_name_1_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getExternalCallReturnParameterAccess().getLeftCurlyBracketKeyword_2()); + } + otherlv_3='description' + { + newLeafNode(otherlv_3, grammarAccess.getExternalCallReturnParameterAccess().getDescriptionKeyword_3()); + } +( +( + { + newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getDescriptionEStringParserRuleCall_4_0()); + } + lv_description_4_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getExternalCallReturnParameterRule()); + } + set( + $current, + "description", + lv_description_4_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_5='characterization' + { + newLeafNode(otherlv_5, grammarAccess.getExternalCallReturnParameterAccess().getCharacterizationKeyword_5()); + } +( +( + { + newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getCharacterizationCharacterizationTypeEnumRuleCall_6_0()); + } + lv_characterization_6_0=ruleCharacterizationType { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getExternalCallReturnParameterRule()); + } + set( + $current, + "characterization", + lv_characterization_6_0, + "CharacterizationType"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_7='behavior' + { + newLeafNode(otherlv_7, grammarAccess.getExternalCallReturnParameterAccess().getBehaviorKeyword_7()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getExternalCallReturnParameterRule()); + } + } + { + newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getBehaviorServiceBehaviorAbstractionCrossReference_8_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_9='signature' + { + newLeafNode(otherlv_9, grammarAccess.getExternalCallReturnParameterAccess().getSignatureKeyword_9()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getExternalCallReturnParameterRule()); + } + } + { + newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getSignatureSignatureCrossReference_10_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_11='parameter' + { + newLeafNode(otherlv_11, grammarAccess.getExternalCallReturnParameterAccess().getParameterKeyword_11_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getExternalCallReturnParameterRule()); + } + } + { + newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getParameterParameterCrossReference_11_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))?( otherlv_13='returnType' + { + newLeafNode(otherlv_13, grammarAccess.getExternalCallReturnParameterAccess().getReturnTypeKeyword_12_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getExternalCallReturnParameterRule()); + } + } + { + newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getReturnTypeDataTypeCrossReference_12_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))? otherlv_15='externalCall' + { + newLeafNode(otherlv_15, grammarAccess.getExternalCallReturnParameterAccess().getExternalCallKeyword_13()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getExternalCallReturnParameterRule()); + } + } + { + newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getExternalCallExternalCallCrossReference_14_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_17='scope' + { + newLeafNode(otherlv_17, grammarAccess.getExternalCallReturnParameterAccess().getScopeKeyword_15_0()); + } + otherlv_18='{' + { + newLeafNode(otherlv_18, grammarAccess.getExternalCallReturnParameterAccess().getLeftCurlyBracketKeyword_15_1()); + } +( +( + { + newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getScopeScopeParserRuleCall_15_2_0()); + } + lv_scope_19_0=ruleScope { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getExternalCallReturnParameterRule()); + } + add( + $current, + "scope", + lv_scope_19_0, + "Scope"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_20=',' + { + newLeafNode(otherlv_20, grammarAccess.getExternalCallReturnParameterAccess().getCommaKeyword_15_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getScopeScopeParserRuleCall_15_3_1_0()); + } + lv_scope_21_0=ruleScope { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getExternalCallReturnParameterRule()); + } + add( + $current, + "scope", + lv_scope_21_0, + "Scope"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_22='}' + { + newLeafNode(otherlv_22, grammarAccess.getExternalCallReturnParameterAccess().getRightCurlyBracketKeyword_15_4()); + } +)? otherlv_23='}' + { + newLeafNode(otherlv_23, grammarAccess.getExternalCallReturnParameterAccess().getRightCurlyBracketKeyword_16()); + } +) +; + + + + + +// Entry rule entryRuleExternalCallParameter +entryRuleExternalCallParameter returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getExternalCallParameterRule()); } + iv_ruleExternalCallParameter=ruleExternalCallParameter + { $current=$iv_ruleExternalCallParameter.current; } + EOF +; + +// Rule ExternalCallParameter +ruleExternalCallParameter returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='ExternalCallParameter' + { + newLeafNode(otherlv_0, grammarAccess.getExternalCallParameterAccess().getExternalCallParameterKeyword_0()); + } +( +( + { + newCompositeNode(grammarAccess.getExternalCallParameterAccess().getNameEStringParserRuleCall_1_0()); + } + lv_name_1_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getExternalCallParameterRule()); + } + set( + $current, + "name", + lv_name_1_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getExternalCallParameterAccess().getLeftCurlyBracketKeyword_2()); + } + otherlv_3='description' + { + newLeafNode(otherlv_3, grammarAccess.getExternalCallParameterAccess().getDescriptionKeyword_3()); + } +( +( + { + newCompositeNode(grammarAccess.getExternalCallParameterAccess().getDescriptionEStringParserRuleCall_4_0()); + } + lv_description_4_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getExternalCallParameterRule()); + } + set( + $current, + "description", + lv_description_4_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_5='characterization' + { + newLeafNode(otherlv_5, grammarAccess.getExternalCallParameterAccess().getCharacterizationKeyword_5()); + } +( +( + { + newCompositeNode(grammarAccess.getExternalCallParameterAccess().getCharacterizationCharacterizationTypeEnumRuleCall_6_0()); + } + lv_characterization_6_0=ruleCharacterizationType { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getExternalCallParameterRule()); + } + set( + $current, + "characterization", + lv_characterization_6_0, + "CharacterizationType"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_7='behavior' + { + newLeafNode(otherlv_7, grammarAccess.getExternalCallParameterAccess().getBehaviorKeyword_7()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getExternalCallParameterRule()); + } + } + { + newCompositeNode(grammarAccess.getExternalCallParameterAccess().getBehaviorServiceBehaviorAbstractionCrossReference_8_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_9='signature' + { + newLeafNode(otherlv_9, grammarAccess.getExternalCallParameterAccess().getSignatureKeyword_9()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getExternalCallParameterRule()); + } + } + { + newCompositeNode(grammarAccess.getExternalCallParameterAccess().getSignatureSignatureCrossReference_10_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_11='parameter' + { + newLeafNode(otherlv_11, grammarAccess.getExternalCallParameterAccess().getParameterKeyword_11_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getExternalCallParameterRule()); + } + } + { + newCompositeNode(grammarAccess.getExternalCallParameterAccess().getParameterParameterCrossReference_11_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))?( otherlv_13='returnType' + { + newLeafNode(otherlv_13, grammarAccess.getExternalCallParameterAccess().getReturnTypeKeyword_12_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getExternalCallParameterRule()); + } + } + { + newCompositeNode(grammarAccess.getExternalCallParameterAccess().getReturnTypeDataTypeCrossReference_12_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))? otherlv_15='externallCall' + { + newLeafNode(otherlv_15, grammarAccess.getExternalCallParameterAccess().getExternallCallKeyword_13()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getExternalCallParameterRule()); + } + } + { + newCompositeNode(grammarAccess.getExternalCallParameterAccess().getExternallCallExternalCallCrossReference_14_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_17='scope' + { + newLeafNode(otherlv_17, grammarAccess.getExternalCallParameterAccess().getScopeKeyword_15_0()); + } + otherlv_18='{' + { + newLeafNode(otherlv_18, grammarAccess.getExternalCallParameterAccess().getLeftCurlyBracketKeyword_15_1()); + } +( +( + { + newCompositeNode(grammarAccess.getExternalCallParameterAccess().getScopeScopeParserRuleCall_15_2_0()); + } + lv_scope_19_0=ruleScope { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getExternalCallParameterRule()); + } + add( + $current, + "scope", + lv_scope_19_0, + "Scope"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_20=',' + { + newLeafNode(otherlv_20, grammarAccess.getExternalCallParameterAccess().getCommaKeyword_15_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getExternalCallParameterAccess().getScopeScopeParserRuleCall_15_3_1_0()); + } + lv_scope_21_0=ruleScope { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getExternalCallParameterRule()); + } + add( + $current, + "scope", + lv_scope_21_0, + "Scope"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_22='}' + { + newLeafNode(otherlv_22, grammarAccess.getExternalCallParameterAccess().getRightCurlyBracketKeyword_15_4()); + } +)? otherlv_23='}' + { + newLeafNode(otherlv_23, grammarAccess.getExternalCallParameterAccess().getRightCurlyBracketKeyword_16()); + } +) +; + + + + + +// Entry rule entryRuleFineGrainedBehavior +entryRuleFineGrainedBehavior returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getFineGrainedBehaviorRule()); } + iv_ruleFineGrainedBehavior=ruleFineGrainedBehavior + { $current=$iv_ruleFineGrainedBehavior.current; } + EOF +; + +// Rule FineGrainedBehavior +ruleFineGrainedBehavior returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='FineGrainedBehavior' + { + newLeafNode(otherlv_0, grammarAccess.getFineGrainedBehaviorAccess().getFineGrainedBehaviorKeyword_0()); + } + otherlv_1='{' + { + newLeafNode(otherlv_1, grammarAccess.getFineGrainedBehaviorAccess().getLeftCurlyBracketKeyword_1()); + } +( otherlv_2='describedSignature' + { + newLeafNode(otherlv_2, grammarAccess.getFineGrainedBehaviorAccess().getDescribedSignatureKeyword_2_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getFineGrainedBehaviorRule()); + } + } + { + newCompositeNode(grammarAccess.getFineGrainedBehaviorAccess().getDescribedSignatureSignatureCrossReference_2_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))? otherlv_4='basicComponent' + { + newLeafNode(otherlv_4, grammarAccess.getFineGrainedBehaviorAccess().getBasicComponentKeyword_3()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getFineGrainedBehaviorRule()); + } + } + { + newCompositeNode(grammarAccess.getFineGrainedBehaviorAccess().getBasicComponentBasicComponentCrossReference_4_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_6='influencingParameter' + { + newLeafNode(otherlv_6, grammarAccess.getFineGrainedBehaviorAccess().getInfluencingParameterKeyword_5_0()); + } + otherlv_7='{' + { + newLeafNode(otherlv_7, grammarAccess.getFineGrainedBehaviorAccess().getLeftCurlyBracketKeyword_5_1()); + } +( +( + { + newCompositeNode(grammarAccess.getFineGrainedBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_2_0()); + } + lv_influencingParameter_8_0=ruleInfluencingParameter { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getFineGrainedBehaviorRule()); + } + add( + $current, + "influencingParameter", + lv_influencingParameter_8_0, + "InfluencingParameter"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_9=',' + { + newLeafNode(otherlv_9, grammarAccess.getFineGrainedBehaviorAccess().getCommaKeyword_5_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getFineGrainedBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0()); + } + lv_influencingParameter_10_0=ruleInfluencingParameter { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getFineGrainedBehaviorRule()); + } + add( + $current, + "influencingParameter", + lv_influencingParameter_10_0, + "InfluencingParameter"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_11='}' + { + newLeafNode(otherlv_11, grammarAccess.getFineGrainedBehaviorAccess().getRightCurlyBracketKeyword_5_4()); + } +)?( otherlv_12='actions' + { + newLeafNode(otherlv_12, grammarAccess.getFineGrainedBehaviorAccess().getActionsKeyword_6_0()); + } + otherlv_13='{' + { + newLeafNode(otherlv_13, grammarAccess.getFineGrainedBehaviorAccess().getLeftCurlyBracketKeyword_6_1()); + } +( +( + { + newCompositeNode(grammarAccess.getFineGrainedBehaviorAccess().getActionsAbstractActionParserRuleCall_6_2_0()); + } + lv_actions_14_0=ruleAbstractAction { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getFineGrainedBehaviorRule()); + } + add( + $current, + "actions", + lv_actions_14_0, + "AbstractAction"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_15=',' + { + newLeafNode(otherlv_15, grammarAccess.getFineGrainedBehaviorAccess().getCommaKeyword_6_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getFineGrainedBehaviorAccess().getActionsAbstractActionParserRuleCall_6_3_1_0()); + } + lv_actions_16_0=ruleAbstractAction { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getFineGrainedBehaviorRule()); + } + add( + $current, + "actions", + lv_actions_16_0, + "AbstractAction"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_17='}' + { + newLeafNode(otherlv_17, grammarAccess.getFineGrainedBehaviorAccess().getRightCurlyBracketKeyword_6_4()); + } +)? otherlv_18='behavior' + { + newLeafNode(otherlv_18, grammarAccess.getFineGrainedBehaviorAccess().getBehaviorKeyword_7()); + } +( +( + { + newCompositeNode(grammarAccess.getFineGrainedBehaviorAccess().getBehaviorComponentInternalBehaviorParserRuleCall_8_0()); + } + lv_behavior_19_0=ruleComponentInternalBehavior { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getFineGrainedBehaviorRule()); + } + set( + $current, + "behavior", + lv_behavior_19_0, + "ComponentInternalBehavior"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_20='}' + { + newLeafNode(otherlv_20, grammarAccess.getFineGrainedBehaviorAccess().getRightCurlyBracketKeyword_9()); + } +) +; + + + + + +// Entry rule entryRuleAbstractAction_Impl +entryRuleAbstractAction_Impl returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getAbstractAction_ImplRule()); } + iv_ruleAbstractAction_Impl=ruleAbstractAction_Impl + { $current=$iv_ruleAbstractAction_Impl.current; } + EOF +; + +// Rule AbstractAction_Impl +ruleAbstractAction_Impl returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +(( + { + $current = forceCreateModelElement( + grammarAccess.getAbstractAction_ImplAccess().getAbstractActionAction_0(), + $current); + } +) otherlv_1='AbstractAction' + { + newLeafNode(otherlv_1, grammarAccess.getAbstractAction_ImplAccess().getAbstractActionKeyword_1()); + } + otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getAbstractAction_ImplAccess().getLeftCurlyBracketKeyword_2()); + } +( otherlv_3='predecessor' + { + newLeafNode(otherlv_3, grammarAccess.getAbstractAction_ImplAccess().getPredecessorKeyword_3_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getAbstractAction_ImplRule()); + } + } + { + newCompositeNode(grammarAccess.getAbstractAction_ImplAccess().getPredecessorAbstractActionCrossReference_3_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))?( otherlv_5='successor' + { + newLeafNode(otherlv_5, grammarAccess.getAbstractAction_ImplAccess().getSuccessorKeyword_4_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getAbstractAction_ImplRule()); + } + } + { + newCompositeNode(grammarAccess.getAbstractAction_ImplAccess().getSuccessorAbstractActionCrossReference_4_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))? otherlv_7='}' + { + newLeafNode(otherlv_7, grammarAccess.getAbstractAction_ImplAccess().getRightCurlyBracketKeyword_5()); + } +) +; + + + + + +// Entry rule entryRuleComponentInternalBehavior_Impl +entryRuleComponentInternalBehavior_Impl returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getComponentInternalBehavior_ImplRule()); } + iv_ruleComponentInternalBehavior_Impl=ruleComponentInternalBehavior_Impl + { $current=$iv_ruleComponentInternalBehavior_Impl.current; } + EOF +; + +// Rule ComponentInternalBehavior_Impl +ruleComponentInternalBehavior_Impl returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +(( + { + $current = forceCreateModelElement( + grammarAccess.getComponentInternalBehavior_ImplAccess().getComponentInternalBehaviorAction_0(), + $current); + } +) otherlv_1='ComponentInternalBehavior' + { + newLeafNode(otherlv_1, grammarAccess.getComponentInternalBehavior_ImplAccess().getComponentInternalBehaviorKeyword_1()); + } + otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getComponentInternalBehavior_ImplAccess().getLeftCurlyBracketKeyword_2()); + } +( otherlv_3='actions' + { + newLeafNode(otherlv_3, grammarAccess.getComponentInternalBehavior_ImplAccess().getActionsKeyword_3_0()); + } + otherlv_4='{' + { + newLeafNode(otherlv_4, grammarAccess.getComponentInternalBehavior_ImplAccess().getLeftCurlyBracketKeyword_3_1()); + } +( +( + { + newCompositeNode(grammarAccess.getComponentInternalBehavior_ImplAccess().getActionsAbstractActionParserRuleCall_3_2_0()); + } + lv_actions_5_0=ruleAbstractAction { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getComponentInternalBehavior_ImplRule()); + } + add( + $current, + "actions", + lv_actions_5_0, + "AbstractAction"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_6=',' + { + newLeafNode(otherlv_6, grammarAccess.getComponentInternalBehavior_ImplAccess().getCommaKeyword_3_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getComponentInternalBehavior_ImplAccess().getActionsAbstractActionParserRuleCall_3_3_1_0()); + } + lv_actions_7_0=ruleAbstractAction { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getComponentInternalBehavior_ImplRule()); + } + add( + $current, + "actions", + lv_actions_7_0, + "AbstractAction"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_8='}' + { + newLeafNode(otherlv_8, grammarAccess.getComponentInternalBehavior_ImplAccess().getRightCurlyBracketKeyword_3_4()); + } +)? otherlv_9='}' + { + newLeafNode(otherlv_9, grammarAccess.getComponentInternalBehavior_ImplAccess().getRightCurlyBracketKeyword_4()); + } +) +; + + + + + +// Entry rule entryRuleStartAction +entryRuleStartAction returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getStartActionRule()); } + iv_ruleStartAction=ruleStartAction + { $current=$iv_ruleStartAction.current; } + EOF +; + +// Rule StartAction +ruleStartAction returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +(( + { + $current = forceCreateModelElement( + grammarAccess.getStartActionAccess().getStartActionAction_0(), + $current); + } +) otherlv_1='StartAction' + { + newLeafNode(otherlv_1, grammarAccess.getStartActionAccess().getStartActionKeyword_1()); + } + otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getStartActionAccess().getLeftCurlyBracketKeyword_2()); + } +( otherlv_3='predecessor' + { + newLeafNode(otherlv_3, grammarAccess.getStartActionAccess().getPredecessorKeyword_3_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getStartActionRule()); + } + } + { + newCompositeNode(grammarAccess.getStartActionAccess().getPredecessorAbstractActionCrossReference_3_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))?( otherlv_5='successor' + { + newLeafNode(otherlv_5, grammarAccess.getStartActionAccess().getSuccessorKeyword_4_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getStartActionRule()); + } + } + { + newCompositeNode(grammarAccess.getStartActionAccess().getSuccessorAbstractActionCrossReference_4_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))? otherlv_7='}' + { + newLeafNode(otherlv_7, grammarAccess.getStartActionAccess().getRightCurlyBracketKeyword_5()); + } +) +; + + + + + +// Entry rule entryRuleStopAction +entryRuleStopAction returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getStopActionRule()); } + iv_ruleStopAction=ruleStopAction + { $current=$iv_ruleStopAction.current; } + EOF +; + +// Rule StopAction +ruleStopAction returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +(( + { + $current = forceCreateModelElement( + grammarAccess.getStopActionAccess().getStopActionAction_0(), + $current); + } +) otherlv_1='StopAction' + { + newLeafNode(otherlv_1, grammarAccess.getStopActionAccess().getStopActionKeyword_1()); + } + otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getStopActionAccess().getLeftCurlyBracketKeyword_2()); + } +( otherlv_3='predecessor' + { + newLeafNode(otherlv_3, grammarAccess.getStopActionAccess().getPredecessorKeyword_3_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getStopActionRule()); + } + } + { + newCompositeNode(grammarAccess.getStopActionAccess().getPredecessorAbstractActionCrossReference_3_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))?( otherlv_5='successor' + { + newLeafNode(otherlv_5, grammarAccess.getStopActionAccess().getSuccessorKeyword_4_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getStopActionRule()); + } + } + { + newCompositeNode(grammarAccess.getStopActionAccess().getSuccessorAbstractActionCrossReference_4_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))? otherlv_7='}' + { + newLeafNode(otherlv_7, grammarAccess.getStopActionAccess().getRightCurlyBracketKeyword_5()); + } +) +; + + + + + +// Entry rule entryRuleAcquireAction +entryRuleAcquireAction returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getAcquireActionRule()); } + iv_ruleAcquireAction=ruleAcquireAction + { $current=$iv_ruleAcquireAction.current; } + EOF +; + +// Rule AcquireAction +ruleAcquireAction returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='AcquireAction' + { + newLeafNode(otherlv_0, grammarAccess.getAcquireActionAccess().getAcquireActionKeyword_0()); + } + otherlv_1='{' + { + newLeafNode(otherlv_1, grammarAccess.getAcquireActionAccess().getLeftCurlyBracketKeyword_1()); + } +( otherlv_2='predecessor' + { + newLeafNode(otherlv_2, grammarAccess.getAcquireActionAccess().getPredecessorKeyword_2_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getAcquireActionRule()); + } + } + { + newCompositeNode(grammarAccess.getAcquireActionAccess().getPredecessorAbstractActionCrossReference_2_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))?( otherlv_4='successor' + { + newLeafNode(otherlv_4, grammarAccess.getAcquireActionAccess().getSuccessorKeyword_3_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getAcquireActionRule()); + } + } + { + newCompositeNode(grammarAccess.getAcquireActionAccess().getSuccessorAbstractActionCrossReference_3_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))? otherlv_6='passiveResource' + { + newLeafNode(otherlv_6, grammarAccess.getAcquireActionAccess().getPassiveResourceKeyword_4()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getAcquireActionRule()); + } + } + { + newCompositeNode(grammarAccess.getAcquireActionAccess().getPassiveResourcePassiveResourceSpecificationCrossReference_5_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_8='}' + { + newLeafNode(otherlv_8, grammarAccess.getAcquireActionAccess().getRightCurlyBracketKeyword_6()); + } +) +; + + + + + +// Entry rule entryRuleReleaseAction +entryRuleReleaseAction returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getReleaseActionRule()); } + iv_ruleReleaseAction=ruleReleaseAction + { $current=$iv_ruleReleaseAction.current; } + EOF +; + +// Rule ReleaseAction +ruleReleaseAction returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='ReleaseAction' + { + newLeafNode(otherlv_0, grammarAccess.getReleaseActionAccess().getReleaseActionKeyword_0()); + } + otherlv_1='{' + { + newLeafNode(otherlv_1, grammarAccess.getReleaseActionAccess().getLeftCurlyBracketKeyword_1()); + } +( otherlv_2='predecessor' + { + newLeafNode(otherlv_2, grammarAccess.getReleaseActionAccess().getPredecessorKeyword_2_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getReleaseActionRule()); + } + } + { + newCompositeNode(grammarAccess.getReleaseActionAccess().getPredecessorAbstractActionCrossReference_2_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))?( otherlv_4='successor' + { + newLeafNode(otherlv_4, grammarAccess.getReleaseActionAccess().getSuccessorKeyword_3_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getReleaseActionRule()); + } + } + { + newCompositeNode(grammarAccess.getReleaseActionAccess().getSuccessorAbstractActionCrossReference_3_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))? otherlv_6='passiveResource' + { + newLeafNode(otherlv_6, grammarAccess.getReleaseActionAccess().getPassiveResourceKeyword_4()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getReleaseActionRule()); + } + } + { + newCompositeNode(grammarAccess.getReleaseActionAccess().getPassiveResourcePassiveResourceSpecificationCrossReference_5_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_8='}' + { + newLeafNode(otherlv_8, grammarAccess.getReleaseActionAccess().getRightCurlyBracketKeyword_6()); + } +) +; + + + + + +// Entry rule entryRuleInternalAction +entryRuleInternalAction returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getInternalActionRule()); } + iv_ruleInternalAction=ruleInternalAction + { $current=$iv_ruleInternalAction.current; } + EOF +; + +// Rule InternalAction +ruleInternalAction returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +(( + { + $current = forceCreateModelElement( + grammarAccess.getInternalActionAccess().getInternalActionAction_0(), + $current); + } +) otherlv_1='InternalAction' + { + newLeafNode(otherlv_1, grammarAccess.getInternalActionAccess().getInternalActionKeyword_1()); + } + otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getInternalActionAccess().getLeftCurlyBracketKeyword_2()); + } +( otherlv_3='predecessor' + { + newLeafNode(otherlv_3, grammarAccess.getInternalActionAccess().getPredecessorKeyword_3_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getInternalActionRule()); + } + } + { + newCompositeNode(grammarAccess.getInternalActionAccess().getPredecessorAbstractActionCrossReference_3_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))?( otherlv_5='successor' + { + newLeafNode(otherlv_5, grammarAccess.getInternalActionAccess().getSuccessorKeyword_4_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getInternalActionRule()); + } + } + { + newCompositeNode(grammarAccess.getInternalActionAccess().getSuccessorAbstractActionCrossReference_4_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))?( otherlv_7='resourceDemandSpecification' + { + newLeafNode(otherlv_7, grammarAccess.getInternalActionAccess().getResourceDemandSpecificationKeyword_5_0()); + } + otherlv_8='{' + { + newLeafNode(otherlv_8, grammarAccess.getInternalActionAccess().getLeftCurlyBracketKeyword_5_1()); + } +( +( + { + newCompositeNode(grammarAccess.getInternalActionAccess().getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_5_2_0()); + } + lv_resourceDemandSpecification_9_0=ruleResourceDemandSpecification { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getInternalActionRule()); + } + add( + $current, + "resourceDemandSpecification", + lv_resourceDemandSpecification_9_0, + "ResourceDemandSpecification"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_10=',' + { + newLeafNode(otherlv_10, grammarAccess.getInternalActionAccess().getCommaKeyword_5_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getInternalActionAccess().getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_5_3_1_0()); + } + lv_resourceDemandSpecification_11_0=ruleResourceDemandSpecification { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getInternalActionRule()); + } + add( + $current, + "resourceDemandSpecification", + lv_resourceDemandSpecification_11_0, + "ResourceDemandSpecification"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_12='}' + { + newLeafNode(otherlv_12, grammarAccess.getInternalActionAccess().getRightCurlyBracketKeyword_5_4()); + } +)? otherlv_13='}' + { + newLeafNode(otherlv_13, grammarAccess.getInternalActionAccess().getRightCurlyBracketKeyword_6()); + } +) +; + + + + + +// Entry rule entryRuleForkAction +entryRuleForkAction returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getForkActionRule()); } + iv_ruleForkAction=ruleForkAction + { $current=$iv_ruleForkAction.current; } + EOF +; + +// Rule ForkAction +ruleForkAction returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +(( +( + lv_withSynchronizationBarrier_0_0= 'withSynchronizationBarrier' + { + newLeafNode(lv_withSynchronizationBarrier_0_0, grammarAccess.getForkActionAccess().getWithSynchronizationBarrierWithSynchronizationBarrierKeyword_0_0()); + } + + { + if ($current==null) { + $current = createModelElement(grammarAccess.getForkActionRule()); + } + setWithLastConsumed($current, "withSynchronizationBarrier", true, "withSynchronizationBarrier"); + } + +) +) otherlv_1='ForkAction' + { + newLeafNode(otherlv_1, grammarAccess.getForkActionAccess().getForkActionKeyword_1()); + } + otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getForkActionAccess().getLeftCurlyBracketKeyword_2()); + } +( otherlv_3='predecessor' + { + newLeafNode(otherlv_3, grammarAccess.getForkActionAccess().getPredecessorKeyword_3_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getForkActionRule()); + } + } + { + newCompositeNode(grammarAccess.getForkActionAccess().getPredecessorAbstractActionCrossReference_3_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))?( otherlv_5='successor' + { + newLeafNode(otherlv_5, grammarAccess.getForkActionAccess().getSuccessorKeyword_4_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getForkActionRule()); + } + } + { + newCompositeNode(grammarAccess.getForkActionAccess().getSuccessorAbstractActionCrossReference_4_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))?( otherlv_7='forkedBehaviors' + { + newLeafNode(otherlv_7, grammarAccess.getForkActionAccess().getForkedBehaviorsKeyword_5_0()); + } + otherlv_8='{' + { + newLeafNode(otherlv_8, grammarAccess.getForkActionAccess().getLeftCurlyBracketKeyword_5_1()); + } +( +( + { + newCompositeNode(grammarAccess.getForkActionAccess().getForkedBehaviorsComponentInternalBehaviorParserRuleCall_5_2_0()); + } + lv_forkedBehaviors_9_0=ruleComponentInternalBehavior { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getForkActionRule()); + } + add( + $current, + "forkedBehaviors", + lv_forkedBehaviors_9_0, + "ComponentInternalBehavior"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_10=',' + { + newLeafNode(otherlv_10, grammarAccess.getForkActionAccess().getCommaKeyword_5_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getForkActionAccess().getForkedBehaviorsComponentInternalBehaviorParserRuleCall_5_3_1_0()); + } + lv_forkedBehaviors_11_0=ruleComponentInternalBehavior { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getForkActionRule()); + } + add( + $current, + "forkedBehaviors", + lv_forkedBehaviors_11_0, + "ComponentInternalBehavior"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_12='}' + { + newLeafNode(otherlv_12, grammarAccess.getForkActionAccess().getRightCurlyBracketKeyword_5_4()); + } +)? otherlv_13='}' + { + newLeafNode(otherlv_13, grammarAccess.getForkActionAccess().getRightCurlyBracketKeyword_6()); + } +) +; + + + + + +// Entry rule entryRuleBranchAction +entryRuleBranchAction returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getBranchActionRule()); } + iv_ruleBranchAction=ruleBranchAction + { $current=$iv_ruleBranchAction.current; } + EOF +; + +// Rule BranchAction +ruleBranchAction returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='BranchAction' + { + newLeafNode(otherlv_0, grammarAccess.getBranchActionAccess().getBranchActionKeyword_0()); + } + otherlv_1='{' + { + newLeafNode(otherlv_1, grammarAccess.getBranchActionAccess().getLeftCurlyBracketKeyword_1()); + } +( otherlv_2='predecessor' + { + newLeafNode(otherlv_2, grammarAccess.getBranchActionAccess().getPredecessorKeyword_2_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getBranchActionRule()); + } + } + { + newCompositeNode(grammarAccess.getBranchActionAccess().getPredecessorAbstractActionCrossReference_2_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))?( otherlv_4='successor' + { + newLeafNode(otherlv_4, grammarAccess.getBranchActionAccess().getSuccessorKeyword_3_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getBranchActionRule()); + } + } + { + newCompositeNode(grammarAccess.getBranchActionAccess().getSuccessorAbstractActionCrossReference_3_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))?( otherlv_6='branches' + { + newLeafNode(otherlv_6, grammarAccess.getBranchActionAccess().getBranchesKeyword_4_0()); + } + otherlv_7='{' + { + newLeafNode(otherlv_7, grammarAccess.getBranchActionAccess().getLeftCurlyBracketKeyword_4_1()); + } +( +( + { + newCompositeNode(grammarAccess.getBranchActionAccess().getBranchesBranchTransitionParserRuleCall_4_2_0()); + } + lv_branches_8_0=ruleBranchTransition { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBranchActionRule()); + } + add( + $current, + "branches", + lv_branches_8_0, + "BranchTransition"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_9=',' + { + newLeafNode(otherlv_9, grammarAccess.getBranchActionAccess().getCommaKeyword_4_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getBranchActionAccess().getBranchesBranchTransitionParserRuleCall_4_3_1_0()); + } + lv_branches_10_0=ruleBranchTransition { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBranchActionRule()); + } + add( + $current, + "branches", + lv_branches_10_0, + "BranchTransition"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_11='}' + { + newLeafNode(otherlv_11, grammarAccess.getBranchActionAccess().getRightCurlyBracketKeyword_4_4()); + } +)? otherlv_12='branchProbabilities' + { + newLeafNode(otherlv_12, grammarAccess.getBranchActionAccess().getBranchProbabilitiesKeyword_5()); + } +( +( + { + newCompositeNode(grammarAccess.getBranchActionAccess().getBranchProbabilitiesBranchProbabilitiesParserRuleCall_6_0()); + } + lv_branchProbabilities_13_0=ruleBranchProbabilities { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBranchActionRule()); + } + set( + $current, + "branchProbabilities", + lv_branchProbabilities_13_0, + "BranchProbabilities"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_14='}' + { + newLeafNode(otherlv_14, grammarAccess.getBranchActionAccess().getRightCurlyBracketKeyword_7()); + } +) +; + + + + + +// Entry rule entryRuleLoopAction +entryRuleLoopAction returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getLoopActionRule()); } + iv_ruleLoopAction=ruleLoopAction + { $current=$iv_ruleLoopAction.current; } + EOF +; + +// Rule LoopAction +ruleLoopAction returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='LoopAction' + { + newLeafNode(otherlv_0, grammarAccess.getLoopActionAccess().getLoopActionKeyword_0()); + } + otherlv_1='{' + { + newLeafNode(otherlv_1, grammarAccess.getLoopActionAccess().getLeftCurlyBracketKeyword_1()); + } +( otherlv_2='predecessor' + { + newLeafNode(otherlv_2, grammarAccess.getLoopActionAccess().getPredecessorKeyword_2_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getLoopActionRule()); + } + } + { + newCompositeNode(grammarAccess.getLoopActionAccess().getPredecessorAbstractActionCrossReference_2_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))?( otherlv_4='successor' + { + newLeafNode(otherlv_4, grammarAccess.getLoopActionAccess().getSuccessorKeyword_3_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getLoopActionRule()); + } + } + { + newCompositeNode(grammarAccess.getLoopActionAccess().getSuccessorAbstractActionCrossReference_3_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))? otherlv_6='loopBodyBehavior' + { + newLeafNode(otherlv_6, grammarAccess.getLoopActionAccess().getLoopBodyBehaviorKeyword_4()); + } +( +( + { + newCompositeNode(grammarAccess.getLoopActionAccess().getLoopBodyBehaviorComponentInternalBehaviorParserRuleCall_5_0()); + } + lv_loopBodyBehavior_7_0=ruleComponentInternalBehavior { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getLoopActionRule()); + } + set( + $current, + "loopBodyBehavior", + lv_loopBodyBehavior_7_0, + "ComponentInternalBehavior"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_8='loopIterationCountDistribution' + { + newLeafNode(otherlv_8, grammarAccess.getLoopActionAccess().getLoopIterationCountDistributionKeyword_6()); + } +( +( + { + newCompositeNode(grammarAccess.getLoopActionAccess().getLoopIterationCountDistributionLoopIterationCountDistributionParserRuleCall_7_0()); + } + lv_loopIterationCountDistribution_9_0=ruleLoopIterationCountDistribution { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getLoopActionRule()); + } + set( + $current, + "loopIterationCountDistribution", + lv_loopIterationCountDistribution_9_0, + "LoopIterationCountDistribution"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_10='}' + { + newLeafNode(otherlv_10, grammarAccess.getLoopActionAccess().getRightCurlyBracketKeyword_8()); + } +) +; + + + + + +// Entry rule entryRuleExternalCallAction +entryRuleExternalCallAction returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getExternalCallActionRule()); } + iv_ruleExternalCallAction=ruleExternalCallAction + { $current=$iv_ruleExternalCallAction.current; } + EOF +; + +// Rule ExternalCallAction +ruleExternalCallAction returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='ExternalCallAction' + { + newLeafNode(otherlv_0, grammarAccess.getExternalCallActionAccess().getExternalCallActionKeyword_0()); + } + otherlv_1='{' + { + newLeafNode(otherlv_1, grammarAccess.getExternalCallActionAccess().getLeftCurlyBracketKeyword_1()); + } +( otherlv_2='predecessor' + { + newLeafNode(otherlv_2, grammarAccess.getExternalCallActionAccess().getPredecessorKeyword_2_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getExternalCallActionRule()); + } + } + { + newCompositeNode(grammarAccess.getExternalCallActionAccess().getPredecessorAbstractActionCrossReference_2_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))?( otherlv_4='successor' + { + newLeafNode(otherlv_4, grammarAccess.getExternalCallActionAccess().getSuccessorKeyword_3_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getExternalCallActionRule()); + } + } + { + newCompositeNode(grammarAccess.getExternalCallActionAccess().getSuccessorAbstractActionCrossReference_3_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))? otherlv_6='signature' + { + newLeafNode(otherlv_6, grammarAccess.getExternalCallActionAccess().getSignatureKeyword_4()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getExternalCallActionRule()); + } + } + { + newCompositeNode(grammarAccess.getExternalCallActionAccess().getSignatureSignatureCrossReference_5_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_8='requiredRole' + { + newLeafNode(otherlv_8, grammarAccess.getExternalCallActionAccess().getRequiredRoleKeyword_6()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getExternalCallActionRule()); + } + } + { + newCompositeNode(grammarAccess.getExternalCallActionAccess().getRequiredRoleRequiredRoleCrossReference_7_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_10='}' + { + newLeafNode(otherlv_10, grammarAccess.getExternalCallActionAccess().getRightCurlyBracketKeyword_8()); + } +) +; + + + + + +// Entry rule entryRulePassiveResourceSpecification +entryRulePassiveResourceSpecification returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getPassiveResourceSpecificationRule()); } + iv_rulePassiveResourceSpecification=rulePassiveResourceSpecification + { $current=$iv_rulePassiveResourceSpecification.current; } + EOF +; + +// Rule PassiveResourceSpecification +rulePassiveResourceSpecification returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='PassiveResourceSpecification' + { + newLeafNode(otherlv_0, grammarAccess.getPassiveResourceSpecificationAccess().getPassiveResourceSpecificationKeyword_0()); + } +( +( + { + newCompositeNode(grammarAccess.getPassiveResourceSpecificationAccess().getIdEStringParserRuleCall_1_0()); + } + lv_id_1_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPassiveResourceSpecificationRule()); + } + set( + $current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getPassiveResourceSpecificationAccess().getLeftCurlyBracketKeyword_2()); + } + otherlv_3='name' + { + newLeafNode(otherlv_3, grammarAccess.getPassiveResourceSpecificationAccess().getNameKeyword_3()); + } +( +( + { + newCompositeNode(grammarAccess.getPassiveResourceSpecificationAccess().getNameEStringParserRuleCall_4_0()); + } + lv_name_4_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPassiveResourceSpecificationRule()); + } + set( + $current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_5='passiveResourceType' + { + newLeafNode(otherlv_5, grammarAccess.getPassiveResourceSpecificationAccess().getPassiveResourceTypeKeyword_5()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getPassiveResourceSpecificationRule()); + } + } + { + newCompositeNode(grammarAccess.getPassiveResourceSpecificationAccess().getPassiveResourceTypePassiveResourceTypeCrossReference_6_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_7='capacity' + { + newLeafNode(otherlv_7, grammarAccess.getPassiveResourceSpecificationAccess().getCapacityKeyword_7()); + } +( +( + { + newCompositeNode(grammarAccess.getPassiveResourceSpecificationAccess().getCapacityPassiveResourceCapacityParserRuleCall_8_0()); + } + lv_capacity_8_0=rulePassiveResourceCapacity { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPassiveResourceSpecificationRule()); + } + set( + $current, + "capacity", + lv_capacity_8_0, + "PassiveResourceCapacity"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_9='}' + { + newLeafNode(otherlv_9, grammarAccess.getPassiveResourceSpecificationAccess().getRightCurlyBracketKeyword_9()); + } +) +; + + + + + +// Entry rule entryRulePassiveResourceCapacity +entryRulePassiveResourceCapacity returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getPassiveResourceCapacityRule()); } + iv_rulePassiveResourceCapacity=rulePassiveResourceCapacity + { $current=$iv_rulePassiveResourceCapacity.current; } + EOF +; + +// Rule PassiveResourceCapacity +rulePassiveResourceCapacity returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='PassiveResourceCapacity' + { + newLeafNode(otherlv_0, grammarAccess.getPassiveResourceCapacityAccess().getPassiveResourceCapacityKeyword_0()); + } +( +( + { + newCompositeNode(grammarAccess.getPassiveResourceCapacityAccess().getIdEStringParserRuleCall_1_0()); + } + lv_id_1_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPassiveResourceCapacityRule()); + } + set( + $current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getPassiveResourceCapacityAccess().getLeftCurlyBracketKeyword_2()); + } + otherlv_3='name' + { + newLeafNode(otherlv_3, grammarAccess.getPassiveResourceCapacityAccess().getNameKeyword_3()); + } +( +( + { + newCompositeNode(grammarAccess.getPassiveResourceCapacityAccess().getNameEStringParserRuleCall_4_0()); + } + lv_name_4_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPassiveResourceCapacityRule()); + } + set( + $current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_5='capacity' + { + newLeafNode(otherlv_5, grammarAccess.getPassiveResourceCapacityAccess().getCapacityKeyword_5()); + } +( +( + { + newCompositeNode(grammarAccess.getPassiveResourceCapacityAccess().getCapacityEBigIntegerParserRuleCall_6_0()); + } + lv_capacity_6_0=ruleEBigInteger { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPassiveResourceCapacityRule()); + } + set( + $current, + "capacity", + lv_capacity_6_0, + "EBigInteger"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_7='}' + { + newLeafNode(otherlv_7, grammarAccess.getPassiveResourceCapacityAccess().getRightCurlyBracketKeyword_7()); + } +) +; + + + + + + + +// Entry rule entryRuleEBigInteger +entryRuleEBigInteger returns [String current=null] + : + { newCompositeNode(grammarAccess.getEBigIntegerRule()); } + iv_ruleEBigInteger=ruleEBigInteger + { $current=$iv_ruleEBigInteger.current.getText(); } + EOF +; + +// Rule EBigInteger +ruleEBigInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] + @init { enterRule(); + } + @after { leaveRule(); }: +(( + kw='-' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getEBigIntegerAccess().getHyphenMinusKeyword_0()); + } +)? this_INT_1=RULE_INT { + $current.merge(this_INT_1); + } + + { + newLeafNode(this_INT_1, grammarAccess.getEBigIntegerAccess().getINTTerminalRuleCall_1()); + } +) + ; + + + + + +// Entry rule entryRuleResourceDemandSpecification +entryRuleResourceDemandSpecification returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getResourceDemandSpecificationRule()); } + iv_ruleResourceDemandSpecification=ruleResourceDemandSpecification + { $current=$iv_ruleResourceDemandSpecification.current; } + EOF +; + +// Rule ResourceDemandSpecification +ruleResourceDemandSpecification returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='ResourceDemandSpecification' + { + newLeafNode(otherlv_0, grammarAccess.getResourceDemandSpecificationAccess().getResourceDemandSpecificationKeyword_0()); + } + otherlv_1='{' + { + newLeafNode(otherlv_1, grammarAccess.getResourceDemandSpecificationAccess().getLeftCurlyBracketKeyword_1()); + } + otherlv_2='processingResourceType' + { + newLeafNode(otherlv_2, grammarAccess.getResourceDemandSpecificationAccess().getProcessingResourceTypeKeyword_2()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getResourceDemandSpecificationRule()); + } + } + { + newCompositeNode(grammarAccess.getResourceDemandSpecificationAccess().getProcessingResourceTypeProcessingResourceTypeCrossReference_3_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_4='}' + { + newLeafNode(otherlv_4, grammarAccess.getResourceDemandSpecificationAccess().getRightCurlyBracketKeyword_4()); + } +) +; + + + + + +// Entry rule entryRuleProcessingResourceType_Impl +entryRuleProcessingResourceType_Impl returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getProcessingResourceType_ImplRule()); } + iv_ruleProcessingResourceType_Impl=ruleProcessingResourceType_Impl + { $current=$iv_ruleProcessingResourceType_Impl.current; } + EOF +; + +// Rule ProcessingResourceType_Impl +ruleProcessingResourceType_Impl returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='ProcessingResourceType' + { + newLeafNode(otherlv_0, grammarAccess.getProcessingResourceType_ImplAccess().getProcessingResourceTypeKeyword_0()); + } +( +( + { + newCompositeNode(grammarAccess.getProcessingResourceType_ImplAccess().getIdEStringParserRuleCall_1_0()); + } + lv_id_1_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getProcessingResourceType_ImplRule()); + } + set( + $current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getProcessingResourceType_ImplAccess().getLeftCurlyBracketKeyword_2()); + } + otherlv_3='name' + { + newLeafNode(otherlv_3, grammarAccess.getProcessingResourceType_ImplAccess().getNameKeyword_3()); + } +( +( + { + newCompositeNode(grammarAccess.getProcessingResourceType_ImplAccess().getNameEStringParserRuleCall_4_0()); + } + lv_name_4_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getProcessingResourceType_ImplRule()); + } + set( + $current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_5='}' + { + newLeafNode(otherlv_5, grammarAccess.getProcessingResourceType_ImplAccess().getRightCurlyBracketKeyword_5()); + } +) +; + + + + + +// Entry rule entryRuleCommunicationLinkResourceType +entryRuleCommunicationLinkResourceType returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getCommunicationLinkResourceTypeRule()); } + iv_ruleCommunicationLinkResourceType=ruleCommunicationLinkResourceType + { $current=$iv_ruleCommunicationLinkResourceType.current; } + EOF +; + +// Rule CommunicationLinkResourceType +ruleCommunicationLinkResourceType returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='CommunicationLinkResourceType' + { + newLeafNode(otherlv_0, grammarAccess.getCommunicationLinkResourceTypeAccess().getCommunicationLinkResourceTypeKeyword_0()); + } +( +( + { + newCompositeNode(grammarAccess.getCommunicationLinkResourceTypeAccess().getIdEStringParserRuleCall_1_0()); + } + lv_id_1_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCommunicationLinkResourceTypeRule()); + } + set( + $current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getCommunicationLinkResourceTypeAccess().getLeftCurlyBracketKeyword_2()); + } + otherlv_3='name' + { + newLeafNode(otherlv_3, grammarAccess.getCommunicationLinkResourceTypeAccess().getNameKeyword_3()); + } +( +( + { + newCompositeNode(grammarAccess.getCommunicationLinkResourceTypeAccess().getNameEStringParserRuleCall_4_0()); + } + lv_name_4_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCommunicationLinkResourceTypeRule()); + } + set( + $current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_5='}' + { + newLeafNode(otherlv_5, grammarAccess.getCommunicationLinkResourceTypeAccess().getRightCurlyBracketKeyword_5()); + } +) +; + + + + + + + +// Entry rule entryRuleBranchTransition +entryRuleBranchTransition returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getBranchTransitionRule()); } + iv_ruleBranchTransition=ruleBranchTransition + { $current=$iv_ruleBranchTransition.current; } + EOF +; + +// Rule BranchTransition +ruleBranchTransition returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='BranchTransition' + { + newLeafNode(otherlv_0, grammarAccess.getBranchTransitionAccess().getBranchTransitionKeyword_0()); + } +( +( + { + newCompositeNode(grammarAccess.getBranchTransitionAccess().getIdEStringParserRuleCall_1_0()); + } + lv_id_1_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBranchTransitionRule()); + } + set( + $current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getBranchTransitionAccess().getLeftCurlyBracketKeyword_2()); + } + otherlv_3='name' + { + newLeafNode(otherlv_3, grammarAccess.getBranchTransitionAccess().getNameKeyword_3()); + } +( +( + { + newCompositeNode(grammarAccess.getBranchTransitionAccess().getNameEStringParserRuleCall_4_0()); + } + lv_name_4_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBranchTransitionRule()); + } + set( + $current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_5='branchBehavior' + { + newLeafNode(otherlv_5, grammarAccess.getBranchTransitionAccess().getBranchBehaviorKeyword_5()); + } +( +( + { + newCompositeNode(grammarAccess.getBranchTransitionAccess().getBranchBehaviorComponentInternalBehaviorParserRuleCall_6_0()); + } + lv_branchBehavior_6_0=ruleComponentInternalBehavior { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBranchTransitionRule()); + } + set( + $current, + "branchBehavior", + lv_branchBehavior_6_0, + "ComponentInternalBehavior"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_7='}' + { + newLeafNode(otherlv_7, grammarAccess.getBranchTransitionAccess().getRightCurlyBracketKeyword_7()); + } +) +; + + + + + +// Entry rule entryRuleBranchProbabilities +entryRuleBranchProbabilities returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getBranchProbabilitiesRule()); } + iv_ruleBranchProbabilities=ruleBranchProbabilities + { $current=$iv_ruleBranchProbabilities.current; } + EOF +; + +// Rule BranchProbabilities +ruleBranchProbabilities returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='BranchProbabilities' + { + newLeafNode(otherlv_0, grammarAccess.getBranchProbabilitiesAccess().getBranchProbabilitiesKeyword_0()); + } + otherlv_1='{' + { + newLeafNode(otherlv_1, grammarAccess.getBranchProbabilitiesAccess().getLeftCurlyBracketKeyword_1()); + } + otherlv_2='probabilities' + { + newLeafNode(otherlv_2, grammarAccess.getBranchProbabilitiesAccess().getProbabilitiesKeyword_2()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getBranchProbabilitiesRule()); + } + } + { + newCompositeNode(grammarAccess.getBranchProbabilitiesAccess().getProbabilitiesRandomVariableCrossReference_3_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_4='}' + { + newLeafNode(otherlv_4, grammarAccess.getBranchProbabilitiesAccess().getRightCurlyBracketKeyword_4()); + } +) +; + + + + + + + +// Entry rule entryRuleProbabilityMassFunction +entryRuleProbabilityMassFunction returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getProbabilityMassFunctionRule()); } + iv_ruleProbabilityMassFunction=ruleProbabilityMassFunction + { $current=$iv_ruleProbabilityMassFunction.current; } + EOF +; + +// Rule ProbabilityMassFunction +ruleProbabilityMassFunction returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +(( + { + $current = forceCreateModelElement( + grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0(), + $current); + } +) otherlv_1='ProbabilityMassFunction' + { + newLeafNode(otherlv_1, grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionKeyword_1()); + } + otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getProbabilityMassFunctionAccess().getLeftCurlyBracketKeyword_2()); + } +( otherlv_3='sample' + { + newLeafNode(otherlv_3, grammarAccess.getProbabilityMassFunctionAccess().getSampleKeyword_3_0()); + } + otherlv_4='{' + { + newLeafNode(otherlv_4, grammarAccess.getProbabilityMassFunctionAccess().getLeftCurlyBracketKeyword_3_1()); + } +( +( + { + newCompositeNode(grammarAccess.getProbabilityMassFunctionAccess().getSampleSampleParserRuleCall_3_2_0()); + } + lv_sample_5_0=ruleSample { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getProbabilityMassFunctionRule()); + } + add( + $current, + "sample", + lv_sample_5_0, + "Sample"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_6=',' + { + newLeafNode(otherlv_6, grammarAccess.getProbabilityMassFunctionAccess().getCommaKeyword_3_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getProbabilityMassFunctionAccess().getSampleSampleParserRuleCall_3_3_1_0()); + } + lv_sample_7_0=ruleSample { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getProbabilityMassFunctionRule()); + } + add( + $current, + "sample", + lv_sample_7_0, + "Sample"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_8='}' + { + newLeafNode(otherlv_8, grammarAccess.getProbabilityMassFunctionAccess().getRightCurlyBracketKeyword_3_4()); + } +)? otherlv_9='}' + { + newLeafNode(otherlv_9, grammarAccess.getProbabilityMassFunctionAccess().getRightCurlyBracketKeyword_4()); + } +) +; + + + + + +// Entry rule entryRuleProbabilityDensityFunction_Impl +entryRuleProbabilityDensityFunction_Impl returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getProbabilityDensityFunction_ImplRule()); } + iv_ruleProbabilityDensityFunction_Impl=ruleProbabilityDensityFunction_Impl + { $current=$iv_ruleProbabilityDensityFunction_Impl.current; } + EOF +; + +// Rule ProbabilityDensityFunction_Impl +ruleProbabilityDensityFunction_Impl returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +(( + { + $current = forceCreateModelElement( + grammarAccess.getProbabilityDensityFunction_ImplAccess().getProbabilityDensityFunctionAction_0(), + $current); + } +) otherlv_1='ProbabilityDensityFunction' + { + newLeafNode(otherlv_1, grammarAccess.getProbabilityDensityFunction_ImplAccess().getProbabilityDensityFunctionKeyword_1()); + } +) +; + + + + + +// Entry rule entryRuleBoxedPDF +entryRuleBoxedPDF returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getBoxedPDFRule()); } + iv_ruleBoxedPDF=ruleBoxedPDF + { $current=$iv_ruleBoxedPDF.current; } + EOF +; + +// Rule BoxedPDF +ruleBoxedPDF returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +(( + { + $current = forceCreateModelElement( + grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0(), + $current); + } +) otherlv_1='BoxedPDF' + { + newLeafNode(otherlv_1, grammarAccess.getBoxedPDFAccess().getBoxedPDFKeyword_1()); + } + otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getBoxedPDFAccess().getLeftCurlyBracketKeyword_2()); + } +( otherlv_3='sample' + { + newLeafNode(otherlv_3, grammarAccess.getBoxedPDFAccess().getSampleKeyword_3_0()); + } + otherlv_4='{' + { + newLeafNode(otherlv_4, grammarAccess.getBoxedPDFAccess().getLeftCurlyBracketKeyword_3_1()); + } +( +( + { + newCompositeNode(grammarAccess.getBoxedPDFAccess().getSampleContinuousSampleParserRuleCall_3_2_0()); + } + lv_sample_5_0=ruleContinuousSample { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBoxedPDFRule()); + } + add( + $current, + "sample", + lv_sample_5_0, + "ContinuousSample"); + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_6=',' + { + newLeafNode(otherlv_6, grammarAccess.getBoxedPDFAccess().getCommaKeyword_3_3_0()); + } +( +( + { + newCompositeNode(grammarAccess.getBoxedPDFAccess().getSampleContinuousSampleParserRuleCall_3_3_1_0()); + } + lv_sample_7_0=ruleContinuousSample { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getBoxedPDFRule()); + } + add( + $current, + "sample", + lv_sample_7_0, + "ContinuousSample"); + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_8='}' + { + newLeafNode(otherlv_8, grammarAccess.getBoxedPDFAccess().getRightCurlyBracketKeyword_3_4()); + } +)? otherlv_9='}' + { + newLeafNode(otherlv_9, grammarAccess.getBoxedPDFAccess().getRightCurlyBracketKeyword_4()); + } +) +; + + + + + +// Entry rule entryRuleContinuousPDF_Impl +entryRuleContinuousPDF_Impl returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getContinuousPDF_ImplRule()); } + iv_ruleContinuousPDF_Impl=ruleContinuousPDF_Impl + { $current=$iv_ruleContinuousPDF_Impl.current; } + EOF +; + +// Rule ContinuousPDF_Impl +ruleContinuousPDF_Impl returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +(( + { + $current = forceCreateModelElement( + grammarAccess.getContinuousPDF_ImplAccess().getContinuousPDFAction_0(), + $current); + } +) otherlv_1='ContinuousPDF' + { + newLeafNode(otherlv_1, grammarAccess.getContinuousPDF_ImplAccess().getContinuousPDFKeyword_1()); + } +) +; + + + + + +// Entry rule entryRuleNormalDistribution +entryRuleNormalDistribution returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getNormalDistributionRule()); } + iv_ruleNormalDistribution=ruleNormalDistribution + { $current=$iv_ruleNormalDistribution.current; } + EOF +; + +// Rule NormalDistribution +ruleNormalDistribution returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='NormalDistribution' + { + newLeafNode(otherlv_0, grammarAccess.getNormalDistributionAccess().getNormalDistributionKeyword_0()); + } + otherlv_1='{' + { + newLeafNode(otherlv_1, grammarAccess.getNormalDistributionAccess().getLeftCurlyBracketKeyword_1()); + } + otherlv_2='mu' + { + newLeafNode(otherlv_2, grammarAccess.getNormalDistributionAccess().getMuKeyword_2()); + } +( +( + { + newCompositeNode(grammarAccess.getNormalDistributionAccess().getMuEBigDecimalParserRuleCall_3_0()); + } + lv_mu_3_0=ruleEBigDecimal { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getNormalDistributionRule()); + } + set( + $current, + "mu", + lv_mu_3_0, + "EBigDecimal"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_4='sigma' + { + newLeafNode(otherlv_4, grammarAccess.getNormalDistributionAccess().getSigmaKeyword_4()); + } +( +( + { + newCompositeNode(grammarAccess.getNormalDistributionAccess().getSigmaEBigDecimalParserRuleCall_5_0()); + } + lv_sigma_5_0=ruleEBigDecimal { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getNormalDistributionRule()); + } + set( + $current, + "sigma", + lv_sigma_5_0, + "EBigDecimal"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_6='}' + { + newLeafNode(otherlv_6, grammarAccess.getNormalDistributionAccess().getRightCurlyBracketKeyword_6()); + } +) +; + + + + + +// Entry rule entryRuleExponentialDistribution +entryRuleExponentialDistribution returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getExponentialDistributionRule()); } + iv_ruleExponentialDistribution=ruleExponentialDistribution + { $current=$iv_ruleExponentialDistribution.current; } + EOF +; + +// Rule ExponentialDistribution +ruleExponentialDistribution returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='ExponentialDistribution' + { + newLeafNode(otherlv_0, grammarAccess.getExponentialDistributionAccess().getExponentialDistributionKeyword_0()); + } + otherlv_1='{' + { + newLeafNode(otherlv_1, grammarAccess.getExponentialDistributionAccess().getLeftCurlyBracketKeyword_1()); + } + otherlv_2='rate' + { + newLeafNode(otherlv_2, grammarAccess.getExponentialDistributionAccess().getRateKeyword_2()); + } +( +( + { + newCompositeNode(grammarAccess.getExponentialDistributionAccess().getRateEBigDecimalParserRuleCall_3_0()); + } + lv_rate_3_0=ruleEBigDecimal { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getExponentialDistributionRule()); + } + set( + $current, + "rate", + lv_rate_3_0, + "EBigDecimal"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_4='}' + { + newLeafNode(otherlv_4, grammarAccess.getExponentialDistributionAccess().getRightCurlyBracketKeyword_4()); + } +) +; + + + + + +// Entry rule entryRuleSample +entryRuleSample returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getSampleRule()); } + iv_ruleSample=ruleSample + { $current=$iv_ruleSample.current; } + EOF +; + +// Rule Sample +ruleSample returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='Sample' + { + newLeafNode(otherlv_0, grammarAccess.getSampleAccess().getSampleKeyword_0()); + } + otherlv_1='{' + { + newLeafNode(otherlv_1, grammarAccess.getSampleAccess().getLeftCurlyBracketKeyword_1()); + } + otherlv_2='probability' + { + newLeafNode(otherlv_2, grammarAccess.getSampleAccess().getProbabilityKeyword_2()); + } +( +( + { + newCompositeNode(grammarAccess.getSampleAccess().getProbabilityEBigDecimalParserRuleCall_3_0()); + } + lv_probability_3_0=ruleEBigDecimal { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getSampleRule()); + } + set( + $current, + "probability", + lv_probability_3_0, + "EBigDecimal"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_4='value' + { + newLeafNode(otherlv_4, grammarAccess.getSampleAccess().getValueKeyword_4()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getSampleRule()); + } + } + { + newCompositeNode(grammarAccess.getSampleAccess().getValueEObjectCrossReference_5_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_6='}' + { + newLeafNode(otherlv_6, grammarAccess.getSampleAccess().getRightCurlyBracketKeyword_6()); + } +) +; + + + + + + + +// Entry rule entryRuleEBigDecimal +entryRuleEBigDecimal returns [String current=null] + : + { newCompositeNode(grammarAccess.getEBigDecimalRule()); } + iv_ruleEBigDecimal=ruleEBigDecimal + { $current=$iv_ruleEBigDecimal.current.getText(); } + EOF +; + +// Rule EBigDecimal +ruleEBigDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] + @init { enterRule(); + } + @after { leaveRule(); }: +(( this_INT_0=RULE_INT { + $current.merge(this_INT_0); + } + + { + newLeafNode(this_INT_0, grammarAccess.getEBigDecimalAccess().getINTTerminalRuleCall_0()); + } +)? + kw='.' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getEBigDecimalAccess().getFullStopKeyword_1()); + } + this_INT_2=RULE_INT { + $current.merge(this_INT_2); + } + + { + newLeafNode(this_INT_2, grammarAccess.getEBigDecimalAccess().getINTTerminalRuleCall_2()); + } +) + ; + + + + + +// Entry rule entryRuleContinuousSample +entryRuleContinuousSample returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getContinuousSampleRule()); } + iv_ruleContinuousSample=ruleContinuousSample + { $current=$iv_ruleContinuousSample.current; } + EOF +; + +// Rule ContinuousSample +ruleContinuousSample returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='ContinuousSample' + { + newLeafNode(otherlv_0, grammarAccess.getContinuousSampleAccess().getContinuousSampleKeyword_0()); + } + otherlv_1='{' + { + newLeafNode(otherlv_1, grammarAccess.getContinuousSampleAccess().getLeftCurlyBracketKeyword_1()); + } + otherlv_2='value' + { + newLeafNode(otherlv_2, grammarAccess.getContinuousSampleAccess().getValueKeyword_2()); + } +( +( + { + newCompositeNode(grammarAccess.getContinuousSampleAccess().getValueEBigDecimalParserRuleCall_3_0()); + } + lv_value_3_0=ruleEBigDecimal { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getContinuousSampleRule()); + } + set( + $current, + "value", + lv_value_3_0, + "EBigDecimal"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_4='probability' + { + newLeafNode(otherlv_4, grammarAccess.getContinuousSampleAccess().getProbabilityKeyword_4()); + } +( +( + { + newCompositeNode(grammarAccess.getContinuousSampleAccess().getProbabilityEBigDecimalParserRuleCall_5_0()); + } + lv_probability_5_0=ruleEBigDecimal { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getContinuousSampleRule()); + } + set( + $current, + "probability", + lv_probability_5_0, + "EBigDecimal"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_6='}' + { + newLeafNode(otherlv_6, grammarAccess.getContinuousSampleAccess().getRightCurlyBracketKeyword_6()); + } +) +; + + + + + +// Entry rule entryRuleLoopIterationCountDistribution +entryRuleLoopIterationCountDistribution returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getLoopIterationCountDistributionRule()); } + iv_ruleLoopIterationCountDistribution=ruleLoopIterationCountDistribution + { $current=$iv_ruleLoopIterationCountDistribution.current; } + EOF +; + +// Rule LoopIterationCountDistribution +ruleLoopIterationCountDistribution returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='LoopIterationCountDistribution' + { + newLeafNode(otherlv_0, grammarAccess.getLoopIterationCountDistributionAccess().getLoopIterationCountDistributionKeyword_0()); + } + otherlv_1='{' + { + newLeafNode(otherlv_1, grammarAccess.getLoopIterationCountDistributionAccess().getLeftCurlyBracketKeyword_1()); + } + otherlv_2='loopIterationCountDistribution' + { + newLeafNode(otherlv_2, grammarAccess.getLoopIterationCountDistributionAccess().getLoopIterationCountDistributionKeyword_2()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getLoopIterationCountDistributionRule()); + } + } + { + newCompositeNode(grammarAccess.getLoopIterationCountDistributionAccess().getLoopIterationCountDistributionRandomVariableCrossReference_3_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_4='}' + { + newLeafNode(otherlv_4, grammarAccess.getLoopIterationCountDistributionAccess().getRightCurlyBracketKeyword_4()); + } +) +; + + + + + +// Entry rule entryRuleAssemblyContext +entryRuleAssemblyContext returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getAssemblyContextRule()); } + iv_ruleAssemblyContext=ruleAssemblyContext + { $current=$iv_ruleAssemblyContext.current; } + EOF +; + +// Rule AssemblyContext +ruleAssemblyContext returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='AssemblyContext' + { + newLeafNode(otherlv_0, grammarAccess.getAssemblyContextAccess().getAssemblyContextKeyword_0()); + } +( +( + { + newCompositeNode(grammarAccess.getAssemblyContextAccess().getIdEStringParserRuleCall_1_0()); + } + lv_id_1_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAssemblyContextRule()); + } + set( + $current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getAssemblyContextAccess().getLeftCurlyBracketKeyword_2()); + } + otherlv_3='name' + { + newLeafNode(otherlv_3, grammarAccess.getAssemblyContextAccess().getNameKeyword_3()); + } +( +( + { + newCompositeNode(grammarAccess.getAssemblyContextAccess().getNameEStringParserRuleCall_4_0()); + } + lv_name_4_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAssemblyContextRule()); + } + set( + $current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_5='encapsulatedComponent' + { + newLeafNode(otherlv_5, grammarAccess.getAssemblyContextAccess().getEncapsulatedComponentKeyword_5()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getAssemblyContextRule()); + } + } + { + newCompositeNode(grammarAccess.getAssemblyContextAccess().getEncapsulatedComponentRepositoryComponentCrossReference_6_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_7='}' + { + newLeafNode(otherlv_7, grammarAccess.getAssemblyContextAccess().getRightCurlyBracketKeyword_7()); + } +) +; + + + + + +// Entry rule entryRuleAssemblyConnector +entryRuleAssemblyConnector returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getAssemblyConnectorRule()); } + iv_ruleAssemblyConnector=ruleAssemblyConnector + { $current=$iv_ruleAssemblyConnector.current; } + EOF +; + +// Rule AssemblyConnector +ruleAssemblyConnector returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='AssemblyConnector' + { + newLeafNode(otherlv_0, grammarAccess.getAssemblyConnectorAccess().getAssemblyConnectorKeyword_0()); + } +( +( + { + newCompositeNode(grammarAccess.getAssemblyConnectorAccess().getIdEStringParserRuleCall_1_0()); + } + lv_id_1_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAssemblyConnectorRule()); + } + set( + $current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getAssemblyConnectorAccess().getLeftCurlyBracketKeyword_2()); + } + otherlv_3='name' + { + newLeafNode(otherlv_3, grammarAccess.getAssemblyConnectorAccess().getNameKeyword_3()); + } +( +( + { + newCompositeNode(grammarAccess.getAssemblyConnectorAccess().getNameEStringParserRuleCall_4_0()); + } + lv_name_4_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAssemblyConnectorRule()); + } + set( + $current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_5='requiredRole' + { + newLeafNode(otherlv_5, grammarAccess.getAssemblyConnectorAccess().getRequiredRoleKeyword_5()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getAssemblyConnectorRule()); + } + } + { + newCompositeNode(grammarAccess.getAssemblyConnectorAccess().getRequiredRoleRequiredRoleCrossReference_6_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_7='providedRole' + { + newLeafNode(otherlv_7, grammarAccess.getAssemblyConnectorAccess().getProvidedRoleKeyword_7()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getAssemblyConnectorRule()); + } + } + { + newCompositeNode(grammarAccess.getAssemblyConnectorAccess().getProvidedRoleProvidedRoleCrossReference_8_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_9='providingAssemblyContext' + { + newLeafNode(otherlv_9, grammarAccess.getAssemblyConnectorAccess().getProvidingAssemblyContextKeyword_9()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getAssemblyConnectorRule()); + } + } + { + newCompositeNode(grammarAccess.getAssemblyConnectorAccess().getProvidingAssemblyContextAssemblyContextCrossReference_10_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_11='requiringAssemblyContext' + { + newLeafNode(otherlv_11, grammarAccess.getAssemblyConnectorAccess().getRequiringAssemblyContextKeyword_11()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getAssemblyConnectorRule()); + } + } + { + newCompositeNode(grammarAccess.getAssemblyConnectorAccess().getRequiringAssemblyContextAssemblyContextCrossReference_12_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_13='}' + { + newLeafNode(otherlv_13, grammarAccess.getAssemblyConnectorAccess().getRightCurlyBracketKeyword_13()); + } +) +; + + + + + +// Entry rule entryRuleProvidedDelegationConnector +entryRuleProvidedDelegationConnector returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getProvidedDelegationConnectorRule()); } + iv_ruleProvidedDelegationConnector=ruleProvidedDelegationConnector + { $current=$iv_ruleProvidedDelegationConnector.current; } + EOF +; + +// Rule ProvidedDelegationConnector +ruleProvidedDelegationConnector returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='ProvidedDelegationConnector' + { + newLeafNode(otherlv_0, grammarAccess.getProvidedDelegationConnectorAccess().getProvidedDelegationConnectorKeyword_0()); + } +( +( + { + newCompositeNode(grammarAccess.getProvidedDelegationConnectorAccess().getIdEStringParserRuleCall_1_0()); + } + lv_id_1_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getProvidedDelegationConnectorRule()); + } + set( + $current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getProvidedDelegationConnectorAccess().getLeftCurlyBracketKeyword_2()); + } + otherlv_3='name' + { + newLeafNode(otherlv_3, grammarAccess.getProvidedDelegationConnectorAccess().getNameKeyword_3()); + } +( +( + { + newCompositeNode(grammarAccess.getProvidedDelegationConnectorAccess().getNameEStringParserRuleCall_4_0()); + } + lv_name_4_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getProvidedDelegationConnectorRule()); + } + set( + $current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_5='assemblyContext' + { + newLeafNode(otherlv_5, grammarAccess.getProvidedDelegationConnectorAccess().getAssemblyContextKeyword_5()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getProvidedDelegationConnectorRule()); + } + } + { + newCompositeNode(grammarAccess.getProvidedDelegationConnectorAccess().getAssemblyContextAssemblyContextCrossReference_6_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_7='innerProvidedRole' + { + newLeafNode(otherlv_7, grammarAccess.getProvidedDelegationConnectorAccess().getInnerProvidedRoleKeyword_7()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getProvidedDelegationConnectorRule()); + } + } + { + newCompositeNode(grammarAccess.getProvidedDelegationConnectorAccess().getInnerProvidedRoleProvidedRoleCrossReference_8_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_9='outerProvidedRole' + { + newLeafNode(otherlv_9, grammarAccess.getProvidedDelegationConnectorAccess().getOuterProvidedRoleKeyword_9()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getProvidedDelegationConnectorRule()); + } + } + { + newCompositeNode(grammarAccess.getProvidedDelegationConnectorAccess().getOuterProvidedRoleProvidedRoleCrossReference_10_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_11='}' + { + newLeafNode(otherlv_11, grammarAccess.getProvidedDelegationConnectorAccess().getRightCurlyBracketKeyword_11()); + } +) +; + + + + + +// Entry rule entryRuleRequiredDelegationConnector +entryRuleRequiredDelegationConnector returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getRequiredDelegationConnectorRule()); } + iv_ruleRequiredDelegationConnector=ruleRequiredDelegationConnector + { $current=$iv_ruleRequiredDelegationConnector.current; } + EOF +; + +// Rule RequiredDelegationConnector +ruleRequiredDelegationConnector returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='RequiredDelegationConnector' + { + newLeafNode(otherlv_0, grammarAccess.getRequiredDelegationConnectorAccess().getRequiredDelegationConnectorKeyword_0()); + } +( +( + { + newCompositeNode(grammarAccess.getRequiredDelegationConnectorAccess().getIdEStringParserRuleCall_1_0()); + } + lv_id_1_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getRequiredDelegationConnectorRule()); + } + set( + $current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getRequiredDelegationConnectorAccess().getLeftCurlyBracketKeyword_2()); + } + otherlv_3='name' + { + newLeafNode(otherlv_3, grammarAccess.getRequiredDelegationConnectorAccess().getNameKeyword_3()); + } +( +( + { + newCompositeNode(grammarAccess.getRequiredDelegationConnectorAccess().getNameEStringParserRuleCall_4_0()); + } + lv_name_4_0=ruleEString { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getRequiredDelegationConnectorRule()); + } + set( + $current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_5='assemblyContext' + { + newLeafNode(otherlv_5, grammarAccess.getRequiredDelegationConnectorAccess().getAssemblyContextKeyword_5()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getRequiredDelegationConnectorRule()); + } + } + { + newCompositeNode(grammarAccess.getRequiredDelegationConnectorAccess().getAssemblyContextAssemblyContextCrossReference_6_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_7='innerRequiredRole' + { + newLeafNode(otherlv_7, grammarAccess.getRequiredDelegationConnectorAccess().getInnerRequiredRoleKeyword_7()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getRequiredDelegationConnectorRule()); + } + } + { + newCompositeNode(grammarAccess.getRequiredDelegationConnectorAccess().getInnerRequiredRoleRequiredRoleCrossReference_8_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_9='outerRequiredRole' + { + newLeafNode(otherlv_9, grammarAccess.getRequiredDelegationConnectorAccess().getOuterRequiredRoleKeyword_9()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getRequiredDelegationConnectorRule()); + } + } + { + newCompositeNode(grammarAccess.getRequiredDelegationConnectorAccess().getOuterRequiredRoleRequiredRoleCrossReference_10_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_11='}' + { + newLeafNode(otherlv_11, grammarAccess.getRequiredDelegationConnectorAccess().getRightCurlyBracketKeyword_11()); + } +) +; + + + + + +// Entry rule entryRuleExternalCall_Impl +entryRuleExternalCall_Impl returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getExternalCall_ImplRule()); } + iv_ruleExternalCall_Impl=ruleExternalCall_Impl + { $current=$iv_ruleExternalCall_Impl.current; } + EOF +; + +// Rule ExternalCall_Impl +ruleExternalCall_Impl returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='ExternalCall' + { + newLeafNode(otherlv_0, grammarAccess.getExternalCall_ImplAccess().getExternalCallKeyword_0()); + } + otherlv_1='{' + { + newLeafNode(otherlv_1, grammarAccess.getExternalCall_ImplAccess().getLeftCurlyBracketKeyword_1()); + } + otherlv_2='signature' + { + newLeafNode(otherlv_2, grammarAccess.getExternalCall_ImplAccess().getSignatureKeyword_2()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getExternalCall_ImplRule()); + } + } + { + newCompositeNode(grammarAccess.getExternalCall_ImplAccess().getSignatureSignatureCrossReference_3_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_4='requiredRole' + { + newLeafNode(otherlv_4, grammarAccess.getExternalCall_ImplAccess().getRequiredRoleKeyword_4()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getExternalCall_ImplRule()); + } + } + { + newCompositeNode(grammarAccess.getExternalCall_ImplAccess().getRequiredRoleRequiredRoleCrossReference_5_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_6='}' + { + newLeafNode(otherlv_6, grammarAccess.getExternalCall_ImplAccess().getRightCurlyBracketKeyword_6()); + } +) +; + + + + + +// Entry rule entryRuleExternalCallFrequency +entryRuleExternalCallFrequency returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getExternalCallFrequencyRule()); } + iv_ruleExternalCallFrequency=ruleExternalCallFrequency + { $current=$iv_ruleExternalCallFrequency.current; } + EOF +; + +// Rule ExternalCallFrequency +ruleExternalCallFrequency returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='ExternalCallFrequency' + { + newLeafNode(otherlv_0, grammarAccess.getExternalCallFrequencyAccess().getExternalCallFrequencyKeyword_0()); + } + otherlv_1='{' + { + newLeafNode(otherlv_1, grammarAccess.getExternalCallFrequencyAccess().getLeftCurlyBracketKeyword_1()); + } + otherlv_2='externalCall' + { + newLeafNode(otherlv_2, grammarAccess.getExternalCallFrequencyAccess().getExternalCallKeyword_2()); + } +( +( + { + newCompositeNode(grammarAccess.getExternalCallFrequencyAccess().getExternalCallExternalCallParserRuleCall_3_0()); + } + lv_externalCall_3_0=ruleExternalCall { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getExternalCallFrequencyRule()); + } + set( + $current, + "externalCall", + lv_externalCall_3_0, + "ExternalCall"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_4='frequency' + { + newLeafNode(otherlv_4, grammarAccess.getExternalCallFrequencyAccess().getFrequencyKeyword_4()); + } +( +( + { + newCompositeNode(grammarAccess.getExternalCallFrequencyAccess().getFrequencyCallFrequencyParserRuleCall_5_0()); + } + lv_frequency_5_0=ruleCallFrequency { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getExternalCallFrequencyRule()); + } + set( + $current, + "frequency", + lv_frequency_5_0, + "CallFrequency"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_6='}' + { + newLeafNode(otherlv_6, grammarAccess.getExternalCallFrequencyAccess().getRightCurlyBracketKeyword_6()); + } +) +; + + + + + +// Entry rule entryRuleCallFrequency +entryRuleCallFrequency returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getCallFrequencyRule()); } + iv_ruleCallFrequency=ruleCallFrequency + { $current=$iv_ruleCallFrequency.current; } + EOF +; + +// Rule CallFrequency +ruleCallFrequency returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='CallFrequency' + { + newLeafNode(otherlv_0, grammarAccess.getCallFrequencyAccess().getCallFrequencyKeyword_0()); + } + otherlv_1='{' + { + newLeafNode(otherlv_1, grammarAccess.getCallFrequencyAccess().getLeftCurlyBracketKeyword_1()); + } + otherlv_2='frequency' + { + newLeafNode(otherlv_2, grammarAccess.getCallFrequencyAccess().getFrequencyKeyword_2()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getCallFrequencyRule()); + } + } + { + newCompositeNode(grammarAccess.getCallFrequencyAccess().getFrequencyRandomVariableCrossReference_3_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_4='}' + { + newLeafNode(otherlv_4, grammarAccess.getCallFrequencyAccess().getRightCurlyBracketKeyword_4()); + } +) +; + + + + + +// Entry rule entryRuleDependencyRelationship +entryRuleDependencyRelationship returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getDependencyRelationshipRule()); } + iv_ruleDependencyRelationship=ruleDependencyRelationship + { $current=$iv_ruleDependencyRelationship.current; } + EOF +; + +// Rule DependencyRelationship +ruleDependencyRelationship returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='DependencyRelationship' + { + newLeafNode(otherlv_0, grammarAccess.getDependencyRelationshipAccess().getDependencyRelationshipKeyword_0()); + } + otherlv_1='{' + { + newLeafNode(otherlv_1, grammarAccess.getDependencyRelationshipAccess().getLeftCurlyBracketKeyword_1()); + } + otherlv_2='surroundingEntity' + { + newLeafNode(otherlv_2, grammarAccess.getDependencyRelationshipAccess().getSurroundingEntityKeyword_2()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getDependencyRelationshipRule()); + } + } + { + newCompositeNode(grammarAccess.getDependencyRelationshipAccess().getSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_4='influencedVariable' + { + newLeafNode(otherlv_4, grammarAccess.getDependencyRelationshipAccess().getInfluencedVariableKeyword_4()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getDependencyRelationshipRule()); + } + } + { + newCompositeNode(grammarAccess.getDependencyRelationshipAccess().getInfluencedVariableInfluencedVariableCrossReference_5_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_6='influencingParameter' + { + newLeafNode(otherlv_6, grammarAccess.getDependencyRelationshipAccess().getInfluencingParameterKeyword_6()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getDependencyRelationshipRule()); + } + } + { + newCompositeNode(grammarAccess.getDependencyRelationshipAccess().getInfluencingParameterInfluencingParameterCrossReference_7_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_8='}' + { + newLeafNode(otherlv_8, grammarAccess.getDependencyRelationshipAccess().getRightCurlyBracketKeyword_8()); + } +) +; + + + + + +// Entry rule entryRuleCorrelationRelationship +entryRuleCorrelationRelationship returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getCorrelationRelationshipRule()); } + iv_ruleCorrelationRelationship=ruleCorrelationRelationship + { $current=$iv_ruleCorrelationRelationship.current; } + EOF +; + +// Rule CorrelationRelationship +ruleCorrelationRelationship returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +( otherlv_0='CorrelationRelationship' + { + newLeafNode(otherlv_0, grammarAccess.getCorrelationRelationshipAccess().getCorrelationRelationshipKeyword_0()); + } + otherlv_1='{' + { + newLeafNode(otherlv_1, grammarAccess.getCorrelationRelationshipAccess().getLeftCurlyBracketKeyword_1()); + } + otherlv_2='surroundingEntity' + { + newLeafNode(otherlv_2, grammarAccess.getCorrelationRelationshipAccess().getSurroundingEntityKeyword_2()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getCorrelationRelationshipRule()); + } + } + { + newCompositeNode(grammarAccess.getCorrelationRelationshipAccess().getSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_4='leftInfluencingParameter' + { + newLeafNode(otherlv_4, grammarAccess.getCorrelationRelationshipAccess().getLeftInfluencingParameterKeyword_4()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getCorrelationRelationshipRule()); + } + } + { + newCompositeNode(grammarAccess.getCorrelationRelationshipAccess().getLeftInfluencingParameterInfluencingParameterCrossReference_5_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_6='rightInfluencingParameter' + { + newLeafNode(otherlv_6, grammarAccess.getCorrelationRelationshipAccess().getRightInfluencingParameterKeyword_6()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getCorrelationRelationshipRule()); + } + } + { + newCompositeNode(grammarAccess.getCorrelationRelationshipAccess().getRightInfluencingParameterInfluencingParameterCrossReference_7_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +) otherlv_8='leftComponentInstanceReference' + { + newLeafNode(otherlv_8, grammarAccess.getCorrelationRelationshipAccess().getLeftComponentInstanceReferenceKeyword_8()); + } +( +( + { + newCompositeNode(grammarAccess.getCorrelationRelationshipAccess().getLeftComponentInstanceReferenceComponentInstanceReferenceParserRuleCall_9_0()); + } + lv_leftComponentInstanceReference_9_0=ruleComponentInstanceReference { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCorrelationRelationshipRule()); + } + set( + $current, + "leftComponentInstanceReference", + lv_leftComponentInstanceReference_9_0, + "ComponentInstanceReference"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_10='rightComponentInstanceReference' + { + newLeafNode(otherlv_10, grammarAccess.getCorrelationRelationshipAccess().getRightComponentInstanceReferenceKeyword_10()); + } +( +( + { + newCompositeNode(grammarAccess.getCorrelationRelationshipAccess().getRightComponentInstanceReferenceComponentInstanceReferenceParserRuleCall_11_0()); + } + lv_rightComponentInstanceReference_11_0=ruleComponentInstanceReference { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCorrelationRelationshipRule()); + } + set( + $current, + "rightComponentInstanceReference", + lv_rightComponentInstanceReference_11_0, + "ComponentInstanceReference"); + afterParserOrEnumRuleCall(); + } + +) +) otherlv_12='}' + { + newLeafNode(otherlv_12, grammarAccess.getCorrelationRelationshipAccess().getRightCurlyBracketKeyword_12()); + } +) +; + + + + + + + +// Entry rule entryRuleComponentInstanceReference +entryRuleComponentInstanceReference returns [EObject current=null] + : + { newCompositeNode(grammarAccess.getComponentInstanceReferenceRule()); } + iv_ruleComponentInstanceReference=ruleComponentInstanceReference + { $current=$iv_ruleComponentInstanceReference.current; } + EOF +; + +// Rule ComponentInstanceReference +ruleComponentInstanceReference returns [EObject current=null] + @init { enterRule(); + } + @after { leaveRule(); }: +(( + { + $current = forceCreateModelElement( + grammarAccess.getComponentInstanceReferenceAccess().getComponentInstanceReferenceAction_0(), + $current); + } +) otherlv_1='ComponentInstanceReference' + { + newLeafNode(otherlv_1, grammarAccess.getComponentInstanceReferenceAccess().getComponentInstanceReferenceKeyword_1()); + } + otherlv_2='{' + { + newLeafNode(otherlv_2, grammarAccess.getComponentInstanceReferenceAccess().getLeftCurlyBracketKeyword_2()); + } +( otherlv_3='assemblies' + { + newLeafNode(otherlv_3, grammarAccess.getComponentInstanceReferenceAccess().getAssembliesKeyword_3_0()); + } + otherlv_4='(' + { + newLeafNode(otherlv_4, grammarAccess.getComponentInstanceReferenceAccess().getLeftParenthesisKeyword_3_1()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getComponentInstanceReferenceRule()); + } + } + { + newCompositeNode(grammarAccess.getComponentInstanceReferenceAccess().getAssembliesAssemblyContextCrossReference_3_2_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +)( otherlv_6=',' + { + newLeafNode(otherlv_6, grammarAccess.getComponentInstanceReferenceAccess().getCommaKeyword_3_3_0()); + } +( +( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getComponentInstanceReferenceRule()); + } + } + { + newCompositeNode(grammarAccess.getComponentInstanceReferenceAccess().getAssembliesAssemblyContextCrossReference_3_3_1_0()); + } + ruleEString { + afterParserOrEnumRuleCall(); + } + +) +))* otherlv_8=')' + { + newLeafNode(otherlv_8, grammarAccess.getComponentInstanceReferenceAccess().getRightParenthesisKeyword_3_4()); + } +)? otherlv_9='}' + { + newLeafNode(otherlv_9, grammarAccess.getComponentInstanceReferenceAccess().getRightCurlyBracketKeyword_4()); + } +) +; + + + + + +// Rule PrimitiveTypeEnum +rulePrimitiveTypeEnum returns [Enumerator current=null] + @init { enterRule(); } + @after { leaveRule(); }: +(( enumLiteral_0='INT' + { + $current = grammarAccess.getPrimitiveTypeEnumAccess().getINTEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getPrimitiveTypeEnumAccess().getINTEnumLiteralDeclaration_0()); + } +) + |( enumLiteral_1='STRING' + { + $current = grammarAccess.getPrimitiveTypeEnumAccess().getSTRINGEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getPrimitiveTypeEnumAccess().getSTRINGEnumLiteralDeclaration_1()); + } +) + |( enumLiteral_2='BOOL' + { + $current = grammarAccess.getPrimitiveTypeEnumAccess().getBOOLEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getPrimitiveTypeEnumAccess().getBOOLEnumLiteralDeclaration_2()); + } +) + |( enumLiteral_3='DOUBLE' + { + $current = grammarAccess.getPrimitiveTypeEnumAccess().getDOUBLEEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getPrimitiveTypeEnumAccess().getDOUBLEEnumLiteralDeclaration_3()); + } +) + |( enumLiteral_4='CHAR' + { + $current = grammarAccess.getPrimitiveTypeEnumAccess().getCHAREnumLiteralDeclaration_4().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_4, grammarAccess.getPrimitiveTypeEnumAccess().getCHAREnumLiteralDeclaration_4()); + } +) + |( enumLiteral_5='BYTE' + { + $current = grammarAccess.getPrimitiveTypeEnumAccess().getBYTEEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_5, grammarAccess.getPrimitiveTypeEnumAccess().getBYTEEnumLiteralDeclaration_5()); + } +) + |( enumLiteral_6='LONG' + { + $current = grammarAccess.getPrimitiveTypeEnumAccess().getLONGEnumLiteralDeclaration_6().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_6, grammarAccess.getPrimitiveTypeEnumAccess().getLONGEnumLiteralDeclaration_6()); + } +)); + + + +// Rule ParameterModifier +ruleParameterModifier returns [Enumerator current=null] + @init { enterRule(); } + @after { leaveRule(); }: +(( enumLiteral_0='NONE' + { + $current = grammarAccess.getParameterModifierAccess().getNONEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getParameterModifierAccess().getNONEEnumLiteralDeclaration_0()); + } +) + |( enumLiteral_1='IN' + { + $current = grammarAccess.getParameterModifierAccess().getINEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getParameterModifierAccess().getINEnumLiteralDeclaration_1()); + } +) + |( enumLiteral_2='OUT' + { + $current = grammarAccess.getParameterModifierAccess().getOUTEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getParameterModifierAccess().getOUTEnumLiteralDeclaration_2()); + } +) + |( enumLiteral_3='INOUT' + { + $current = grammarAccess.getParameterModifierAccess().getINOUTEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getParameterModifierAccess().getINOUTEnumLiteralDeclaration_3()); + } +)); + + + +// Rule CharacterizationType +ruleCharacterizationType returns [Enumerator current=null] + @init { enterRule(); } + @after { leaveRule(); }: +(( enumLiteral_0='VALUE' + { + $current = grammarAccess.getCharacterizationTypeAccess().getVALUEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getCharacterizationTypeAccess().getVALUEEnumLiteralDeclaration_0()); + } +) + |( enumLiteral_1='NUMBER_OF_ELEMENTS' + { + $current = grammarAccess.getCharacterizationTypeAccess().getNUMBER_OF_ELEMENTSEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getCharacterizationTypeAccess().getNUMBER_OF_ELEMENTSEnumLiteralDeclaration_1()); + } +)); + + + +RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; + +RULE_INT : ('0'..'9')+; + +RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\''); + +RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/'; + +RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?; + +RULE_WS : (' '|'\t'|'\r'|'\n')+; + +RULE_ANY_OTHER : .; + + diff --git a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.tokens b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.tokens new file mode 100644 index 0000000000000000000000000000000000000000..8c12d11dab1d82437dcfbead4ff3012c4b73da08 --- /dev/null +++ b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.tokens @@ -0,0 +1,329 @@ +RULE_ID=5 +T__29=29 +T__28=28 +T__159=159 +T__27=27 +T__158=158 +T__26=26 +T__25=25 +T__24=24 +T__23=23 +T__22=22 +RULE_ANY_OTHER=10 +T__21=21 +T__20=20 +T__160=160 +T__167=167 +T__168=168 +T__165=165 +T__166=166 +T__163=163 +T__164=164 +T__161=161 +T__162=162 +T__93=93 +T__19=19 +T__94=94 +T__91=91 +T__92=92 +T__148=148 +T__16=16 +T__147=147 +T__15=15 +T__90=90 +T__18=18 +T__149=149 +T__17=17 +T__12=12 +T__11=11 +T__14=14 +T__13=13 +T__154=154 +T__155=155 +T__156=156 +T__157=157 +T__99=99 +T__150=150 +T__98=98 +T__151=151 +T__97=97 +T__152=152 +T__96=96 +T__153=153 +T__95=95 +T__139=139 +T__138=138 +T__137=137 +T__136=136 +T__80=80 +T__81=81 +T__82=82 +T__83=83 +T__141=141 +T__85=85 +T__142=142 +T__84=84 +T__87=87 +T__140=140 +T__86=86 +T__145=145 +T__89=89 +T__146=146 +T__88=88 +RULE_ML_COMMENT=7 +T__143=143 +T__144=144 +T__126=126 +T__125=125 +T__128=128 +RULE_STRING=4 +T__127=127 +T__71=71 +T__129=129 +T__72=72 +T__70=70 +T__76=76 +T__75=75 +T__130=130 +T__74=74 +T__131=131 +T__73=73 +T__132=132 +T__133=133 +T__79=79 +T__134=134 +T__78=78 +T__135=135 +T__77=77 +T__68=68 +T__69=69 +T__66=66 +T__67=67 +T__64=64 +T__65=65 +T__62=62 +T__63=63 +T__118=118 +T__119=119 +T__116=116 +T__117=117 +T__114=114 +T__115=115 +T__124=124 +T__123=123 +T__122=122 +T__121=121 +T__120=120 +T__61=61 +T__60=60 +T__55=55 +T__56=56 +T__57=57 +T__58=58 +T__51=51 +T__52=52 +T__53=53 +T__54=54 +T__107=107 +T__108=108 +T__109=109 +T__103=103 +T__59=59 +T__104=104 +T__105=105 +T__106=106 +T__111=111 +T__110=110 +RULE_INT=6 +T__113=113 +T__112=112 +T__50=50 +T__42=42 +T__43=43 +T__40=40 +T__41=41 +T__46=46 +T__47=47 +T__44=44 +T__45=45 +T__48=48 +T__49=49 +T__102=102 +T__101=101 +T__100=100 +RULE_SL_COMMENT=8 +T__30=30 +T__31=31 +T__32=32 +T__33=33 +T__34=34 +T__35=35 +T__36=36 +T__37=37 +T__38=38 +T__39=39 +T__171=171 +T__170=170 +RULE_WS=9 +T__169=169 +'ContinuousSample'=131 +'rate'=126 +'mu'=123 +'requiredRole'=103 +'frequency'=147 +'type'=36 +'outerProvidedRole'=141 +'requiringAssemblyContext'=137 +'OUT'=168 +'BranchTransition'=113 +'ResponseTimeSpecification'=68 +'Scope'=69 +'probabilities'=116 +'BasicComponent'=55 +'BoxedPDF'=120 +'value'=129 +'innerType'=31 +'ResourceDemandSpecification'=109 +'InnerDeclaration'=37 +'CompositeDataType'=32 +'assemblies'=158 +'components'=18 +'DependencyRelationship'=149 +'passiveResources'=56 +'RequiredRole'=51 +'signature'=73 +'modifier'=43 +'externalCall'=77 +'ExternalCall'=145 +'RequiredDelegationConnector'=142 +'describedSignature'=47 +'{'=12 +'assemblyConnectors'=60 +'AbstractAction'=83 +'Interface'=19 +'ProcessingResourceType'=111 +'Signature'=39 +'parentInterfaces'=20 +'loopBodyBehavior'=100 +'ProbabilityMassFunction'=117 +'('=21 +'innerProvidedRole'=140 +'InternalAction'=92 +'AcquireAction'=89 +'Sample'=127 +'ForkAction'=94 +'INT'=159 +'providedRole'=75 +'providingAssemblyContext'=136 +'NormalDistribution'=122 +'branchBehavior'=114 +'branches'=97 +'InfluencingParameter'=64 +'ComponentInstanceReference'=157 +'relationship'=25 +'rightComponentInstanceReference'=156 +'StopAction'=88 +'forkedBehaviors'=95 +'CommunicationLinkResourceType'=112 +'dataType'=38 +'requiredRoles'=28 +'BranchAction'=96 +'Repository'=11 +'INOUT'=169 +'PassiveResourceCapacity'=107 +'interfaces'=17 +'ServiceInputParameter'=71 +'successor'=85 +'LONG'=165 +'outerRequiredRole'=144 +'NUMBER_OF_ELEMENTS'=171 +'CorrelationRelationship'=152 +'fineGrainedBehavior'=57 +'CoarseGrainedBehavior'=52 +'parameters'=41 +'datatypes'=14 +'LoopAction'=99 +'STRING'=160 +'RepositoryComponent'=24 +'signatures'=23 +'ProbabilityDensityFunction'=119 +'externallCall'=79 +'providedDelegationConnectors'=61 +'Parameter'=42 +'ExternalCallFrequency'=146 +'influencedVariable'=151 +'BlackBoxBehavior'=46 +'ExternalCallReturnParameter'=76 +'BYTE'=164 +'name'=13 +'loopIterationCountDistribution'=101 +'NONE'=166 +'requiredDelegationConnectors'=62 +'resourceDemandSpecification'=54 +'LoopIterationCountDistribution'=132 +'characterization'=72 +'DOUBLE'=162 +'returnType'=40 +'providedRoles'=26 +'ComponentInternalBehavior'=86 +'CallFrequency'=148 +'responseTimeSpecification'=50 +'CompositeComponent'=58 +'.'=130 +'passiveResource'=90 +'branchProbabilities'=98 +'innerRequiredRole'=143 +'processingResourceType'=110 +'basicComponent'=81 +'encapsulatedComponent'=134 +'surroundingEntity'=150 +'describedEntity'=48 +'interfaceProvidingRequiringEntity'=70 +'-'=108 +','=15 +'SubSystem'=63 +'BOOL'=161 +'leftInfluencingParameter'=153 +'sample'=118 +'sigma'=124 +'PassiveResourceSpecification'=104 +'ExternalCallAction'=102 +'ContinuousPDF'=121 +'ExponentialDistribution'=125 +'PrimitiveDataType'=35 +'assemblyContexts'=59 +'BranchProbabilities'=115 +'CHAR'=163 +'parameter'=74 +'probability'=128 +')'=22 +'StartAction'=87 +'parentTypes'=33 +'passiveResourceType'=105 +'AssemblyContext'=133 +'innerDeclarations'=34 +'}'=16 +'AssemblyConnector'=135 +'externalCallFrequency'=53 +'VALUE'=170 +'ProvidedRole'=44 +'ProvidedDelegationConnector'=138 +'CollectionDataType'=30 +'actions'=82 +'IN'=167 +'ReleaseAction'=91 +'ExternalCallParameter'=78 +'description'=65 +'predecessor'=84 +'blackBoxBehavior'=27 +'withSynchronizationBarrier'=93 +'assemblyContext'=139 +'capacity'=106 +'behavior'=66 +'scope'=67 +'FineGrainedBehavior'=80 +'influencingParameter'=49 +'coarseGrainedBehavior'=29 +'leftComponentInstanceReference'=155 +'rightInfluencingParameter'=154 +'interface'=45 diff --git a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSLLexer.java b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSLLexer.java new file mode 100644 index 0000000000000000000000000000000000000000..4dcb5e346abca88a6f40a2bd8147402101ea0721 --- /dev/null +++ b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSLLexer.java @@ -0,0 +1,7847 @@ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.text.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 InternalRepositoryDSLLexer extends Lexer { + public static final int RULE_ID=5; + public static final int T__29=29; + public static final int T__28=28; + public static final int T__159=159; + public static final int T__27=27; + public static final int T__158=158; + public static final int T__26=26; + public static final int T__25=25; + public static final int T__24=24; + public static final int T__23=23; + public static final int T__22=22; + public static final int RULE_ANY_OTHER=10; + public static final int T__21=21; + public static final int T__20=20; + public static final int T__160=160; + public static final int T__167=167; + public static final int T__168=168; + public static final int EOF=-1; + public static final int T__165=165; + public static final int T__166=166; + public static final int T__163=163; + public static final int T__164=164; + public static final int T__161=161; + public static final int T__162=162; + public static final int T__93=93; + public static final int T__94=94; + public static final int T__19=19; + public static final int T__91=91; + public static final int T__92=92; + public static final int T__16=16; + public static final int T__148=148; + public static final int T__90=90; + public static final int T__15=15; + public static final int T__147=147; + public static final int T__18=18; + public static final int T__17=17; + public static final int T__149=149; + public static final int T__12=12; + public static final int T__11=11; + public static final int T__14=14; + public static final int T__13=13; + public static final int T__154=154; + public static final int T__155=155; + public static final int T__156=156; + public static final int T__157=157; + public static final int T__99=99; + public static final int T__150=150; + public static final int T__98=98; + public static final int T__151=151; + public static final int T__97=97; + public static final int T__152=152; + public static final int T__96=96; + public static final int T__153=153; + public static final int T__95=95; + public static final int T__139=139; + public static final int T__138=138; + public static final int T__137=137; + public static final int T__136=136; + public static final int T__80=80; + public static final int T__81=81; + public static final int T__82=82; + public static final int T__83=83; + public static final int T__141=141; + public static final int T__85=85; + public static final int T__142=142; + public static final int T__84=84; + public static final int T__87=87; + public static final int T__140=140; + public static final int T__86=86; + public static final int T__145=145; + public static final int T__89=89; + public static final int T__146=146; + public static final int T__88=88; + public static final int RULE_ML_COMMENT=7; + public static final int T__143=143; + public static final int T__144=144; + public static final int T__126=126; + public static final int T__125=125; + public static final int T__128=128; + public static final int RULE_STRING=4; + public static final int T__127=127; + public static final int T__71=71; + public static final int T__129=129; + public static final int T__72=72; + public static final int T__70=70; + public static final int T__76=76; + public static final int T__75=75; + public static final int T__130=130; + public static final int T__74=74; + public static final int T__73=73; + public static final int T__131=131; + public static final int T__132=132; + public static final int T__79=79; + public static final int T__133=133; + public static final int T__78=78; + public static final int T__134=134; + public static final int T__77=77; + public static final int T__135=135; + public static final int T__68=68; + public static final int T__69=69; + public static final int T__66=66; + public static final int T__67=67; + public static final int T__64=64; + public static final int T__65=65; + public static final int T__62=62; + public static final int T__63=63; + public static final int T__118=118; + public static final int T__119=119; + public static final int T__116=116; + public static final int T__117=117; + public static final int T__114=114; + public static final int T__115=115; + public static final int T__124=124; + public static final int T__123=123; + public static final int T__122=122; + public static final int T__121=121; + public static final int T__120=120; + public static final int T__61=61; + public static final int T__60=60; + public static final int T__55=55; + public static final int T__56=56; + public static final int T__57=57; + public static final int T__58=58; + public static final int T__51=51; + public static final int T__52=52; + public static final int T__53=53; + public static final int T__54=54; + public static final int T__107=107; + public static final int T__108=108; + public static final int T__109=109; + public static final int T__59=59; + public static final int T__103=103; + public static final int T__104=104; + public static final int T__105=105; + public static final int T__106=106; + public static final int T__111=111; + public static final int T__110=110; + public static final int T__113=113; + public static final int RULE_INT=6; + public static final int T__112=112; + public static final int T__50=50; + public static final int T__42=42; + public static final int T__43=43; + public static final int T__40=40; + public static final int T__41=41; + public static final int T__46=46; + public static final int T__47=47; + public static final int T__44=44; + public static final int T__45=45; + public static final int T__48=48; + public static final int T__49=49; + public static final int T__102=102; + public static final int T__101=101; + public static final int T__100=100; + public static final int RULE_SL_COMMENT=8; + 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 T__33=33; + public static final int T__34=34; + public static final int T__35=35; + public static final int T__36=36; + public static final int T__37=37; + public static final int T__38=38; + public static final int T__39=39; + public static final int T__171=171; + public static final int T__170=170; + public static final int RULE_WS=9; + public static final int T__169=169; + + // delegates + // delegators + + public InternalRepositoryDSLLexer() {;} + public InternalRepositoryDSLLexer(CharStream input) { + this(input, new RecognizerSharedState()); + } + public InternalRepositoryDSLLexer(CharStream input, RecognizerSharedState state) { + super(input,state); + + } + public String getGrammarFileName() { return "../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g"; } + + // $ANTLR start "T__11" + public final void mT__11() throws RecognitionException { + try { + int _type = T__11; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:11:7: ( 'Repository' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:11:9: 'Repository' + { + match("Repository"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__11" + + // $ANTLR start "T__12" + public final void mT__12() throws RecognitionException { + try { + int _type = T__12; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:12:7: ( '{' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:12: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; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:13:7: ( 'name' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:13:9: 'name' + { + match("name"); + + + } + + 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; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:14:7: ( 'datatypes' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:14:9: 'datatypes' + { + match("datatypes"); + + + } + + 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; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:15:7: ( ',' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:15:9: ',' + { + match(','); + + } + + 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; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:16:7: ( '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:16: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; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:17:7: ( 'interfaces' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:17:9: 'interfaces' + { + match("interfaces"); + + + } + + 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; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:18:7: ( 'components' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:18:9: 'components' + { + match("components"); + + + } + + 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; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:19:7: ( 'Interface' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:19:9: 'Interface' + { + match("Interface"); + + + } + + 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; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:20:7: ( 'parentInterfaces' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:20:9: 'parentInterfaces' + { + match("parentInterfaces"); + + + } + + 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; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:21:7: ( '(' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:21:9: '(' + { + match('('); + + } + + 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; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:22:7: ( ')' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:22: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; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:23:7: ( 'signatures' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:23:9: 'signatures' + { + match("signatures"); + + + } + + 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; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:24:7: ( 'RepositoryComponent' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:24:9: 'RepositoryComponent' + { + match("RepositoryComponent"); + + + } + + 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; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:25:7: ( 'relationship' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:25:9: 'relationship' + { + match("relationship"); + + + } + + 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; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:26:7: ( 'providedRoles' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:26:9: 'providedRoles' + { + match("providedRoles"); + + + } + + 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; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:27:7: ( 'blackBoxBehavior' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:27:9: 'blackBoxBehavior' + { + match("blackBoxBehavior"); + + + } + + 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; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:28:7: ( 'requiredRoles' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:28:9: 'requiredRoles' + { + match("requiredRoles"); + + + } + + 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; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:29:7: ( 'coarseGrainedBehavior' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:29:9: 'coarseGrainedBehavior' + { + match("coarseGrainedBehavior"); + + + } + + 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; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:30:7: ( 'CollectionDataType' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:30:9: 'CollectionDataType' + { + match("CollectionDataType"); + + + } + + 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; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:31:7: ( 'innerType' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:31:9: 'innerType' + { + match("innerType"); + + + } + + 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; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:32:7: ( 'CompositeDataType' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:32:9: 'CompositeDataType' + { + match("CompositeDataType"); + + + } + + 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; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:33:7: ( 'parentTypes' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:33:9: 'parentTypes' + { + match("parentTypes"); + + + } + + 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; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:34:7: ( 'innerDeclarations' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:34:9: 'innerDeclarations' + { + match("innerDeclarations"); + + + } + + 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; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:35:7: ( 'PrimitiveDataType' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:35:9: 'PrimitiveDataType' + { + match("PrimitiveDataType"); + + + } + + 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; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:36:7: ( 'type' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:36:9: 'type' + { + match("type"); + + + } + + 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; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:37:7: ( 'InnerDeclaration' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:37:9: 'InnerDeclaration' + { + match("InnerDeclaration"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__37" + + // $ANTLR start "T__38" + public final void mT__38() throws RecognitionException { + try { + int _type = T__38; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:38:7: ( 'dataType' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:38:9: 'dataType' + { + match("dataType"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__38" + + // $ANTLR start "T__39" + public final void mT__39() throws RecognitionException { + try { + int _type = T__39; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:39:7: ( 'Signature' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:39:9: 'Signature' + { + match("Signature"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__39" + + // $ANTLR start "T__40" + public final void mT__40() throws RecognitionException { + try { + int _type = T__40; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:40:7: ( 'returnType' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:40:9: 'returnType' + { + match("returnType"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__40" + + // $ANTLR start "T__41" + public final void mT__41() throws RecognitionException { + try { + int _type = T__41; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:41:7: ( 'parameters' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:41:9: 'parameters' + { + match("parameters"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__41" + + // $ANTLR start "T__42" + public final void mT__42() throws RecognitionException { + try { + int _type = T__42; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:42:7: ( 'Parameter' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:42:9: 'Parameter' + { + match("Parameter"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__42" + + // $ANTLR start "T__43" + public final void mT__43() throws RecognitionException { + try { + int _type = T__43; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:43:7: ( 'modifier' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:43:9: 'modifier' + { + match("modifier"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__43" + + // $ANTLR start "T__44" + public final void mT__44() throws RecognitionException { + try { + int _type = T__44; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:44:7: ( 'ProvidedRole' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:44:9: 'ProvidedRole' + { + match("ProvidedRole"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__44" + + // $ANTLR start "T__45" + public final void mT__45() throws RecognitionException { + try { + int _type = T__45; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:45:7: ( 'interface' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:45:9: 'interface' + { + match("interface"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__45" + + // $ANTLR start "T__46" + public final void mT__46() throws RecognitionException { + try { + int _type = T__46; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:46:7: ( 'BlackBoxBehavior' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:46:9: 'BlackBoxBehavior' + { + match("BlackBoxBehavior"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__46" + + // $ANTLR start "T__47" + public final void mT__47() throws RecognitionException { + try { + int _type = T__47; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:47:7: ( 'describedSignature' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:47:9: 'describedSignature' + { + match("describedSignature"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__47" + + // $ANTLR start "T__48" + public final void mT__48() throws RecognitionException { + try { + int _type = T__48; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:48:7: ( 'describedEntity' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:48:9: 'describedEntity' + { + match("describedEntity"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__48" + + // $ANTLR start "T__49" + public final void mT__49() throws RecognitionException { + try { + int _type = T__49; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:49:7: ( 'influencingParameter' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:49:9: 'influencingParameter' + { + match("influencingParameter"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__49" + + // $ANTLR start "T__50" + public final void mT__50() throws RecognitionException { + try { + int _type = T__50; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:50:7: ( 'responseTimeSpecification' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:50:9: 'responseTimeSpecification' + { + match("responseTimeSpecification"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__50" + + // $ANTLR start "T__51" + public final void mT__51() throws RecognitionException { + try { + int _type = T__51; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:51:7: ( 'RequiredRole' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:51:9: 'RequiredRole' + { + match("RequiredRole"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__51" + + // $ANTLR start "T__52" + public final void mT__52() throws RecognitionException { + try { + int _type = T__52; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:52:7: ( 'CoarseGrainedBehavior' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:52:9: 'CoarseGrainedBehavior' + { + match("CoarseGrainedBehavior"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__52" + + // $ANTLR start "T__53" + public final void mT__53() throws RecognitionException { + try { + int _type = T__53; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:53:7: ( 'externalCallFrequency' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:53:9: 'externalCallFrequency' + { + match("externalCallFrequency"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__53" + + // $ANTLR start "T__54" + public final void mT__54() throws RecognitionException { + try { + int _type = T__54; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:54:7: ( 'resourceDemandSpecification' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:54:9: 'resourceDemandSpecification' + { + match("resourceDemandSpecification"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__54" + + // $ANTLR start "T__55" + public final void mT__55() throws RecognitionException { + try { + int _type = T__55; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:55:7: ( 'BasicComponent' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:55:9: 'BasicComponent' + { + match("BasicComponent"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__55" + + // $ANTLR start "T__56" + public final void mT__56() throws RecognitionException { + try { + int _type = T__56; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:56:7: ( 'passiveResources' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:56:9: 'passiveResources' + { + match("passiveResources"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__56" + + // $ANTLR start "T__57" + public final void mT__57() throws RecognitionException { + try { + int _type = T__57; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:57:7: ( 'fineGrainedBehavior' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:57:9: 'fineGrainedBehavior' + { + match("fineGrainedBehavior"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__57" + + // $ANTLR start "T__58" + public final void mT__58() throws RecognitionException { + try { + int _type = T__58; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:58:7: ( 'CompositeComponent' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:58:9: 'CompositeComponent' + { + match("CompositeComponent"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__58" + + // $ANTLR start "T__59" + public final void mT__59() throws RecognitionException { + try { + int _type = T__59; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:59:7: ( 'assemblyContexts' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:59:9: 'assemblyContexts' + { + match("assemblyContexts"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__59" + + // $ANTLR start "T__60" + public final void mT__60() throws RecognitionException { + try { + int _type = T__60; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:60:7: ( 'assemblyConnectors' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:60:9: 'assemblyConnectors' + { + match("assemblyConnectors"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__60" + + // $ANTLR start "T__61" + public final void mT__61() throws RecognitionException { + try { + int _type = T__61; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:61:7: ( 'providedDelegationConnectors' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:61:9: 'providedDelegationConnectors' + { + match("providedDelegationConnectors"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__61" + + // $ANTLR start "T__62" + public final void mT__62() throws RecognitionException { + try { + int _type = T__62; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:62:7: ( 'requiredDelegationConnectors' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:62:9: 'requiredDelegationConnectors' + { + match("requiredDelegationConnectors"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__62" + + // $ANTLR start "T__63" + public final void mT__63() throws RecognitionException { + try { + int _type = T__63; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:63:7: ( 'SubSystem' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:63:9: 'SubSystem' + { + match("SubSystem"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__63" + + // $ANTLR start "T__64" + public final void mT__64() throws RecognitionException { + try { + int _type = T__64; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:64:7: ( 'InfluencingParameter' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:64:9: 'InfluencingParameter' + { + match("InfluencingParameter"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__64" + + // $ANTLR start "T__65" + public final void mT__65() throws RecognitionException { + try { + int _type = T__65; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:65:7: ( 'description' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:65:9: 'description' + { + match("description"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__65" + + // $ANTLR start "T__66" + public final void mT__66() throws RecognitionException { + try { + int _type = T__66; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:66:7: ( 'behavior' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:66:9: 'behavior' + { + match("behavior"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__66" + + // $ANTLR start "T__67" + public final void mT__67() throws RecognitionException { + try { + int _type = T__67; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:67:7: ( 'scope' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:67:9: 'scope' + { + match("scope"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__67" + + // $ANTLR start "T__68" + public final void mT__68() throws RecognitionException { + try { + int _type = T__68; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:68:7: ( 'ResponseTimeSpecification' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:68:9: 'ResponseTimeSpecification' + { + match("ResponseTimeSpecification"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__68" + + // $ANTLR start "T__69" + public final void mT__69() throws RecognitionException { + try { + int _type = T__69; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:69:7: ( 'Scope' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:69:9: 'Scope' + { + match("Scope"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__69" + + // $ANTLR start "T__70" + public final void mT__70() throws RecognitionException { + try { + int _type = T__70; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:70:7: ( 'interfaceProvidingRequiringEntity' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:70:9: 'interfaceProvidingRequiringEntity' + { + match("interfaceProvidingRequiringEntity"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__70" + + // $ANTLR start "T__71" + public final void mT__71() throws RecognitionException { + try { + int _type = T__71; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:71:7: ( 'ServiceInputParameter' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:71:9: 'ServiceInputParameter' + { + match("ServiceInputParameter"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__71" + + // $ANTLR start "T__72" + public final void mT__72() throws RecognitionException { + try { + int _type = T__72; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:72:7: ( 'characterization' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:72:9: 'characterization' + { + match("characterization"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__72" + + // $ANTLR start "T__73" + public final void mT__73() throws RecognitionException { + try { + int _type = T__73; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:73:7: ( 'signature' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:73:9: 'signature' + { + match("signature"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__73" + + // $ANTLR start "T__74" + public final void mT__74() throws RecognitionException { + try { + int _type = T__74; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:74:7: ( 'parameter' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:74:9: 'parameter' + { + match("parameter"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__74" + + // $ANTLR start "T__75" + public final void mT__75() throws RecognitionException { + try { + int _type = T__75; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:75:7: ( 'providedRole' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:75:9: 'providedRole' + { + match("providedRole"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__75" + + // $ANTLR start "T__76" + public final void mT__76() throws RecognitionException { + try { + int _type = T__76; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:76:7: ( 'ExternalCallReturnParameter' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:76:9: 'ExternalCallReturnParameter' + { + match("ExternalCallReturnParameter"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__76" + + // $ANTLR start "T__77" + public final void mT__77() throws RecognitionException { + try { + int _type = T__77; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:77:7: ( 'externalCall' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:77:9: 'externalCall' + { + match("externalCall"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__77" + + // $ANTLR start "T__78" + public final void mT__78() throws RecognitionException { + try { + int _type = T__78; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:78:7: ( 'ExternalCallParameter' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:78:9: 'ExternalCallParameter' + { + match("ExternalCallParameter"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__78" + + // $ANTLR start "T__79" + public final void mT__79() throws RecognitionException { + try { + int _type = T__79; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:79:7: ( 'externallCall' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:79:9: 'externallCall' + { + match("externallCall"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__79" + + // $ANTLR start "T__80" + public final void mT__80() throws RecognitionException { + try { + int _type = T__80; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:80:7: ( 'FineGrainedBehavior' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:80:9: 'FineGrainedBehavior' + { + match("FineGrainedBehavior"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__80" + + // $ANTLR start "T__81" + public final void mT__81() throws RecognitionException { + try { + int _type = T__81; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:81:7: ( 'basicComponent' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:81:9: 'basicComponent' + { + match("basicComponent"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__81" + + // $ANTLR start "T__82" + public final void mT__82() throws RecognitionException { + try { + int _type = T__82; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:82:7: ( 'actions' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:82:9: 'actions' + { + match("actions"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__82" + + // $ANTLR start "T__83" + public final void mT__83() throws RecognitionException { + try { + int _type = T__83; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:83:7: ( 'AbstractAction' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:83:9: 'AbstractAction' + { + match("AbstractAction"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__83" + + // $ANTLR start "T__84" + public final void mT__84() throws RecognitionException { + try { + int _type = T__84; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:84:7: ( 'predecessor' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:84:9: 'predecessor' + { + match("predecessor"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__84" + + // $ANTLR start "T__85" + public final void mT__85() throws RecognitionException { + try { + int _type = T__85; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:85:7: ( 'successor' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:85:9: 'successor' + { + match("successor"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__85" + + // $ANTLR start "T__86" + public final void mT__86() throws RecognitionException { + try { + int _type = T__86; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:86:7: ( 'ComponentInternalBehavior' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:86:9: 'ComponentInternalBehavior' + { + match("ComponentInternalBehavior"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__86" + + // $ANTLR start "T__87" + public final void mT__87() throws RecognitionException { + try { + int _type = T__87; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:87:7: ( 'StartAction' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:87:9: 'StartAction' + { + match("StartAction"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__87" + + // $ANTLR start "T__88" + public final void mT__88() throws RecognitionException { + try { + int _type = T__88; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:88:7: ( 'StopAction' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:88:9: 'StopAction' + { + match("StopAction"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__88" + + // $ANTLR start "T__89" + public final void mT__89() throws RecognitionException { + try { + int _type = T__89; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:89:7: ( 'AcquireAction' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:89:9: 'AcquireAction' + { + match("AcquireAction"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__89" + + // $ANTLR start "T__90" + public final void mT__90() throws RecognitionException { + try { + int _type = T__90; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:90:7: ( 'passiveResource' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:90:9: 'passiveResource' + { + match("passiveResource"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__90" + + // $ANTLR start "T__91" + public final void mT__91() throws RecognitionException { + try { + int _type = T__91; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:91:7: ( 'ReleaseAction' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:91:9: 'ReleaseAction' + { + match("ReleaseAction"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__91" + + // $ANTLR start "T__92" + public final void mT__92() throws RecognitionException { + try { + int _type = T__92; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:92:7: ( 'InternalAction' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:92:9: 'InternalAction' + { + match("InternalAction"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__92" + + // $ANTLR start "T__93" + public final void mT__93() throws RecognitionException { + try { + int _type = T__93; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:93:7: ( 'withSynchronizationBarrier' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:93:9: 'withSynchronizationBarrier' + { + match("withSynchronizationBarrier"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__93" + + // $ANTLR start "T__94" + public final void mT__94() throws RecognitionException { + try { + int _type = T__94; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:94:7: ( 'ForkAction' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:94:9: 'ForkAction' + { + match("ForkAction"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__94" + + // $ANTLR start "T__95" + public final void mT__95() throws RecognitionException { + try { + int _type = T__95; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:95:7: ( 'forkedBehaviors' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:95:9: 'forkedBehaviors' + { + match("forkedBehaviors"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__95" + + // $ANTLR start "T__96" + public final void mT__96() throws RecognitionException { + try { + int _type = T__96; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:96:7: ( 'BranchAction' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:96:9: 'BranchAction' + { + match("BranchAction"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__96" + + // $ANTLR start "T__97" + public final void mT__97() throws RecognitionException { + try { + int _type = T__97; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:97:7: ( 'branches' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:97:9: 'branches' + { + match("branches"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__97" + + // $ANTLR start "T__98" + public final void mT__98() throws RecognitionException { + try { + int _type = T__98; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:98:7: ( 'branchProbabilities' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:98:9: 'branchProbabilities' + { + match("branchProbabilities"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__98" + + // $ANTLR start "T__99" + public final void mT__99() throws RecognitionException { + try { + int _type = T__99; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:99:7: ( 'LoopAction' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:99:9: 'LoopAction' + { + match("LoopAction"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__99" + + // $ANTLR start "T__100" + public final void mT__100() throws RecognitionException { + try { + int _type = T__100; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:100:8: ( 'loopBodyBehavior' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:100:10: 'loopBodyBehavior' + { + match("loopBodyBehavior"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__100" + + // $ANTLR start "T__101" + public final void mT__101() throws RecognitionException { + try { + int _type = T__101; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:101:8: ( 'loopIterationCountDistribution' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:101:10: 'loopIterationCountDistribution' + { + match("loopIterationCountDistribution"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__101" + + // $ANTLR start "T__102" + public final void mT__102() throws RecognitionException { + try { + int _type = T__102; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:102:8: ( 'ExternalCallAction' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:102:10: 'ExternalCallAction' + { + match("ExternalCallAction"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__102" + + // $ANTLR start "T__103" + public final void mT__103() throws RecognitionException { + try { + int _type = T__103; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:103:8: ( 'requiredRole' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:103:10: 'requiredRole' + { + match("requiredRole"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__103" + + // $ANTLR start "T__104" + public final void mT__104() throws RecognitionException { + try { + int _type = T__104; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:104:8: ( 'PassiveResourceSpecification' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:104:10: 'PassiveResourceSpecification' + { + match("PassiveResourceSpecification"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__104" + + // $ANTLR start "T__105" + public final void mT__105() throws RecognitionException { + try { + int _type = T__105; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:105:8: ( 'passiveResourceType' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:105:10: 'passiveResourceType' + { + match("passiveResourceType"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__105" + + // $ANTLR start "T__106" + public final void mT__106() throws RecognitionException { + try { + int _type = T__106; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:106:8: ( 'capacity' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:106:10: 'capacity' + { + match("capacity"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__106" + + // $ANTLR start "T__107" + public final void mT__107() throws RecognitionException { + try { + int _type = T__107; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:107:8: ( 'PassiveResourceCapacity' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:107:10: 'PassiveResourceCapacity' + { + match("PassiveResourceCapacity"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__107" + + // $ANTLR start "T__108" + public final void mT__108() throws RecognitionException { + try { + int _type = T__108; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:108:8: ( '-' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:108:10: '-' + { + match('-'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__108" + + // $ANTLR start "T__109" + public final void mT__109() throws RecognitionException { + try { + int _type = T__109; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:109:8: ( 'ResourceDemandSpecification' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:109:10: 'ResourceDemandSpecification' + { + match("ResourceDemandSpecification"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__109" + + // $ANTLR start "T__110" + public final void mT__110() throws RecognitionException { + try { + int _type = T__110; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:110:8: ( 'processingResourceType' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:110:10: 'processingResourceType' + { + match("processingResourceType"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__110" + + // $ANTLR start "T__111" + public final void mT__111() throws RecognitionException { + try { + int _type = T__111; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:111:8: ( 'ProcessingResourceType' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:111:10: 'ProcessingResourceType' + { + match("ProcessingResourceType"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__111" + + // $ANTLR start "T__112" + public final void mT__112() throws RecognitionException { + try { + int _type = T__112; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:112:8: ( 'CommunicationLinkResourceType' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:112:10: 'CommunicationLinkResourceType' + { + match("CommunicationLinkResourceType"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__112" + + // $ANTLR start "T__113" + public final void mT__113() throws RecognitionException { + try { + int _type = T__113; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:113:8: ( 'BranchTransition' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:113:10: 'BranchTransition' + { + match("BranchTransition"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__113" + + // $ANTLR start "T__114" + public final void mT__114() throws RecognitionException { + try { + int _type = T__114; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:114:8: ( 'branchBehavior' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:114:10: 'branchBehavior' + { + match("branchBehavior"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__114" + + // $ANTLR start "T__115" + public final void mT__115() throws RecognitionException { + try { + int _type = T__115; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:115:8: ( 'BranchProbabilities' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:115:10: 'BranchProbabilities' + { + match("BranchProbabilities"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__115" + + // $ANTLR start "T__116" + public final void mT__116() throws RecognitionException { + try { + int _type = T__116; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:116:8: ( 'probabilities' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:116:10: 'probabilities' + { + match("probabilities"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__116" + + // $ANTLR start "T__117" + public final void mT__117() throws RecognitionException { + try { + int _type = T__117; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:117:8: ( 'ProbabilityMassFunction' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:117:10: 'ProbabilityMassFunction' + { + match("ProbabilityMassFunction"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__117" + + // $ANTLR start "T__118" + public final void mT__118() throws RecognitionException { + try { + int _type = T__118; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:118:8: ( 'sample' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:118:10: 'sample' + { + match("sample"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__118" + + // $ANTLR start "T__119" + public final void mT__119() throws RecognitionException { + try { + int _type = T__119; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:119:8: ( 'ProbabilityDensityFunction' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:119:10: 'ProbabilityDensityFunction' + { + match("ProbabilityDensityFunction"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__119" + + // $ANTLR start "T__120" + public final void mT__120() throws RecognitionException { + try { + int _type = T__120; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:120:8: ( 'BoxedPDF' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:120:10: 'BoxedPDF' + { + match("BoxedPDF"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__120" + + // $ANTLR start "T__121" + public final void mT__121() throws RecognitionException { + try { + int _type = T__121; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:121:8: ( 'ContinuousPDF' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:121:10: 'ContinuousPDF' + { + match("ContinuousPDF"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__121" + + // $ANTLR start "T__122" + public final void mT__122() throws RecognitionException { + try { + int _type = T__122; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:122:8: ( 'NormalDistribution' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:122:10: 'NormalDistribution' + { + match("NormalDistribution"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__122" + + // $ANTLR start "T__123" + public final void mT__123() throws RecognitionException { + try { + int _type = T__123; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:123:8: ( 'mu' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:123:10: 'mu' + { + match("mu"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__123" + + // $ANTLR start "T__124" + public final void mT__124() throws RecognitionException { + try { + int _type = T__124; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:124:8: ( 'sigma' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:124:10: 'sigma' + { + match("sigma"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__124" + + // $ANTLR start "T__125" + public final void mT__125() throws RecognitionException { + try { + int _type = T__125; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:125:8: ( 'ExponentialDistribution' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:125:10: 'ExponentialDistribution' + { + match("ExponentialDistribution"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__125" + + // $ANTLR start "T__126" + public final void mT__126() throws RecognitionException { + try { + int _type = T__126; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:126:8: ( 'rate' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:126:10: 'rate' + { + match("rate"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__126" + + // $ANTLR start "T__127" + public final void mT__127() throws RecognitionException { + try { + int _type = T__127; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:127:8: ( 'Sample' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:127:10: 'Sample' + { + match("Sample"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__127" + + // $ANTLR start "T__128" + public final void mT__128() throws RecognitionException { + try { + int _type = T__128; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:128:8: ( 'probability' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:128:10: 'probability' + { + match("probability"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__128" + + // $ANTLR start "T__129" + public final void mT__129() throws RecognitionException { + try { + int _type = T__129; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:129:8: ( 'value' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:129:10: 'value' + { + match("value"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__129" + + // $ANTLR start "T__130" + public final void mT__130() throws RecognitionException { + try { + int _type = T__130; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:130:8: ( '.' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:130:10: '.' + { + match('.'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__130" + + // $ANTLR start "T__131" + public final void mT__131() throws RecognitionException { + try { + int _type = T__131; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:131:8: ( 'ContinuousSample' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:131:10: 'ContinuousSample' + { + match("ContinuousSample"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__131" + + // $ANTLR start "T__132" + public final void mT__132() throws RecognitionException { + try { + int _type = T__132; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:132:8: ( 'LoopIterationCountDistribution' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:132:10: 'LoopIterationCountDistribution' + { + match("LoopIterationCountDistribution"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__132" + + // $ANTLR start "T__133" + public final void mT__133() throws RecognitionException { + try { + int _type = T__133; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:133:8: ( 'AssemblyContext' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:133:10: 'AssemblyContext' + { + match("AssemblyContext"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__133" + + // $ANTLR start "T__134" + public final void mT__134() throws RecognitionException { + try { + int _type = T__134; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:134:8: ( 'encapsulatedComponent' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:134:10: 'encapsulatedComponent' + { + match("encapsulatedComponent"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__134" + + // $ANTLR start "T__135" + public final void mT__135() throws RecognitionException { + try { + int _type = T__135; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:135:8: ( 'AssemblyConnector' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:135:10: 'AssemblyConnector' + { + match("AssemblyConnector"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__135" + + // $ANTLR start "T__136" + public final void mT__136() throws RecognitionException { + try { + int _type = T__136; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:136:8: ( 'providingAssemblyContext' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:136:10: 'providingAssemblyContext' + { + match("providingAssemblyContext"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__136" + + // $ANTLR start "T__137" + public final void mT__137() throws RecognitionException { + try { + int _type = T__137; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:137:8: ( 'requiringAssemblyContext' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:137:10: 'requiringAssemblyContext' + { + match("requiringAssemblyContext"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__137" + + // $ANTLR start "T__138" + public final void mT__138() throws RecognitionException { + try { + int _type = T__138; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:138:8: ( 'ProvidedDelegationConnector' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:138:10: 'ProvidedDelegationConnector' + { + match("ProvidedDelegationConnector"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__138" + + // $ANTLR start "T__139" + public final void mT__139() throws RecognitionException { + try { + int _type = T__139; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:139:8: ( 'assemblyContext' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:139:10: 'assemblyContext' + { + match("assemblyContext"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__139" + + // $ANTLR start "T__140" + public final void mT__140() throws RecognitionException { + try { + int _type = T__140; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:140:8: ( 'innerProvidedRole' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:140:10: 'innerProvidedRole' + { + match("innerProvidedRole"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__140" + + // $ANTLR start "T__141" + public final void mT__141() throws RecognitionException { + try { + int _type = T__141; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:141:8: ( 'outerProvidedRole' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:141:10: 'outerProvidedRole' + { + match("outerProvidedRole"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__141" + + // $ANTLR start "T__142" + public final void mT__142() throws RecognitionException { + try { + int _type = T__142; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:142:8: ( 'RequiredDelegationConnector' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:142:10: 'RequiredDelegationConnector' + { + match("RequiredDelegationConnector"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__142" + + // $ANTLR start "T__143" + public final void mT__143() throws RecognitionException { + try { + int _type = T__143; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:143:8: ( 'innerRequiredRole' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:143:10: 'innerRequiredRole' + { + match("innerRequiredRole"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__143" + + // $ANTLR start "T__144" + public final void mT__144() throws RecognitionException { + try { + int _type = T__144; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:144:8: ( 'outerRequiredRole' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:144:10: 'outerRequiredRole' + { + match("outerRequiredRole"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__144" + + // $ANTLR start "T__145" + public final void mT__145() throws RecognitionException { + try { + int _type = T__145; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:145:8: ( 'ExternalCall' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:145:10: 'ExternalCall' + { + match("ExternalCall"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__145" + + // $ANTLR start "T__146" + public final void mT__146() throws RecognitionException { + try { + int _type = T__146; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:146:8: ( 'ExternalCallFrequency' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:146:10: 'ExternalCallFrequency' + { + match("ExternalCallFrequency"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__146" + + // $ANTLR start "T__147" + public final void mT__147() throws RecognitionException { + try { + int _type = T__147; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:147:8: ( 'frequency' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:147:10: 'frequency' + { + match("frequency"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__147" + + // $ANTLR start "T__148" + public final void mT__148() throws RecognitionException { + try { + int _type = T__148; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:148:8: ( 'CallFrequency' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:148:10: 'CallFrequency' + { + match("CallFrequency"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__148" + + // $ANTLR start "T__149" + public final void mT__149() throws RecognitionException { + try { + int _type = T__149; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:149:8: ( 'DependencyRelationship' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:149:10: 'DependencyRelationship' + { + match("DependencyRelationship"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__149" + + // $ANTLR start "T__150" + public final void mT__150() throws RecognitionException { + try { + int _type = T__150; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:150:8: ( 'surroundingEntity' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:150:10: 'surroundingEntity' + { + match("surroundingEntity"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__150" + + // $ANTLR start "T__151" + public final void mT__151() throws RecognitionException { + try { + int _type = T__151; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:151:8: ( 'influencedVariable' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:151:10: 'influencedVariable' + { + match("influencedVariable"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__151" + + // $ANTLR start "T__152" + public final void mT__152() throws RecognitionException { + try { + int _type = T__152; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:152:8: ( 'CorrelationRelationship' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:152:10: 'CorrelationRelationship' + { + match("CorrelationRelationship"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__152" + + // $ANTLR start "T__153" + public final void mT__153() throws RecognitionException { + try { + int _type = T__153; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:153:8: ( 'leftInfluencingParameter' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:153:10: 'leftInfluencingParameter' + { + match("leftInfluencingParameter"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__153" + + // $ANTLR start "T__154" + public final void mT__154() throws RecognitionException { + try { + int _type = T__154; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:154:8: ( 'rightInfluencingParameter' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:154:10: 'rightInfluencingParameter' + { + match("rightInfluencingParameter"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__154" + + // $ANTLR start "T__155" + public final void mT__155() throws RecognitionException { + try { + int _type = T__155; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:155:8: ( 'leftComponentInstanceReference' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:155:10: 'leftComponentInstanceReference' + { + match("leftComponentInstanceReference"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__155" + + // $ANTLR start "T__156" + public final void mT__156() throws RecognitionException { + try { + int _type = T__156; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:156:8: ( 'rightComponentInstanceReference' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:156:10: 'rightComponentInstanceReference' + { + match("rightComponentInstanceReference"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__156" + + // $ANTLR start "T__157" + public final void mT__157() throws RecognitionException { + try { + int _type = T__157; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:157:8: ( 'ComponentInstanceReference' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:157:10: 'ComponentInstanceReference' + { + match("ComponentInstanceReference"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__157" + + // $ANTLR start "T__158" + public final void mT__158() throws RecognitionException { + try { + int _type = T__158; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:158:8: ( 'assemblies' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:158:10: 'assemblies' + { + match("assemblies"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__158" + + // $ANTLR start "T__159" + public final void mT__159() throws RecognitionException { + try { + int _type = T__159; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:159:8: ( 'INT' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:159:10: 'INT' + { + match("INT"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__159" + + // $ANTLR start "T__160" + public final void mT__160() throws RecognitionException { + try { + int _type = T__160; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:160:8: ( 'STRING' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:160:10: 'STRING' + { + match("STRING"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__160" + + // $ANTLR start "T__161" + public final void mT__161() throws RecognitionException { + try { + int _type = T__161; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:161:8: ( 'BOOL' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:161:10: 'BOOL' + { + match("BOOL"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__161" + + // $ANTLR start "T__162" + public final void mT__162() throws RecognitionException { + try { + int _type = T__162; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:162:8: ( 'DOUBLE' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:162:10: 'DOUBLE' + { + match("DOUBLE"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__162" + + // $ANTLR start "T__163" + public final void mT__163() throws RecognitionException { + try { + int _type = T__163; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:163:8: ( 'CHAR' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:163:10: 'CHAR' + { + match("CHAR"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__163" + + // $ANTLR start "T__164" + public final void mT__164() throws RecognitionException { + try { + int _type = T__164; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:164:8: ( 'BYTE' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:164:10: 'BYTE' + { + match("BYTE"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__164" + + // $ANTLR start "T__165" + public final void mT__165() throws RecognitionException { + try { + int _type = T__165; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:165:8: ( 'LONG' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:165:10: 'LONG' + { + match("LONG"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__165" + + // $ANTLR start "T__166" + public final void mT__166() throws RecognitionException { + try { + int _type = T__166; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:166:8: ( 'NONE' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:166:10: 'NONE' + { + match("NONE"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__166" + + // $ANTLR start "T__167" + public final void mT__167() throws RecognitionException { + try { + int _type = T__167; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:167:8: ( 'IN' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:167:10: 'IN' + { + match("IN"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__167" + + // $ANTLR start "T__168" + public final void mT__168() throws RecognitionException { + try { + int _type = T__168; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:168:8: ( 'OUT' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:168:10: 'OUT' + { + match("OUT"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__168" + + // $ANTLR start "T__169" + public final void mT__169() throws RecognitionException { + try { + int _type = T__169; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:169:8: ( 'INOUT' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:169:10: 'INOUT' + { + match("INOUT"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__169" + + // $ANTLR start "T__170" + public final void mT__170() throws RecognitionException { + try { + int _type = T__170; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:170:8: ( 'VALUE' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:170:10: 'VALUE' + { + match("VALUE"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__170" + + // $ANTLR start "T__171" + public final void mT__171() throws RecognitionException { + try { + int _type = T__171; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:171:8: ( 'NUMBER_OF_ELEMENTS' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:171:10: 'NUMBER_OF_ELEMENTS' + { + match("NUMBER_OF_ELEMENTS"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__171" + + // $ANTLR start "RULE_ID" + public final void mRULE_ID() throws RecognitionException { + try { + int _type = RULE_ID; + int _channel = DEFAULT_TOKEN_CHANNEL; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8530:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8530:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8530:11: ( '^' )? + int alt1=2; + int LA1_0 = input.LA(1); + + if ( (LA1_0=='^') ) { + alt1=1; + } + switch (alt1) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8530: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;} + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8530:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + loop2: + do { + int alt2=2; + int LA2_0 = input.LA(1); + + if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='Z')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='z')) ) { + alt2=1; + } + + + switch (alt2) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.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 loop2; + } + } 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; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8532:10: ( ( '0' .. '9' )+ ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8532:12: ( '0' .. '9' )+ + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8532:12: ( '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 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8532:13: '0' .. '9' + { + matchRange('0','9'); + + } + break; + + default : + if ( cnt3 >= 1 ) break loop3; + EarlyExitException eee = + new EarlyExitException(3, input); + throw eee; + } + cnt3++; + } 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; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8534:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8534:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8534:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + int alt6=2; + int LA6_0 = input.LA(1); + + if ( (LA6_0=='\"') ) { + alt6=1; + } + else if ( (LA6_0=='\'') ) { + alt6=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 6, 0, input); + + throw nvae; + } + switch (alt6) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8534:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' + { + match('\"'); + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8534:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* + loop4: + do { + int alt4=3; + int LA4_0 = input.LA(1); + + if ( (LA4_0=='\\') ) { + alt4=1; + } + else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) { + alt4=2; + } + + + switch (alt4) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8534:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) + { + match('\\'); + if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + case 2 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8534:66: ~ ( ( '\\\\' | '\"' ) ) + { + 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 loop4; + } + } while (true); + + match('\"'); + + } + break; + case 2 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8534:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' + { + match('\''); + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8534:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* + loop5: + do { + int alt5=3; + int LA5_0 = input.LA(1); + + if ( (LA5_0=='\\') ) { + alt5=1; + } + else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=']' && LA5_0<='\uFFFF')) ) { + alt5=2; + } + + + switch (alt5) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8534:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) + { + match('\\'); + if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + case 2 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8534:137: ~ ( ( '\\\\' | '\\'' ) ) + { + 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 loop5; + } + } 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; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8536:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8536:19: '/*' ( options {greedy=false; } : . )* '*/' + { + match("/*"); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8536:24: ( options {greedy=false; } : . )* + loop7: + do { + int alt7=2; + int LA7_0 = input.LA(1); + + if ( (LA7_0=='*') ) { + int LA7_1 = input.LA(2); + + if ( (LA7_1=='/') ) { + alt7=2; + } + else if ( ((LA7_1>='\u0000' && LA7_1<='.')||(LA7_1>='0' && LA7_1<='\uFFFF')) ) { + alt7=1; + } + + + } + else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) { + alt7=1; + } + + + switch (alt7) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8536:52: . + { + matchAny(); + + } + break; + + default : + break loop7; + } + } 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; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8538:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8538:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + { + match("//"); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8538:24: (~ ( ( '\\n' | '\\r' ) ) )* + loop8: + do { + int alt8=2; + int LA8_0 = input.LA(1); + + if ( ((LA8_0>='\u0000' && LA8_0<='\t')||(LA8_0>='\u000B' && LA8_0<='\f')||(LA8_0>='\u000E' && LA8_0<='\uFFFF')) ) { + alt8=1; + } + + + switch (alt8) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8538: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 loop8; + } + } while (true); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8538:40: ( ( '\\r' )? '\\n' )? + int alt10=2; + int LA10_0 = input.LA(1); + + if ( (LA10_0=='\n'||LA10_0=='\r') ) { + alt10=1; + } + switch (alt10) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8538:41: ( '\\r' )? '\\n' + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8538:41: ( '\\r' )? + int alt9=2; + int LA9_0 = input.LA(1); + + if ( (LA9_0=='\r') ) { + alt9=1; + } + switch (alt9) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8538: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; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8540:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8540:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8540:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + int cnt11=0; + loop11: + do { + int alt11=2; + int LA11_0 = input.LA(1); + + if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) { + alt11=1; + } + + + switch (alt11) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.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 ( cnt11 >= 1 ) break loop11; + EarlyExitException eee = + new EarlyExitException(11, input); + throw eee; + } + cnt11++; + } 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; + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8542:16: ( . ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8542:18: . + { + matchAny(); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ANY_OTHER" + + public void mTokens() throws RecognitionException { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:8: ( T__11 | 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 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | T__123 | T__124 | T__125 | T__126 | T__127 | T__128 | T__129 | T__130 | T__131 | T__132 | T__133 | T__134 | T__135 | T__136 | T__137 | T__138 | T__139 | T__140 | T__141 | T__142 | T__143 | T__144 | T__145 | T__146 | T__147 | T__148 | T__149 | T__150 | T__151 | T__152 | T__153 | T__154 | T__155 | T__156 | T__157 | T__158 | T__159 | T__160 | T__161 | T__162 | T__163 | T__164 | T__165 | T__166 | T__167 | T__168 | T__169 | T__170 | T__171 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) + int alt12=168; + alt12 = dfa12.predict(input); + switch (alt12) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:10: T__11 + { + mT__11(); + + } + break; + case 2 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:16: T__12 + { + mT__12(); + + } + break; + case 3 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:22: T__13 + { + mT__13(); + + } + break; + case 4 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:28: T__14 + { + mT__14(); + + } + break; + case 5 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:34: T__15 + { + mT__15(); + + } + break; + case 6 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:40: T__16 + { + mT__16(); + + } + break; + case 7 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:46: T__17 + { + mT__17(); + + } + break; + case 8 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:52: T__18 + { + mT__18(); + + } + break; + case 9 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:58: T__19 + { + mT__19(); + + } + break; + case 10 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:64: T__20 + { + mT__20(); + + } + break; + case 11 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:70: T__21 + { + mT__21(); + + } + break; + case 12 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:76: T__22 + { + mT__22(); + + } + break; + case 13 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:82: T__23 + { + mT__23(); + + } + break; + case 14 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:88: T__24 + { + mT__24(); + + } + break; + case 15 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:94: T__25 + { + mT__25(); + + } + break; + case 16 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:100: T__26 + { + mT__26(); + + } + break; + case 17 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:106: T__27 + { + mT__27(); + + } + break; + case 18 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:112: T__28 + { + mT__28(); + + } + break; + case 19 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:118: T__29 + { + mT__29(); + + } + break; + case 20 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:124: T__30 + { + mT__30(); + + } + break; + case 21 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:130: T__31 + { + mT__31(); + + } + break; + case 22 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:136: T__32 + { + mT__32(); + + } + break; + case 23 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:142: T__33 + { + mT__33(); + + } + break; + case 24 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:148: T__34 + { + mT__34(); + + } + break; + case 25 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:154: T__35 + { + mT__35(); + + } + break; + case 26 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:160: T__36 + { + mT__36(); + + } + break; + case 27 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:166: T__37 + { + mT__37(); + + } + break; + case 28 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:172: T__38 + { + mT__38(); + + } + break; + case 29 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:178: T__39 + { + mT__39(); + + } + break; + case 30 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:184: T__40 + { + mT__40(); + + } + break; + case 31 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:190: T__41 + { + mT__41(); + + } + break; + case 32 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:196: T__42 + { + mT__42(); + + } + break; + case 33 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:202: T__43 + { + mT__43(); + + } + break; + case 34 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:208: T__44 + { + mT__44(); + + } + break; + case 35 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:214: T__45 + { + mT__45(); + + } + break; + case 36 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:220: T__46 + { + mT__46(); + + } + break; + case 37 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:226: T__47 + { + mT__47(); + + } + break; + case 38 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:232: T__48 + { + mT__48(); + + } + break; + case 39 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:238: T__49 + { + mT__49(); + + } + break; + case 40 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:244: T__50 + { + mT__50(); + + } + break; + case 41 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:250: T__51 + { + mT__51(); + + } + break; + case 42 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:256: T__52 + { + mT__52(); + + } + break; + case 43 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:262: T__53 + { + mT__53(); + + } + break; + case 44 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:268: T__54 + { + mT__54(); + + } + break; + case 45 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:274: T__55 + { + mT__55(); + + } + break; + case 46 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:280: T__56 + { + mT__56(); + + } + break; + case 47 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:286: T__57 + { + mT__57(); + + } + break; + case 48 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:292: T__58 + { + mT__58(); + + } + break; + case 49 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:298: T__59 + { + mT__59(); + + } + break; + case 50 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:304: T__60 + { + mT__60(); + + } + break; + case 51 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:310: T__61 + { + mT__61(); + + } + break; + case 52 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:316: T__62 + { + mT__62(); + + } + break; + case 53 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:322: T__63 + { + mT__63(); + + } + break; + case 54 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:328: T__64 + { + mT__64(); + + } + break; + case 55 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:334: T__65 + { + mT__65(); + + } + break; + case 56 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:340: T__66 + { + mT__66(); + + } + break; + case 57 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:346: T__67 + { + mT__67(); + + } + break; + case 58 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:352: T__68 + { + mT__68(); + + } + break; + case 59 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:358: T__69 + { + mT__69(); + + } + break; + case 60 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:364: T__70 + { + mT__70(); + + } + break; + case 61 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:370: T__71 + { + mT__71(); + + } + break; + case 62 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:376: T__72 + { + mT__72(); + + } + break; + case 63 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:382: T__73 + { + mT__73(); + + } + break; + case 64 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:388: T__74 + { + mT__74(); + + } + break; + case 65 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:394: T__75 + { + mT__75(); + + } + break; + case 66 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:400: T__76 + { + mT__76(); + + } + break; + case 67 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:406: T__77 + { + mT__77(); + + } + break; + case 68 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:412: T__78 + { + mT__78(); + + } + break; + case 69 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:418: T__79 + { + mT__79(); + + } + break; + case 70 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:424: T__80 + { + mT__80(); + + } + break; + case 71 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:430: T__81 + { + mT__81(); + + } + break; + case 72 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:436: T__82 + { + mT__82(); + + } + break; + case 73 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:442: T__83 + { + mT__83(); + + } + break; + case 74 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:448: T__84 + { + mT__84(); + + } + break; + case 75 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:454: T__85 + { + mT__85(); + + } + break; + case 76 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:460: T__86 + { + mT__86(); + + } + break; + case 77 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:466: T__87 + { + mT__87(); + + } + break; + case 78 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:472: T__88 + { + mT__88(); + + } + break; + case 79 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:478: T__89 + { + mT__89(); + + } + break; + case 80 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:484: T__90 + { + mT__90(); + + } + break; + case 81 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:490: T__91 + { + mT__91(); + + } + break; + case 82 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:496: T__92 + { + mT__92(); + + } + break; + case 83 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:502: T__93 + { + mT__93(); + + } + break; + case 84 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:508: T__94 + { + mT__94(); + + } + break; + case 85 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:514: T__95 + { + mT__95(); + + } + break; + case 86 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:520: T__96 + { + mT__96(); + + } + break; + case 87 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:526: T__97 + { + mT__97(); + + } + break; + case 88 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:532: T__98 + { + mT__98(); + + } + break; + case 89 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:538: T__99 + { + mT__99(); + + } + break; + case 90 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:544: T__100 + { + mT__100(); + + } + break; + case 91 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:551: T__101 + { + mT__101(); + + } + break; + case 92 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:558: T__102 + { + mT__102(); + + } + break; + case 93 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:565: T__103 + { + mT__103(); + + } + break; + case 94 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:572: T__104 + { + mT__104(); + + } + break; + case 95 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:579: T__105 + { + mT__105(); + + } + break; + case 96 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:586: T__106 + { + mT__106(); + + } + break; + case 97 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:593: T__107 + { + mT__107(); + + } + break; + case 98 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:600: T__108 + { + mT__108(); + + } + break; + case 99 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:607: T__109 + { + mT__109(); + + } + break; + case 100 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:614: T__110 + { + mT__110(); + + } + break; + case 101 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:621: T__111 + { + mT__111(); + + } + break; + case 102 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:628: T__112 + { + mT__112(); + + } + break; + case 103 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:635: T__113 + { + mT__113(); + + } + break; + case 104 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:642: T__114 + { + mT__114(); + + } + break; + case 105 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:649: T__115 + { + mT__115(); + + } + break; + case 106 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:656: T__116 + { + mT__116(); + + } + break; + case 107 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:663: T__117 + { + mT__117(); + + } + break; + case 108 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:670: T__118 + { + mT__118(); + + } + break; + case 109 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:677: T__119 + { + mT__119(); + + } + break; + case 110 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:684: T__120 + { + mT__120(); + + } + break; + case 111 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:691: T__121 + { + mT__121(); + + } + break; + case 112 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:698: T__122 + { + mT__122(); + + } + break; + case 113 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:705: T__123 + { + mT__123(); + + } + break; + case 114 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:712: T__124 + { + mT__124(); + + } + break; + case 115 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:719: T__125 + { + mT__125(); + + } + break; + case 116 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:726: T__126 + { + mT__126(); + + } + break; + case 117 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:733: T__127 + { + mT__127(); + + } + break; + case 118 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:740: T__128 + { + mT__128(); + + } + break; + case 119 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:747: T__129 + { + mT__129(); + + } + break; + case 120 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:754: T__130 + { + mT__130(); + + } + break; + case 121 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:761: T__131 + { + mT__131(); + + } + break; + case 122 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:768: T__132 + { + mT__132(); + + } + break; + case 123 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:775: T__133 + { + mT__133(); + + } + break; + case 124 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:782: T__134 + { + mT__134(); + + } + break; + case 125 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:789: T__135 + { + mT__135(); + + } + break; + case 126 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:796: T__136 + { + mT__136(); + + } + break; + case 127 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:803: T__137 + { + mT__137(); + + } + break; + case 128 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:810: T__138 + { + mT__138(); + + } + break; + case 129 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:817: T__139 + { + mT__139(); + + } + break; + case 130 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:824: T__140 + { + mT__140(); + + } + break; + case 131 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:831: T__141 + { + mT__141(); + + } + break; + case 132 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:838: T__142 + { + mT__142(); + + } + break; + case 133 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:845: T__143 + { + mT__143(); + + } + break; + case 134 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:852: T__144 + { + mT__144(); + + } + break; + case 135 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:859: T__145 + { + mT__145(); + + } + break; + case 136 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:866: T__146 + { + mT__146(); + + } + break; + case 137 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:873: T__147 + { + mT__147(); + + } + break; + case 138 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:880: T__148 + { + mT__148(); + + } + break; + case 139 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:887: T__149 + { + mT__149(); + + } + break; + case 140 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:894: T__150 + { + mT__150(); + + } + break; + case 141 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:901: T__151 + { + mT__151(); + + } + break; + case 142 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:908: T__152 + { + mT__152(); + + } + break; + case 143 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:915: T__153 + { + mT__153(); + + } + break; + case 144 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:922: T__154 + { + mT__154(); + + } + break; + case 145 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:929: T__155 + { + mT__155(); + + } + break; + case 146 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:936: T__156 + { + mT__156(); + + } + break; + case 147 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:943: T__157 + { + mT__157(); + + } + break; + case 148 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:950: T__158 + { + mT__158(); + + } + break; + case 149 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:957: T__159 + { + mT__159(); + + } + break; + case 150 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:964: T__160 + { + mT__160(); + + } + break; + case 151 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:971: T__161 + { + mT__161(); + + } + break; + case 152 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:978: T__162 + { + mT__162(); + + } + break; + case 153 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:985: T__163 + { + mT__163(); + + } + break; + case 154 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:992: T__164 + { + mT__164(); + + } + break; + case 155 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:999: T__165 + { + mT__165(); + + } + break; + case 156 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:1006: T__166 + { + mT__166(); + + } + break; + case 157 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:1013: T__167 + { + mT__167(); + + } + break; + case 158 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:1020: T__168 + { + mT__168(); + + } + break; + case 159 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:1027: T__169 + { + mT__169(); + + } + break; + case 160 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:1034: T__170 + { + mT__170(); + + } + break; + case 161 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:1041: T__171 + { + mT__171(); + + } + break; + case 162 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:1048: RULE_ID + { + mRULE_ID(); + + } + break; + case 163 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:1056: RULE_INT + { + mRULE_INT(); + + } + break; + case 164 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:1065: RULE_STRING + { + mRULE_STRING(); + + } + break; + case 165 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:1077: RULE_ML_COMMENT + { + mRULE_ML_COMMENT(); + + } + break; + case 166 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:1093: RULE_SL_COMMENT + { + mRULE_SL_COMMENT(); + + } + break; + case 167 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:1109: RULE_WS + { + mRULE_WS(); + + } + break; + case 168 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1:1117: RULE_ANY_OTHER + { + mRULE_ANY_OTHER(); + + } + break; + + } + + } + + + protected DFA12 dfa12 = new DFA12(this); + static final String DFA12_eotS = + "\1\uffff\1\60\1\uffff\2\60\2\uffff\4\60\2\uffff\22\60\1\uffff\2"+ + "\60\1\uffff\4\60\1\56\2\uffff\3\56\2\uffff\1\60\2\uffff\3\60\2\uffff"+ + "\5\60\1\u0096\2\60\2\uffff\31\60\1\u00bf\30\60\1\uffff\4\60\1\uffff"+ + "\5\60\5\uffff\21\60\1\u00f4\1\60\1\uffff\50\60\1\uffff\40\60\1\u0146"+ + "\6\60\1\u014d\14\60\1\uffff\23\60\1\u016e\14\60\1\u017b\6\60\1\u0182"+ + "\15\60\1\u0190\1\u0191\20\60\1\u01a3\3\60\1\u01a9\5\60\1\uffff\6"+ + "\60\1\uffff\15\60\1\u01c6\10\60\1\u01cf\1\u01d0\10\60\1\uffff\14"+ + "\60\1\uffff\6\60\1\uffff\2\60\1\u01ef\12\60\2\uffff\21\60\1\uffff"+ + "\5\60\1\uffff\1\60\1\u0211\3\60\1\u0216\26\60\1\uffff\10\60\2\uffff"+ + "\2\60\1\u023a\33\60\1\uffff\3\60\1\u025c\1\u025d\34\60\1\uffff\3"+ + "\60\1\u027f\1\uffff\43\60\1\uffff\41\60\2\uffff\15\60\1\u02d2\23"+ + "\60\1\uffff\6\60\1\u02ed\13\60\1\u02fa\31\60\1\u0316\1\60\1\u0318"+ + "\25\60\1\u032f\5\60\1\u0335\7\60\1\uffff\31\60\1\u0357\1\uffff\2"+ + "\60\1\u035d\1\u035e\10\60\1\uffff\1\u0367\5\60\1\u036e\7\60\1\u0377"+ + "\1\u0378\13\60\1\uffff\1\60\1\uffff\17\60\1\u0395\1\60\1\u0397\1"+ + "\u0398\3\60\1\uffff\5\60\1\uffff\5\60\1\u03a6\25\60\1\u03bd\5\60"+ + "\1\uffff\3\60\1\u03c6\1\60\2\uffff\5\60\1\u03cd\2\60\1\uffff\5\60"+ + "\1\u03d5\1\uffff\7\60\1\u03de\2\uffff\5\60\1\u03e4\26\60\1\uffff"+ + "\1\60\2\uffff\2\60\1\u03ff\12\60\1\uffff\1\60\1\u040b\3\60\1\u040f"+ + "\4\60\1\u0414\13\60\1\uffff\7\60\1\u0427\1\uffff\6\60\1\uffff\6"+ + "\60\1\u0434\1\uffff\6\60\1\u043b\1\u043c\1\uffff\5\60\1\uffff\31"+ + "\60\1\u045d\1\uffff\13\60\1\uffff\3\60\1\uffff\4\60\1\uffff\13\60"+ + "\1\u047d\6\60\1\uffff\14\60\1\uffff\1\60\1\u0492\4\60\2\uffff\1"+ + "\60\1\u0498\1\u049a\26\60\1\u04b1\6\60\1\uffff\2\60\1\u04ba\2\60"+ + "\1\u04be\6\60\1\u04c9\22\60\1\uffff\3\60\1\u04df\17\60\1\u04ef\1"+ + "\uffff\3\60\1\u04f3\1\60\1\uffff\1\u04f5\1\uffff\21\60\1\u0507\2"+ + "\60\1\u050a\1\60\1\uffff\10\60\1\uffff\3\60\1\uffff\1\u0517\11\60"+ + "\1\uffff\3\60\1\u0524\21\60\1\uffff\12\60\1\u0540\4\60\1\uffff\3"+ + "\60\1\uffff\1\60\1\uffff\7\60\1\u0550\1\60\1\u0552\7\60\1\uffff"+ + "\2\60\1\uffff\10\60\1\u0564\3\60\1\uffff\13\60\1\u0573\1\uffff\22"+ + "\60\1\u0586\10\60\1\uffff\3\60\1\u0594\13\60\1\uffff\1\60\1\uffff"+ + "\21\60\1\uffff\5\60\1\u05b8\1\u05ba\7\60\1\uffff\1\u05c2\21\60\1"+ + "\uffff\7\60\1\u05db\1\u05dc\1\60\1\u05de\1\u05df\1\60\1\uffff\12"+ + "\60\1\u05eb\10\60\1\u05f4\11\60\1\u05fe\1\u05ff\4\60\1\uffff\1\u0604"+ + "\1\uffff\7\60\1\uffff\3\60\1\u060f\16\60\1\u061e\1\u061f\1\u0620"+ + "\3\60\2\uffff\1\60\2\uffff\4\60\1\u0629\6\60\1\uffff\2\60\1\u0632"+ + "\5\60\1\uffff\1\60\1\u0639\7\60\2\uffff\4\60\1\uffff\7\60\1\u064c"+ + "\2\60\1\uffff\5\60\1\u0654\1\u0655\5\60\1\u065b\1\60\3\uffff\1\60"+ + "\1\u065e\6\60\1\uffff\7\60\1\u066c\1\uffff\1\u066d\5\60\1\uffff"+ + "\13\60\1\u067e\2\60\1\u0681\3\60\1\uffff\5\60\1\u068a\1\u068b\2"+ + "\uffff\1\60\1\u068d\3\60\1\uffff\2\60\1\uffff\2\60\1\u0695\11\60"+ + "\1\u069f\2\uffff\14\60\1\u06ac\2\60\1\u06af\1\uffff\2\60\1\uffff"+ + "\2\60\1\u06b4\5\60\2\uffff\1\60\1\uffff\4\60\1\u06bf\1\60\1\u06c1"+ + "\1\uffff\11\60\1\uffff\14\60\1\uffff\2\60\1\uffff\4\60\1\uffff\12"+ + "\60\1\uffff\1\u06e7\1\uffff\14\60\1\u06f4\7\60\1\u06fc\1\u06fd\1"+ + "\u06fe\1\60\1\u0700\1\u0701\13\60\1\uffff\2\60\1\u070f\11\60\1\uffff"+ + "\2\60\1\u071b\4\60\3\uffff\1\60\2\uffff\6\60\1\u0727\6\60\1\uffff"+ + "\11\60\1\u0737\1\60\1\uffff\1\u0739\2\60\1\u073c\1\60\1\u073e\5"+ + "\60\1\uffff\5\60\1\u0749\1\60\1\u074b\7\60\1\uffff\1\60\1\uffff"+ + "\2\60\1\uffff\1\60\1\uffff\3\60\1\u075a\2\60\1\u075d\3\60\1\uffff"+ + "\1\60\1\uffff\1\u0762\1\60\1\u0764\1\60\1\u0766\11\60\1\uffff\2"+ + "\60\1\uffff\4\60\1\uffff\1\60\1\uffff\1\60\1\uffff\1\u0778\2\60"+ + "\1\u077b\2\60\1\u077e\3\60\1\u0782\1\u0783\3\60\1\u0787\1\60\1\uffff"+ + "\1\60\1\u078a\1\uffff\1\60\1\u078c\1\uffff\3\60\2\uffff\1\60\1\u0791"+ + "\1\u0792\1\uffff\2\60\1\uffff\1\u0795\1\uffff\4\60\2\uffff\1\60"+ + "\1\u079b\1\uffff\5\60\1\uffff\1\u07a1\1\u07a2\1\u07a3\1\60\1\u07a5"+ + "\3\uffff\1\60\1\uffff\1\u07a7\1\uffff"; + static final String DFA12_eofS = + "\u07a8\uffff"; + static final String DFA12_minS = + "\1\0\1\145\1\uffff\2\141\2\uffff\1\156\1\141\1\116\1\141\2\uffff"+ + "\3\141\1\110\1\141\1\171\1\124\1\157\1\117\1\156\1\151\1\143\1\170"+ + "\1\151\1\142\1\151\1\117\1\145\1\uffff\1\117\1\141\1\uffff\1\165"+ + "\1\117\1\125\2\101\2\uffff\2\0\1\52\2\uffff\1\154\2\uffff\1\155"+ + "\1\164\1\163\2\uffff\1\146\2\141\1\160\1\146\1\60\1\162\1\145\2"+ + "\uffff\1\147\1\157\1\143\1\155\1\154\1\164\1\147\1\141\1\150\1\163"+ + "\2\141\1\154\1\101\1\151\1\162\1\160\1\147\1\142\1\157\1\162\1\141"+ + "\1\155\1\122\1\144\1\60\1\141\1\163\1\141\1\170\1\117\1\124\1\164"+ + "\1\143\1\156\1\162\1\145\1\163\1\164\1\160\1\156\1\162\1\163\1\161"+ + "\1\163\1\164\1\157\1\116\1\157\1\146\1\uffff\1\162\1\116\1\115\1"+ + "\154\1\uffff\1\164\1\160\1\125\1\124\1\114\5\uffff\1\157\1\165\1"+ + "\157\2\145\1\141\1\143\2\145\1\154\1\160\2\162\1\141\2\145\1\154"+ + "\1\60\1\125\1\uffff\1\141\1\163\1\142\1\144\1\155\1\160\1\143\1"+ + "\162\1\160\1\141\2\165\1\157\1\145\1\150\1\143\1\141\1\151\1\156"+ + "\1\154\1\155\1\162\1\164\1\162\1\154\1\122\1\155\1\142\1\141\1\163"+ + "\1\145\1\156\1\123\1\160\1\166\1\162\2\160\1\111\1\151\1\uffff\1"+ + "\143\1\151\1\156\1\145\1\114\1\105\1\145\1\141\1\145\1\153\1\161"+ + "\1\145\1\151\1\145\1\157\1\145\1\153\1\164\1\165\1\145\1\150\1\160"+ + "\1\107\1\160\1\164\1\155\1\105\1\102\1\165\2\145\1\102\1\60\1\125"+ + "\1\163\1\151\1\157\1\165\1\141\1\60\1\124\3\162\1\165\1\157\1\163"+ + "\1\141\1\143\2\162\1\165\1\uffff\1\124\1\156\1\155\2\151\1\145\1"+ + "\141\1\145\2\141\2\145\1\157\1\154\1\164\1\151\1\162\1\157\1\165"+ + "\1\60\1\164\1\153\1\166\2\143\1\145\1\157\1\165\1\163\1\151\1\145"+ + "\1\106\1\60\2\151\1\145\1\141\1\155\1\151\1\60\1\141\1\171\1\145"+ + "\1\151\1\164\1\101\1\154\1\116\1\146\1\153\2\143\1\144\2\60\1\162"+ + "\1\160\1\107\1\145\1\165\1\155\1\157\1\162\1\156\1\107\1\101\1\162"+ + "\1\151\1\155\1\123\1\101\1\60\1\102\1\103\1\141\1\60\1\105\1\145"+ + "\1\162\1\156\1\114\1\uffff\1\105\1\151\1\162\1\156\1\162\1\163\1"+ + "\uffff\2\171\1\151\1\146\1\104\1\145\1\156\1\145\1\143\1\151\1\146"+ + "\1\104\1\145\1\60\1\164\1\145\1\166\1\144\1\163\1\142\1\143\1\164"+ + "\2\60\1\163\1\165\1\145\1\151\1\162\2\156\1\162\1\uffff\1\103\1"+ + "\102\1\151\1\103\1\150\1\143\2\156\1\145\1\156\1\154\1\162\1\uffff"+ + "\1\164\1\144\1\163\1\142\1\145\1\166\1\uffff\1\164\1\163\1\60\1"+ + "\143\1\101\1\143\1\145\1\107\1\151\1\102\1\103\1\150\1\120\2\uffff"+ + "\1\156\1\163\1\162\1\144\1\145\1\142\2\156\1\145\1\162\1\143\1\141"+ + "\1\162\1\142\1\171\1\143\1\164\1\uffff\1\157\1\164\1\156\1\157\1"+ + "\154\1\uffff\1\122\1\60\1\120\1\144\1\105\1\60\1\164\1\145\1\163"+ + "\1\143\1\145\2\160\1\142\1\141\1\171\1\145\1\162\1\145\1\156\1\145"+ + "\1\107\2\164\2\141\1\145\1\156\1\uffff\1\111\1\164\2\145\1\163\1"+ + "\151\1\145\1\165\2\uffff\1\163\1\156\1\60\1\157\1\145\1\124\1\163"+ + "\1\143\1\156\4\157\1\102\1\164\1\151\1\145\1\151\1\107\1\165\1\141"+ + "\1\145\1\151\1\145\1\163\1\151\1\164\1\145\1\165\1\164\1\uffff\1"+ + "\145\1\143\1\164\2\60\1\145\2\157\1\101\1\104\1\141\1\165\1\141"+ + "\1\102\1\156\1\154\1\163\1\141\1\156\1\141\1\164\1\143\1\145\1\154"+ + "\1\156\1\164\1\145\1\144\1\145\1\146\1\155\1\104\1\137\1\uffff\1"+ + "\162\2\145\1\60\1\uffff\1\157\1\144\2\145\1\101\3\145\1\164\1\143"+ + "\1\160\1\143\1\157\1\161\1\143\1\156\1\162\1\145\1\171\1\143\1\154"+ + "\2\143\1\156\1\171\1\145\1\122\1\144\1\156\1\151\1\154\1\163\1\162"+ + "\1\157\1\144\1\uffff\1\156\1\144\1\156\1\171\2\145\1\146\1\155\1"+ + "\170\1\162\1\155\1\163\1\162\1\145\1\151\1\164\1\156\1\143\1\162"+ + "\1\157\1\164\1\161\1\166\1\144\1\151\1\154\1\145\1\122\1\162\1\145"+ + "\1\111\1\164\1\151\2\uffff\1\162\1\170\1\155\1\143\2\162\1\106\2"+ + "\154\1\151\1\145\1\143\1\151\1\60\1\154\1\164\2\151\1\164\1\101"+ + "\1\171\1\143\1\151\1\162\1\171\1\162\1\154\1\160\1\151\1\117\1\157"+ + "\1\161\1\156\1\uffff\1\162\1\104\1\124\1\104\1\143\1\163\1\60\1"+ + "\144\1\151\2\145\1\154\1\166\1\165\1\145\1\164\1\141\1\162\1\60"+ + "\1\145\1\101\1\154\1\151\1\164\1\160\1\162\1\145\1\104\1\147\1\156"+ + "\1\151\1\163\1\145\1\162\1\151\1\163\1\104\1\147\1\160\1\124\1\104"+ + "\1\154\1\160\1\102\1\60\1\160\1\60\1\157\1\150\1\157\1\145\1\164"+ + "\2\141\1\165\1\151\1\165\1\145\1\104\1\156\1\151\1\162\2\145\1\155"+ + "\1\156\1\151\1\157\1\60\1\102\1\160\1\164\1\141\1\157\1\60\1\103"+ + "\1\141\1\156\1\150\1\171\1\103\1\145\1\uffff\1\103\1\151\1\156\1"+ + "\157\1\101\1\143\1\103\1\150\1\157\1\141\1\102\1\141\1\165\1\157"+ + "\1\163\1\106\1\166\1\165\1\143\1\171\1\157\1\145\1\151\1\145\1\164"+ + "\1\60\1\uffff\1\105\1\157\2\60\1\141\2\151\1\156\1\144\1\163\2\151"+ + "\1\uffff\1\60\1\143\1\141\1\156\2\145\1\60\1\163\1\157\1\145\1\101"+ + "\1\147\1\164\1\157\2\60\1\156\1\150\1\157\1\145\1\101\1\145\1\151"+ + "\1\145\1\165\1\157\1\145\1\uffff\1\157\1\uffff\1\142\1\141\1\156"+ + "\1\103\1\111\1\164\1\151\1\163\1\157\1\145\1\104\1\157\1\145\1\147"+ + "\1\164\1\60\1\163\2\60\1\160\1\157\1\156\1\uffff\1\145\1\157\1\151"+ + "\1\156\1\142\1\uffff\1\141\1\103\1\164\1\145\1\141\1\60\1\157\1"+ + "\163\2\141\1\145\1\156\1\143\1\164\1\157\1\162\1\156\1\164\1\145"+ + "\1\164\1\145\1\156\1\164\1\137\2\151\1\171\1\60\2\154\2\155\1\151"+ + "\1\uffff\1\151\2\156\1\60\1\162\2\uffff\1\162\1\144\1\162\1\147"+ + "\1\126\1\60\1\156\1\172\1\uffff\1\164\1\162\1\147\1\162\1\163\1"+ + "\60\1\uffff\1\157\2\154\1\163\1\122\1\151\1\162\1\60\2\uffff\1\147"+ + "\1\151\2\154\1\163\1\60\2\155\1\145\1\156\1\150\1\156\1\141\1\166"+ + "\1\104\1\141\1\157\1\156\1\151\1\156\1\120\2\156\1\141\2\154\1\122"+ + "\1\171\1\uffff\1\157\2\uffff\1\165\1\156\1\60\1\150\1\156\1\157"+ + "\1\163\1\141\1\154\1\141\1\145\1\144\1\166\1\uffff\1\156\1\60\2"+ + "\154\1\144\1\60\1\164\1\151\1\156\1\157\1\60\1\151\1\150\1\151\1"+ + "\156\1\145\1\162\1\105\1\144\1\162\1\122\1\157\1\uffff\3\145\1\141"+ + "\1\157\1\147\1\164\1\60\1\uffff\1\157\1\141\2\145\1\120\1\141\1"+ + "\uffff\1\145\1\141\1\151\1\141\1\120\1\146\1\60\1\uffff\1\165\2"+ + "\145\1\163\2\145\2\60\1\uffff\1\105\1\160\2\145\1\163\1\uffff\1"+ + "\145\1\141\1\156\1\145\1\141\1\145\1\142\1\151\1\141\1\164\1\155"+ + "\1\163\1\157\1\145\1\104\1\141\1\122\1\143\1\164\3\145\1\104\1\165"+ + "\1\164\1\60\1\uffff\1\141\1\145\1\156\1\151\1\142\2\154\1\144\1"+ + "\102\1\151\1\156\1\uffff\1\154\1\104\1\102\1\uffff\1\151\1\157\2"+ + "\156\1\uffff\1\157\1\141\1\157\1\143\1\156\1\151\1\114\3\145\1\155"+ + "\1\60\1\147\1\123\3\156\1\151\1\uffff\1\166\1\164\2\144\1\141\1"+ + "\162\1\144\1\164\1\157\1\164\2\141\1\uffff\1\162\1\60\1\147\1\145"+ + "\2\163\2\uffff\1\156\2\60\1\147\1\145\1\123\1\156\1\143\1\156\1"+ + "\166\1\156\1\151\1\157\1\164\1\141\1\160\1\145\1\164\1\156\1\144"+ + "\1\106\1\155\1\145\1\171\1\141\1\60\1\147\1\163\1\141\1\145\1\162"+ + "\1\120\1\uffff\1\166\1\156\1\60\1\164\1\151\1\60\1\154\1\103\1\145"+ + "\1\157\2\145\1\60\1\151\1\145\1\157\1\156\2\145\1\151\1\156\1\166"+ + "\1\156\1\151\1\164\1\142\1\105\2\144\1\154\1\160\1\uffff\1\141\1"+ + "\160\1\144\1\60\1\141\1\164\2\151\2\122\1\162\1\151\1\102\1\151"+ + "\1\156\1\151\1\162\2\143\1\60\1\uffff\1\141\1\155\1\157\1\60\1\164"+ + "\1\uffff\1\60\1\uffff\1\141\1\155\1\160\1\144\1\151\1\164\1\151"+ + "\1\164\1\154\1\162\1\141\1\124\1\157\1\162\1\141\1\114\1\102\1\60"+ + "\1\160\1\154\1\60\1\124\1\uffff\1\141\1\157\1\163\1\156\1\143\1"+ + "\141\1\151\1\164\1\uffff\1\151\1\154\1\162\1\uffff\1\60\1\157\1"+ + "\150\1\162\1\170\1\143\1\145\1\141\1\143\1\162\1\uffff\1\163\1\150"+ + "\1\156\1\60\1\170\1\143\1\172\1\103\1\151\1\103\1\156\1\111\1\165"+ + "\1\115\2\122\1\141\1\157\1\164\1\145\1\123\1\uffff\1\164\1\171\1"+ + "\144\3\157\2\141\1\145\1\157\1\60\1\157\1\141\2\145\1\uffff\1\164"+ + "\1\142\1\165\1\uffff\1\151\1\uffff\1\164\1\142\1\145\1\123\1\156"+ + "\1\111\1\157\1\60\1\151\1\60\1\124\1\171\3\156\1\151\1\145\1\uffff"+ + "\1\154\1\141\1\uffff\1\171\1\164\1\165\2\163\1\145\1\162\1\157\1"+ + "\60\1\157\1\151\1\145\1\uffff\1\155\1\141\1\163\3\164\1\162\1\164"+ + "\1\145\1\164\1\141\1\60\1\uffff\2\164\1\141\3\157\1\147\1\156\1"+ + "\164\1\105\2\157\1\164\1\156\1\151\1\143\1\160\1\165\1\60\1\151"+ + "\1\156\2\154\1\155\1\142\1\150\1\156\1\uffff\1\156\1\155\1\163\1"+ + "\60\1\151\1\154\1\162\1\164\1\151\1\154\1\143\1\160\1\147\1\156"+ + "\1\162\1\uffff\1\164\1\uffff\1\171\1\160\1\145\1\141\1\143\1\156"+ + "\1\150\1\145\1\164\1\160\1\151\1\162\1\106\1\151\1\103\1\141\1\162"+ + "\1\uffff\1\156\1\164\1\161\1\160\1\166\2\60\1\157\1\165\1\141\1"+ + "\151\1\161\1\162\1\166\1\uffff\1\60\1\157\1\164\1\165\1\162\1\165"+ + "\1\120\1\163\1\151\1\116\2\154\1\151\1\145\1\157\1\151\1\145\1\162"+ + "\1\uffff\1\156\1\163\3\145\1\154\1\141\2\60\1\145\2\60\1\171\1\uffff"+ + "\1\157\1\171\1\143\1\171\1\157\1\171\1\151\1\145\1\120\1\163\1\60"+ + "\1\151\1\160\1\145\1\156\1\154\1\145\1\153\1\141\1\60\1\151\1\145"+ + "\1\157\1\143\1\165\1\164\1\160\1\141\1\155\2\60\1\151\1\165\1\157"+ + "\1\151\1\uffff\1\60\1\uffff\2\162\1\155\1\157\1\165\2\151\1\uffff"+ + "\1\162\1\151\1\156\1\60\1\156\1\141\1\164\1\157\1\124\2\145\1\157"+ + "\2\156\1\146\1\143\1\145\1\147\3\60\1\164\1\145\1\166\2\uffff\1"+ + "\164\2\uffff\1\160\1\156\1\103\1\145\1\60\1\156\1\103\1\146\1\143"+ + "\1\141\1\164\1\uffff\2\145\1\60\1\164\1\102\2\122\1\166\1\uffff"+ + "\1\157\1\60\1\156\1\145\1\156\1\171\1\145\1\160\1\145\2\uffff\2"+ + "\145\1\156\1\157\1\uffff\1\163\1\156\1\145\1\156\1\145\1\142\1\157"+ + "\1\60\1\157\1\164\1\uffff\1\164\1\162\1\141\1\156\1\123\2\60\1\156"+ + "\1\164\1\103\2\151\1\60\1\122\3\uffff\1\145\1\60\1\151\2\145\1\103"+ + "\1\157\1\124\1\uffff\1\103\1\157\2\151\1\162\1\141\1\163\1\60\1"+ + "\uffff\1\60\3\145\1\151\1\156\1\uffff\1\103\1\124\1\143\1\106\1"+ + "\143\1\141\1\164\1\163\1\156\1\145\1\162\1\60\1\120\1\164\1\60\1"+ + "\156\1\165\1\162\1\uffff\1\156\2\104\1\141\1\156\2\60\2\uffff\1"+ + "\163\1\60\1\157\1\143\1\146\1\uffff\1\145\1\162\1\uffff\1\157\1"+ + "\162\1\60\1\157\1\156\1\171\1\157\1\156\1\143\1\146\1\141\1\156"+ + "\1\60\2\uffff\1\150\1\146\1\163\1\157\1\163\1\157\1\171\1\164\1"+ + "\165\1\151\1\143\1\145\1\60\1\143\1\156\1\60\1\uffff\1\141\1\145"+ + "\1\uffff\1\143\1\164\1\60\1\102\2\151\1\155\1\143\2\uffff\1\150"+ + "\1\uffff\1\156\1\141\1\151\1\161\1\60\1\162\1\60\1\uffff\1\156\1"+ + "\164\1\160\1\156\1\164\1\141\1\151\1\155\1\143\1\uffff\1\141\1\145"+ + "\1\157\1\162\1\150\1\156\1\160\1\151\1\156\1\146\1\151\1\162\1\uffff"+ + "\1\171\1\164\1\uffff\2\162\1\171\1\151\1\uffff\1\141\2\163\2\145"+ + "\1\151\1\156\1\164\1\143\1\165\1\uffff\1\60\1\uffff\1\156\2\145"+ + "\1\156\1\145\1\164\1\143\2\145\1\166\1\162\1\165\1\60\1\151\1\156"+ + "\1\145\1\157\1\143\1\151\1\164\3\60\1\141\2\60\1\157\1\162\3\164"+ + "\1\122\1\160\1\145\1\151\1\141\1\151\1\uffff\1\145\1\170\1\60\1"+ + "\145\1\170\1\151\1\141\1\164\1\122\1\151\1\145\1\162\1\uffff\1\160"+ + "\1\145\1\60\1\156\1\164\1\143\1\171\3\uffff\1\155\2\uffff\1\156"+ + "\3\162\2\145\1\60\1\143\1\157\1\164\1\162\1\143\1\164\1\uffff\1"+ + "\143\1\164\1\157\1\164\2\145\1\157\1\156\1\143\1\60\1\143\1\uffff"+ + "\1\60\1\151\1\141\1\60\1\145\1\60\3\151\1\162\1\146\1\uffff\1\164"+ + "\1\156\2\151\1\164\1\60\1\164\1\60\1\156\1\151\1\162\1\146\1\162"+ + "\1\143\1\145\1\uffff\1\164\1\uffff\1\157\1\164\1\uffff\1\164\1\uffff"+ + "\1\145\2\142\1\60\1\145\1\157\1\60\1\157\1\156\1\157\1\uffff\1\157"+ + "\1\uffff\1\60\1\157\1\60\1\145\1\60\1\145\1\124\1\157\1\156\1\151"+ + "\1\145\1\162\2\165\1\uffff\2\162\1\uffff\1\156\1\147\2\162\1\uffff"+ + "\1\156\1\uffff\1\162\1\uffff\1\60\1\171\1\162\1\60\1\157\1\162\1"+ + "\60\2\164\1\145\2\60\1\105\2\163\1\60\1\145\1\uffff\1\160\1\60\1"+ + "\uffff\1\156\1\60\1\uffff\2\151\1\156\2\uffff\1\156\2\60\1\uffff"+ + "\1\156\1\145\1\uffff\1\60\1\uffff\2\157\1\143\1\164\2\uffff\1\143"+ + "\1\60\1\uffff\2\156\1\145\1\151\1\145\1\uffff\3\60\1\164\1\60\3"+ + "\uffff\1\171\1\uffff\1\60\1\uffff"; + static final String DFA12_maxS = + "\1\uffff\1\145\1\uffff\1\141\1\145\2\uffff\1\156\1\157\1\156\1\162"+ + "\2\uffff\1\165\1\151\1\162\1\157\1\162\1\171\2\165\1\162\1\170\1"+ + "\162\1\163\1\170\1\157\1\163\1\151\2\157\1\uffff\1\157\1\141\1\uffff"+ + "\1\165\1\145\1\125\1\101\1\172\2\uffff\2\uffff\1\57\2\uffff\1\163"+ + "\2\uffff\1\155\1\164\1\163\2\uffff\1\164\1\155\1\141\1\160\1\164"+ + "\1\172\1\163\1\157\2\uffff\1\147\1\157\1\162\1\155\2\164\1\147\1"+ + "\141\1\150\1\163\1\141\1\162\1\154\1\101\1\157\1\163\1\160\1\147"+ + "\1\142\1\157\1\162\1\157\1\155\1\122\1\144\1\172\1\141\1\163\1\141"+ + "\1\170\1\117\1\124\1\164\1\143\1\156\1\162\1\145\1\163\2\164\1\156"+ + "\1\162\1\163\1\161\1\163\1\164\1\157\1\116\1\157\1\146\1\uffff\1"+ + "\162\1\116\1\115\1\154\1\uffff\1\164\1\160\1\125\1\124\1\114\5\uffff"+ + "\1\157\1\165\1\160\2\145\1\141\1\143\2\145\1\154\1\160\2\162\1\141"+ + "\2\145\1\154\1\172\1\125\1\uffff\1\145\1\163\1\166\1\144\1\156\1"+ + "\160\1\143\1\162\1\160\1\141\2\165\1\160\1\145\1\150\1\143\1\141"+ + "\1\151\1\156\1\154\1\160\1\162\1\164\1\162\1\154\1\122\1\155\1\166"+ + "\1\141\1\163\1\145\1\156\1\123\1\160\1\166\1\162\2\160\1\111\1\151"+ + "\1\uffff\1\143\1\151\1\156\1\145\1\114\1\105\1\145\1\141\1\145\1"+ + "\153\1\161\1\145\1\151\1\145\1\157\1\145\1\153\1\164\1\165\1\145"+ + "\1\150\1\160\1\107\1\160\1\164\1\155\1\105\1\102\1\165\2\145\1\102"+ + "\1\172\1\125\1\163\1\151\1\157\1\165\1\141\1\172\1\164\3\162\1\165"+ + "\1\157\1\163\1\141\1\143\2\162\1\165\1\uffff\1\124\1\156\1\155\2"+ + "\151\1\145\1\141\1\145\2\141\2\145\1\157\1\154\1\164\1\151\1\162"+ + "\1\157\1\165\1\172\1\164\1\153\1\166\2\143\1\145\1\157\1\165\1\163"+ + "\1\151\1\145\1\106\1\172\2\151\1\145\1\141\1\155\1\151\1\172\1\141"+ + "\1\171\1\145\1\151\1\164\1\101\1\154\1\116\1\146\1\153\2\143\1\144"+ + "\2\172\1\162\1\160\1\107\1\145\1\165\1\155\1\157\1\162\1\156\1\107"+ + "\1\101\1\162\1\151\1\155\1\123\1\111\1\172\2\111\1\141\1\172\1\105"+ + "\1\145\1\162\1\156\1\114\1\uffff\1\105\1\151\1\162\1\156\1\162\1"+ + "\163\1\uffff\2\171\1\151\1\146\1\124\1\145\1\156\1\145\1\143\1\151"+ + "\1\156\1\104\1\145\1\172\1\164\1\145\1\166\1\144\1\163\1\142\1\143"+ + "\1\164\2\172\1\163\1\165\1\145\1\151\1\162\2\156\1\162\1\uffff\1"+ + "\111\1\102\1\151\1\103\1\150\1\143\1\163\1\156\1\145\1\156\1\154"+ + "\1\162\1\uffff\1\164\1\144\1\163\1\142\1\145\1\166\1\uffff\1\164"+ + "\1\163\1\172\1\143\1\101\1\143\1\145\1\107\1\151\1\102\1\103\1\150"+ + "\1\120\2\uffff\1\156\1\163\1\162\1\144\1\145\1\142\2\156\1\145\1"+ + "\162\1\143\1\141\1\162\1\142\1\171\1\143\1\164\1\uffff\1\157\1\164"+ + "\1\156\1\157\1\154\1\uffff\1\122\1\172\1\122\1\144\1\105\1\172\1"+ + "\164\1\145\1\163\1\143\1\145\3\160\1\141\1\171\1\145\1\162\1\145"+ + "\1\156\1\145\1\107\2\164\2\141\1\145\1\156\1\uffff\1\124\1\164\1"+ + "\145\1\151\1\163\1\151\1\145\1\165\2\uffff\1\163\1\156\1\172\1\157"+ + "\1\151\1\124\1\163\1\143\1\156\4\157\1\145\1\164\1\151\1\145\1\151"+ + "\1\107\1\165\1\141\1\145\1\151\1\145\1\163\1\151\1\164\1\145\1\165"+ + "\1\164\1\uffff\1\145\1\143\1\164\2\172\1\145\2\157\1\124\1\104\1"+ + "\141\1\165\1\141\1\102\1\156\1\154\1\163\1\141\1\156\1\141\1\164"+ + "\1\143\1\145\1\154\1\156\1\164\1\145\1\144\1\145\1\146\1\155\1\104"+ + "\1\137\1\uffff\1\162\2\145\1\172\1\uffff\1\157\1\144\2\145\1\101"+ + "\3\145\1\164\1\143\1\160\1\143\1\157\1\161\1\143\1\156\1\162\1\145"+ + "\1\171\1\143\1\154\2\143\1\156\1\171\1\145\1\122\1\144\1\156\1\151"+ + "\1\154\1\163\1\162\1\157\1\144\1\uffff\1\156\1\144\1\156\1\171\2"+ + "\145\1\146\1\155\1\170\1\162\1\155\1\163\1\162\1\145\1\151\1\164"+ + "\1\156\1\143\1\162\1\157\1\164\1\161\1\166\1\144\1\151\1\154\1\145"+ + "\1\122\1\162\1\145\1\111\1\164\1\151\2\uffff\1\162\1\170\1\155\1"+ + "\143\2\162\1\106\2\154\1\151\1\145\1\143\1\171\1\172\1\154\1\164"+ + "\2\151\1\164\1\101\1\171\1\143\1\151\1\162\1\171\1\162\1\154\1\160"+ + "\1\151\1\117\1\157\1\161\1\156\1\uffff\1\162\1\122\1\124\1\104\1"+ + "\143\1\163\1\172\1\144\1\151\2\145\1\154\1\166\1\165\1\151\1\164"+ + "\1\141\1\162\1\172\1\145\1\101\1\154\1\151\1\164\1\160\1\162\1\145"+ + "\1\122\1\147\1\156\1\151\1\163\1\145\1\162\1\151\1\163\1\122\1\147"+ + "\1\160\1\124\1\104\1\154\1\160\1\102\1\172\1\160\1\172\1\157\1\150"+ + "\1\157\1\145\1\164\2\141\1\165\1\151\1\165\1\145\1\122\1\156\1\151"+ + "\1\162\2\145\1\155\1\156\1\151\1\157\1\172\1\102\1\160\1\164\1\141"+ + "\1\157\1\172\1\154\1\141\1\156\1\150\1\171\1\103\1\145\1\uffff\1"+ + "\103\1\151\1\156\1\157\1\101\1\143\1\103\1\150\1\157\1\141\1\102"+ + "\1\141\1\165\1\157\1\163\1\106\1\166\1\165\1\143\1\171\1\157\1\145"+ + "\1\151\1\145\1\164\1\172\1\uffff\1\123\1\157\2\172\1\141\2\151\1"+ + "\156\1\144\1\163\2\151\1\uffff\1\172\1\143\1\141\1\156\2\145\1\172"+ + "\1\163\1\157\1\145\1\101\1\147\1\164\1\157\2\172\1\156\1\150\1\157"+ + "\1\145\1\101\1\145\1\151\1\145\1\165\1\157\1\145\1\uffff\1\157\1"+ + "\uffff\1\142\1\141\1\156\1\104\1\111\1\164\1\151\1\163\1\157\1\145"+ + "\1\104\1\157\1\145\1\147\1\164\1\172\1\163\2\172\1\160\1\157\1\156"+ + "\1\uffff\1\145\1\157\1\151\1\156\1\142\1\uffff\1\141\1\103\1\164"+ + "\1\145\1\141\1\172\1\157\1\163\2\141\1\145\1\156\1\143\1\164\1\157"+ + "\1\162\1\156\1\164\1\145\1\164\1\145\1\156\1\164\1\137\2\151\1\171"+ + "\1\172\2\154\2\155\1\151\1\uffff\1\151\2\156\1\172\1\162\2\uffff"+ + "\1\162\1\144\1\162\1\147\1\126\1\172\1\156\1\172\1\uffff\1\164\1"+ + "\162\1\147\1\162\1\163\1\172\1\uffff\1\157\2\154\1\163\1\122\1\171"+ + "\1\162\1\172\2\uffff\1\147\1\151\2\154\1\163\1\172\2\155\1\145\1"+ + "\156\1\150\1\156\1\141\1\166\1\104\1\141\1\157\1\156\1\151\1\156"+ + "\1\123\2\156\1\141\2\154\1\122\1\171\1\uffff\1\157\2\uffff\1\165"+ + "\1\156\1\172\1\150\1\156\1\157\1\163\1\141\1\154\1\141\1\145\1\144"+ + "\1\166\1\uffff\1\156\1\172\2\154\1\144\1\172\1\164\1\151\1\156\1"+ + "\157\1\172\1\151\1\150\1\151\1\156\1\145\1\162\1\105\1\144\1\162"+ + "\1\122\1\157\1\uffff\3\145\1\141\1\157\1\147\1\164\1\172\1\uffff"+ + "\1\157\1\141\2\145\1\120\1\141\1\uffff\1\145\1\141\1\151\1\141\1"+ + "\120\1\146\1\172\1\uffff\1\165\2\145\1\163\2\145\2\172\1\uffff\1"+ + "\105\1\160\2\145\1\163\1\uffff\1\145\1\141\1\156\1\145\1\141\1\145"+ + "\1\142\1\151\1\141\1\164\1\155\1\164\1\157\1\145\1\104\1\141\1\122"+ + "\1\143\1\164\3\145\1\115\1\165\1\164\1\172\1\uffff\1\141\1\145\1"+ + "\156\1\151\1\142\2\154\1\144\1\102\1\151\1\164\1\uffff\1\154\1\104"+ + "\1\102\1\uffff\1\151\1\157\1\164\1\156\1\uffff\1\157\1\141\1\157"+ + "\1\143\1\156\1\151\1\114\3\145\1\155\1\172\1\147\1\123\3\156\1\151"+ + "\1\uffff\1\166\1\164\2\144\1\141\1\162\1\144\1\164\1\157\1\164\2"+ + "\141\1\uffff\1\162\1\172\1\147\1\145\2\163\2\uffff\1\156\2\172\1"+ + "\147\1\145\1\123\1\156\1\143\1\156\1\166\1\156\1\151\1\157\1\164"+ + "\1\141\1\160\1\145\1\164\1\156\1\144\1\106\1\155\1\145\1\171\1\141"+ + "\1\172\1\147\1\163\1\141\1\145\1\162\1\120\1\uffff\1\166\1\156\1"+ + "\172\1\164\1\151\1\172\1\154\1\103\1\145\1\157\2\145\1\172\1\151"+ + "\1\145\1\157\1\156\2\145\1\151\1\156\1\166\1\156\1\151\1\164\1\142"+ + "\1\105\2\144\1\154\1\160\1\uffff\1\141\1\160\1\144\1\172\1\141\1"+ + "\164\2\151\2\122\1\162\1\151\1\102\1\151\1\156\1\151\1\162\2\143"+ + "\1\172\1\uffff\1\141\1\155\1\157\1\172\1\164\1\uffff\1\172\1\uffff"+ + "\1\141\1\155\1\160\1\144\1\151\1\164\1\151\1\164\1\154\1\162\1\141"+ + "\1\124\1\157\1\162\1\141\1\114\1\102\1\172\1\160\1\154\1\172\1\124"+ + "\1\uffff\1\141\1\157\1\163\1\156\1\143\1\141\1\151\1\164\1\uffff"+ + "\1\151\1\154\1\162\1\uffff\1\172\1\157\1\150\1\162\1\170\1\143\1"+ + "\145\1\141\1\143\1\162\1\uffff\1\163\1\150\1\156\1\172\1\170\1\143"+ + "\1\172\1\103\1\151\1\103\1\156\1\111\1\165\1\115\2\122\1\141\1\157"+ + "\1\164\1\145\1\123\1\uffff\1\164\1\171\1\144\3\157\2\141\1\145\1"+ + "\157\1\172\1\157\1\141\2\145\1\uffff\1\164\1\142\1\165\1\uffff\1"+ + "\151\1\uffff\1\164\1\142\1\145\1\123\1\156\1\111\1\157\1\172\1\151"+ + "\1\172\1\124\1\171\3\156\1\151\1\145\1\uffff\1\154\1\141\1\uffff"+ + "\1\171\1\164\1\165\2\163\1\145\1\162\1\157\1\172\1\157\1\151\1\145"+ + "\1\uffff\1\155\1\141\1\163\3\164\1\162\1\164\1\145\1\164\1\141\1"+ + "\172\1\uffff\2\164\1\141\3\157\1\147\1\156\1\164\1\105\2\157\1\164"+ + "\1\156\1\151\1\143\1\160\1\165\1\172\1\151\1\156\2\154\1\155\1\142"+ + "\1\150\1\156\1\uffff\1\156\1\155\1\163\1\172\1\151\1\154\1\162\1"+ + "\164\1\151\1\154\1\143\1\160\1\147\1\156\1\162\1\uffff\1\164\1\uffff"+ + "\1\171\1\160\1\145\1\141\1\143\1\156\1\150\1\145\1\164\1\160\1\151"+ + "\1\162\1\106\1\151\1\123\1\141\1\162\1\uffff\1\156\1\164\1\161\1"+ + "\160\1\166\2\172\1\157\1\165\1\141\1\151\1\161\1\162\1\166\1\uffff"+ + "\1\172\1\157\1\164\1\165\1\162\1\165\1\120\1\163\1\151\1\116\2\154"+ + "\1\151\1\145\1\157\1\151\1\145\1\162\1\uffff\1\156\1\163\3\145\1"+ + "\154\1\141\2\172\1\145\2\172\1\171\1\uffff\1\157\1\171\1\143\1\171"+ + "\1\157\1\171\1\151\1\145\1\120\1\163\1\172\1\151\1\160\1\145\1\156"+ + "\1\154\1\145\1\153\1\141\1\172\1\151\1\145\1\157\1\143\1\165\1\164"+ + "\1\160\1\141\1\155\2\172\1\151\1\165\1\157\1\151\1\uffff\1\172\1"+ + "\uffff\2\162\1\155\1\157\1\165\2\151\1\uffff\1\162\1\151\1\156\1"+ + "\172\1\156\1\141\1\164\1\157\1\124\2\145\1\157\2\156\1\146\1\143"+ + "\1\145\1\147\3\172\1\164\1\145\1\166\2\uffff\1\164\2\uffff\1\160"+ + "\1\156\1\103\1\145\1\172\1\156\1\103\1\146\1\143\1\141\1\164\1\uffff"+ + "\2\145\1\172\1\164\1\102\2\122\1\166\1\uffff\1\157\1\172\1\156\1"+ + "\145\1\156\1\171\1\145\1\160\1\145\2\uffff\2\145\1\156\1\157\1\uffff"+ + "\1\163\1\156\1\145\1\156\1\145\1\142\1\157\1\172\1\157\1\164\1\uffff"+ + "\1\164\1\162\1\141\1\156\1\123\2\172\1\156\1\164\1\103\2\151\1\172"+ + "\1\122\3\uffff\1\145\1\172\1\151\2\145\1\103\1\157\1\124\1\uffff"+ + "\1\103\1\157\2\151\1\162\1\141\1\163\1\172\1\uffff\1\172\3\145\1"+ + "\151\1\156\1\uffff\1\103\1\124\1\143\1\106\1\143\1\141\1\164\1\163"+ + "\1\156\1\145\1\162\1\172\1\120\1\164\1\172\1\156\1\165\1\162\1\uffff"+ + "\1\156\2\104\1\141\1\156\2\172\2\uffff\1\163\1\172\1\157\1\143\1"+ + "\146\1\uffff\1\145\1\162\1\uffff\1\157\1\162\1\172\1\157\1\156\1"+ + "\171\1\157\1\156\1\143\1\146\1\141\1\156\1\172\2\uffff\1\150\1\146"+ + "\1\163\1\157\1\163\1\157\1\171\1\164\1\165\1\151\1\143\1\145\1\172"+ + "\1\143\1\156\1\172\1\uffff\1\141\1\145\1\uffff\1\143\1\164\1\172"+ + "\1\102\2\151\1\155\1\143\2\uffff\1\150\1\uffff\1\156\1\141\1\151"+ + "\1\161\1\172\1\162\1\172\1\uffff\1\156\1\164\1\160\1\156\1\164\1"+ + "\141\1\151\1\155\1\143\1\uffff\1\141\1\145\1\157\1\162\1\150\1\156"+ + "\1\160\1\151\1\156\1\146\1\151\1\162\1\uffff\1\171\1\164\1\uffff"+ + "\2\162\1\171\1\151\1\uffff\1\141\2\163\2\145\1\151\1\156\1\164\1"+ + "\143\1\165\1\uffff\1\172\1\uffff\1\156\2\145\1\156\1\145\1\164\1"+ + "\143\2\145\1\166\1\162\1\165\1\172\1\151\1\156\1\145\1\157\1\143"+ + "\1\151\1\164\3\172\1\141\2\172\1\157\1\162\3\164\1\122\1\160\1\145"+ + "\1\151\1\141\1\151\1\uffff\1\145\1\170\1\172\1\145\1\170\1\151\1"+ + "\141\1\164\1\122\1\151\1\145\1\162\1\uffff\1\160\1\145\1\172\1\156"+ + "\1\164\1\143\1\171\3\uffff\1\155\2\uffff\1\156\3\162\2\145\1\172"+ + "\1\143\1\157\1\164\1\162\1\143\1\164\1\uffff\1\143\1\164\1\157\1"+ + "\164\2\145\1\157\1\156\1\143\1\172\1\143\1\uffff\1\172\1\151\1\141"+ + "\1\172\1\145\1\172\3\151\1\162\1\146\1\uffff\1\164\1\156\2\151\1"+ + "\164\1\172\1\164\1\172\1\156\1\151\1\162\1\146\1\162\1\143\1\145"+ + "\1\uffff\1\164\1\uffff\1\157\1\164\1\uffff\1\164\1\uffff\1\145\2"+ + "\142\1\172\1\145\1\157\1\172\1\157\1\156\1\157\1\uffff\1\157\1\uffff"+ + "\1\172\1\157\1\172\1\145\1\172\1\145\1\124\1\157\1\156\1\151\1\145"+ + "\1\162\2\165\1\uffff\2\162\1\uffff\1\156\1\147\2\162\1\uffff\1\156"+ + "\1\uffff\1\162\1\uffff\1\172\1\171\1\162\1\172\1\157\1\162\1\172"+ + "\2\164\1\145\2\172\1\105\2\163\1\172\1\145\1\uffff\1\160\1\172\1"+ + "\uffff\1\156\1\172\1\uffff\2\151\1\156\2\uffff\1\156\2\172\1\uffff"+ + "\1\156\1\145\1\uffff\1\172\1\uffff\2\157\1\143\1\164\2\uffff\1\143"+ + "\1\172\1\uffff\2\156\1\145\1\151\1\145\1\uffff\3\172\1\164\1\172"+ + "\3\uffff\1\171\1\uffff\1\172\1\uffff"; + static final String DFA12_acceptS = + "\2\uffff\1\2\2\uffff\1\5\1\6\4\uffff\1\13\1\14\22\uffff\1\142\2"+ + "\uffff\1\170\5\uffff\1\u00a2\1\u00a3\3\uffff\1\u00a7\1\u00a8\1\uffff"+ + "\1\u00a2\1\2\3\uffff\1\5\1\6\10\uffff\1\13\1\14\62\uffff\1\142\4"+ + "\uffff\1\170\5\uffff\1\u00a3\1\u00a4\1\u00a5\1\u00a6\1\u00a7\23"+ + "\uffff\1\u009d\50\uffff\1\161\64\uffff\1\u0095\121\uffff\1\u009e"+ + "\6\uffff\1\3\40\uffff\1\164\14\uffff\1\u0099\6\uffff\1\32\15\uffff"+ + "\1\u0097\1\u009a\21\uffff\1\u009b\5\uffff\1\u009c\34\uffff\1\u009f"+ + "\10\uffff\1\162\1\71\36\uffff\1\73\41\uffff\1\167\4\uffff\1\u00a0"+ + "\43\uffff\1\154\41\uffff\1\165\1\u0096\41\uffff\1\u0098\122\uffff"+ + "\1\110\32\uffff\1\34\14\uffff\1\140\33\uffff\1\70\1\uffff\1\127"+ + "\26\uffff\1\41\5\uffff\1\156\41\uffff\1\4\5\uffff\1\43\1\25\10\uffff"+ + "\1\11\6\uffff\1\100\10\uffff\1\77\1\113\34\uffff\1\40\1\uffff\1"+ + "\35\1\65\15\uffff\1\u0089\26\uffff\1\1\10\uffff\1\7\6\uffff\1\10"+ + "\7\uffff\1\37\10\uffff\1\15\5\uffff\1\36\32\uffff\1\116\13\uffff"+ + "\1\u0094\3\uffff\1\124\4\uffff\1\131\22\uffff\1\67\14\uffff\1\27"+ + "\6\uffff\1\166\1\112\40\uffff\1\115\37\uffff\1\51\24\uffff\1\101"+ + "\5\uffff\1\17\1\uffff\1\135\26\uffff\1\42\10\uffff\1\126\3\uffff"+ + "\1\103\12\uffff\1\u0087\25\uffff\1\121\17\uffff\1\20\3\uffff\1\152"+ + "\1\uffff\1\22\21\uffff\1\157\2\uffff\1\u008a\14\uffff\1\105\14\uffff"+ + "\1\117\33\uffff\1\122\17\uffff\1\107\1\uffff\1\150\21\uffff\1\55"+ + "\16\uffff\1\111\22\uffff\1\46\15\uffff\1\120\43\uffff\1\125\1\uffff"+ + "\1\u0081\7\uffff\1\173\30\uffff\1\76\1\33\1\uffff\1\12\1\56\13\uffff"+ + "\1\21\10\uffff\1\171\11\uffff\1\44\1\147\4\uffff\1\61\12\uffff\1"+ + "\132\16\uffff\1\30\1\u0082\1\u0085\10\uffff\1\u008c\10\uffff\1\26"+ + "\6\uffff\1\31\22\uffff\1\175\7\uffff\1\u0083\1\u0086\5\uffff\1\45"+ + "\2\uffff\1\u008d\15\uffff\1\24\1\60\20\uffff\1\62\2\uffff\1\134"+ + "\10\uffff\1\160\1\u00a1\1\uffff\1\16\7\uffff\1\137\11\uffff\1\130"+ + "\14\uffff\1\151\2\uffff\1\57\4\uffff\1\106\12\uffff\1\47\1\uffff"+ + "\1\66\45\uffff\1\23\14\uffff\1\52\7\uffff\1\75\1\53\1\174\1\uffff"+ + "\1\104\1\u0088\15\uffff\1\144\13\uffff\1\145\13\uffff\1\u008b\17"+ + "\uffff\1\u008e\1\uffff\1\153\2\uffff\1\141\1\uffff\1\163\12\uffff"+ + "\1\176\1\uffff\1\177\16\uffff\1\u008f\2\uffff\1\72\4\uffff\1\50"+ + "\1\uffff\1\u0090\1\uffff\1\114\21\uffff\1\u0093\2\uffff\1\155\2"+ + "\uffff\1\123\3\uffff\1\u0084\1\143\3\uffff\1\54\2\uffff\1\u0080"+ + "\1\uffff\1\102\4\uffff\1\63\1\64\2\uffff\1\136\5\uffff\1\146\5\uffff"+ + "\1\172\1\133\1\u0091\1\uffff\1\u0092\1\uffff\1\74"; + static final String DFA12_specialS = + "\1\2\51\uffff\1\0\1\1\u077c\uffff}>"; + static final String[] DFA12_transitionS = { + "\11\56\2\55\2\56\1\55\22\56\1\55\1\56\1\52\4\56\1\53\1\13\1"+ + "\14\2\56\1\5\1\37\1\42\1\54\12\51\7\56\1\33\1\25\1\20\1\44\1"+ + "\31\1\32\2\50\1\11\2\50\1\35\1\50\1\40\1\45\1\21\1\50\1\1\1"+ + "\23\2\50\1\46\4\50\3\56\1\47\1\50\1\56\1\30\1\17\1\10\1\4\1"+ + "\26\1\27\2\50\1\7\2\50\1\36\1\24\1\3\1\43\1\12\1\50\1\16\1\15"+ + "\1\22\1\50\1\41\1\34\3\50\1\2\1\56\1\6\uff82\56", + "\1\57", + "", + "\1\62", + "\1\63\3\uffff\1\64", + "", + "", + "\1\67", + "\1\72\6\uffff\1\71\6\uffff\1\70", + "\1\74\37\uffff\1\73", + "\1\75\20\uffff\1\76", + "", + "", + "\1\104\1\uffff\1\102\5\uffff\1\101\13\uffff\1\103", + "\1\106\3\uffff\1\105\3\uffff\1\107", + "\1\112\3\uffff\1\111\6\uffff\1\110\5\uffff\1\113", + "\1\116\30\uffff\1\115\15\uffff\1\114", + "\1\120\20\uffff\1\117", + "\1\121", + "\1\130\14\uffff\1\127\1\uffff\1\124\1\uffff\1\125\3\uffff\1"+ + "\122\12\uffff\1\126\1\123", + "\1\131\5\uffff\1\132", + "\1\137\11\uffff\1\140\7\uffff\1\134\12\uffff\1\133\2\uffff"+ + "\1\136\2\uffff\1\135", + "\1\142\11\uffff\1\141", + "\1\143\5\uffff\1\144\2\uffff\1\145", + "\1\147\17\uffff\1\146", + "\1\150", + "\1\151\5\uffff\1\152", + "\1\153\1\154\17\uffff\1\155", + "\1\156", + "\1\160\37\uffff\1\157", + "\1\162\11\uffff\1\161", + "", + "\1\165\5\uffff\1\166\31\uffff\1\164", + "\1\167", + "", + "\1\171", + "\1\173\25\uffff\1\172", + "\1\174", + "\1\175", + "\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "", + "\0\177", + "\0\177", + "\1\u0080\4\uffff\1\u0081", + "", + "", + "\1\u0086\3\uffff\1\u0083\1\u0084\1\uffff\1\u0085", + "", + "", + "\1\u0087", + "\1\u0088", + "\1\u0089", + "", + "", + "\1\u008c\7\uffff\1\u008b\5\uffff\1\u008a", + "\1\u008e\13\uffff\1\u008d", + "\1\u008f", + "\1\u0090", + "\1\u0093\7\uffff\1\u0092\5\uffff\1\u0091", + "\12\60\7\uffff\16\60\1\u0095\4\60\1\u0094\6\60\4\uffff\1\60"+ + "\1\uffff\32\60", + "\1\u0097\1\u0098", + "\1\u009a\11\uffff\1\u0099", + "", + "", + "\1\u009b", + "\1\u009c", + "\1\u009d\16\uffff\1\u009e", + "\1\u009f", + "\1\u00a0\4\uffff\1\u00a1\1\uffff\1\u00a3\1\u00a2", + "\1\u00a4", + "\1\u00a5", + "\1\u00a6", + "\1\u00a7", + "\1\u00a8", + "\1\u00a9", + "\1\u00ac\12\uffff\1\u00aa\1\u00ab\1\u00ad\3\uffff\1\u00ae", + "\1\u00af", + "\1\u00b0", + "\1\u00b1\5\uffff\1\u00b2", + "\1\u00b3\1\u00b4", + "\1\u00b5", + "\1\u00b6", + "\1\u00b7", + "\1\u00b8", + "\1\u00b9", + "\1\u00ba\15\uffff\1\u00bb", + "\1\u00bc", + "\1\u00bd", + "\1\u00be", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u00c0", + "\1\u00c1", + "\1\u00c2", + "\1\u00c3", + "\1\u00c4", + "\1\u00c5", + "\1\u00c6", + "\1\u00c7", + "\1\u00c8", + "\1\u00c9", + "\1\u00ca", + "\1\u00cb", + "\1\u00cc", + "\1\u00ce\3\uffff\1\u00cd", + "\1\u00cf", + "\1\u00d0", + "\1\u00d1", + "\1\u00d2", + "\1\u00d3", + "\1\u00d4", + "\1\u00d5", + "\1\u00d6", + "\1\u00d7", + "\1\u00d8", + "", + "\1\u00d9", + "\1\u00da", + "\1\u00db", + "\1\u00dc", + "", + "\1\u00dd", + "\1\u00de", + "\1\u00df", + "\1\u00e0", + "\1\u00e1", + "", + "", + "", + "", + "", + "\1\u00e2", + "\1\u00e3", + "\1\u00e5\1\u00e4", + "\1\u00e6", + "\1\u00e7", + "\1\u00e8", + "\1\u00e9", + "\1\u00ea", + "\1\u00eb", + "\1\u00ec", + "\1\u00ed", + "\1\u00ee", + "\1\u00ef", + "\1\u00f0", + "\1\u00f1", + "\1\u00f2", + "\1\u00f3", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u00f5", + "", + "\1\u00f7\3\uffff\1\u00f6", + "\1\u00f8", + "\1\u00fb\1\u00fa\22\uffff\1\u00f9", + "\1\u00fc", + "\1\u00fe\1\u00fd", + "\1\u00ff", + "\1\u0100", + "\1\u0101", + "\1\u0102", + "\1\u0103", + "\1\u0104", + "\1\u0105", + "\1\u0107\1\u0106", + "\1\u0108", + "\1\u0109", + "\1\u010a", + "\1\u010b", + "\1\u010c", + "\1\u010d", + "\1\u010e", + "\1\u0110\2\uffff\1\u010f", + "\1\u0111", + "\1\u0112", + "\1\u0113", + "\1\u0114", + "\1\u0115", + "\1\u0116", + "\1\u0119\1\u0118\22\uffff\1\u0117", + "\1\u011a", + "\1\u011b", + "\1\u011c", + "\1\u011d", + "\1\u011e", + "\1\u011f", + "\1\u0120", + "\1\u0121", + "\1\u0122", + "\1\u0123", + "\1\u0124", + "\1\u0125", + "", + "\1\u0126", + "\1\u0127", + "\1\u0128", + "\1\u0129", + "\1\u012a", + "\1\u012b", + "\1\u012c", + "\1\u012d", + "\1\u012e", + "\1\u012f", + "\1\u0130", + "\1\u0131", + "\1\u0132", + "\1\u0133", + "\1\u0134", + "\1\u0135", + "\1\u0136", + "\1\u0137", + "\1\u0138", + "\1\u0139", + "\1\u013a", + "\1\u013b", + "\1\u013c", + "\1\u013d", + "\1\u013e", + "\1\u013f", + "\1\u0140", + "\1\u0141", + "\1\u0142", + "\1\u0143", + "\1\u0144", + "\1\u0145", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0147", + "\1\u0148", + "\1\u0149", + "\1\u014a", + "\1\u014b", + "\1\u014c", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u014f\37\uffff\1\u014e", + "\1\u0150", + "\1\u0151", + "\1\u0152", + "\1\u0153", + "\1\u0154", + "\1\u0155", + "\1\u0156", + "\1\u0157", + "\1\u0158", + "\1\u0159", + "\1\u015a", + "", + "\1\u015b", + "\1\u015c", + "\1\u015d", + "\1\u015e", + "\1\u015f", + "\1\u0160", + "\1\u0161", + "\1\u0162", + "\1\u0163", + "\1\u0164", + "\1\u0165", + "\1\u0166", + "\1\u0167", + "\1\u0168", + "\1\u0169", + "\1\u016a", + "\1\u016b", + "\1\u016c", + "\1\u016d", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u016f", + "\1\u0170", + "\1\u0171", + "\1\u0172", + "\1\u0173", + "\1\u0174", + "\1\u0175", + "\1\u0176", + "\1\u0177", + "\1\u0178", + "\1\u0179", + "\1\u017a", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u017c", + "\1\u017d", + "\1\u017e", + "\1\u017f", + "\1\u0180", + "\1\u0181", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0183", + "\1\u0184", + "\1\u0185", + "\1\u0186", + "\1\u0187", + "\1\u0188", + "\1\u0189", + "\1\u018a", + "\1\u018b", + "\1\u018c", + "\1\u018d", + "\1\u018e", + "\1\u018f", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0192", + "\1\u0193", + "\1\u0194", + "\1\u0195", + "\1\u0196", + "\1\u0197", + "\1\u0198", + "\1\u0199", + "\1\u019a", + "\1\u019b", + "\1\u019c", + "\1\u019d", + "\1\u019e", + "\1\u019f", + "\1\u01a0", + "\1\u01a1\7\uffff\1\u01a2", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u01a4\6\uffff\1\u01a5", + "\1\u01a7\5\uffff\1\u01a6", + "\1\u01a8", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u01aa", + "\1\u01ab", + "\1\u01ac", + "\1\u01ad", + "\1\u01ae", + "", + "\1\u01af", + "\1\u01b0", + "\1\u01b1", + "\1\u01b2", + "\1\u01b3", + "\1\u01b4", + "", + "\1\u01b5", + "\1\u01b6", + "\1\u01b7", + "\1\u01b8", + "\1\u01ba\13\uffff\1\u01bb\1\uffff\1\u01bc\1\uffff\1\u01b9", + "\1\u01bd", + "\1\u01be", + "\1\u01bf", + "\1\u01c0", + "\1\u01c1", + "\1\u01c2\7\uffff\1\u01c3", + "\1\u01c4", + "\1\u01c5", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u01c7", + "\1\u01c8", + "\1\u01c9", + "\1\u01ca", + "\1\u01cb", + "\1\u01cc", + "\1\u01cd", + "\1\u01ce", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u01d1", + "\1\u01d2", + "\1\u01d3", + "\1\u01d4", + "\1\u01d5", + "\1\u01d6", + "\1\u01d7", + "\1\u01d8", + "", + "\1\u01da\5\uffff\1\u01d9", + "\1\u01db", + "\1\u01dc", + "\1\u01dd", + "\1\u01de", + "\1\u01df", + "\1\u01e1\4\uffff\1\u01e0", + "\1\u01e2", + "\1\u01e3", + "\1\u01e4", + "\1\u01e5", + "\1\u01e6", + "", + "\1\u01e7", + "\1\u01e8", + "\1\u01e9", + "\1\u01ea", + "\1\u01eb", + "\1\u01ec", + "", + "\1\u01ed", + "\1\u01ee", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u01f0", + "\1\u01f1", + "\1\u01f2", + "\1\u01f3", + "\1\u01f4", + "\1\u01f5", + "\1\u01f6", + "\1\u01f7", + "\1\u01f8", + "\1\u01f9", + "", + "", + "\1\u01fa", + "\1\u01fb", + "\1\u01fc", + "\1\u01fd", + "\1\u01fe", + "\1\u01ff", + "\1\u0200", + "\1\u0201", + "\1\u0202", + "\1\u0203", + "\1\u0204", + "\1\u0205", + "\1\u0206", + "\1\u0207", + "\1\u0208", + "\1\u0209", + "\1\u020a", + "", + "\1\u020b", + "\1\u020c", + "\1\u020d", + "\1\u020e", + "\1\u020f", + "", + "\1\u0210", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0212\1\uffff\1\u0213", + "\1\u0214", + "\1\u0215", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0217", + "\1\u0218", + "\1\u0219", + "\1\u021a", + "\1\u021b", + "\1\u021c", + "\1\u021d", + "\1\u021e\15\uffff\1\u021f", + "\1\u0220", + "\1\u0221", + "\1\u0222", + "\1\u0223", + "\1\u0224", + "\1\u0225", + "\1\u0226", + "\1\u0227", + "\1\u0228", + "\1\u0229", + "\1\u022a", + "\1\u022b", + "\1\u022c", + "\1\u022d", + "", + "\1\u022e\12\uffff\1\u022f", + "\1\u0230", + "\1\u0231", + "\1\u0232\3\uffff\1\u0233", + "\1\u0234", + "\1\u0235", + "\1\u0236", + "\1\u0237", + "", + "", + "\1\u0238", + "\1\u0239", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u023b", + "\1\u023c\3\uffff\1\u023d", + "\1\u023e", + "\1\u023f", + "\1\u0240", + "\1\u0241", + "\1\u0242", + "\1\u0243", + "\1\u0244", + "\1\u0245", + "\1\u0248\15\uffff\1\u0247\24\uffff\1\u0246", + "\1\u0249", + "\1\u024a", + "\1\u024b", + "\1\u024c", + "\1\u024d", + "\1\u024e", + "\1\u024f", + "\1\u0250", + "\1\u0251", + "\1\u0252", + "\1\u0253", + "\1\u0254", + "\1\u0255", + "\1\u0256", + "\1\u0257", + "\1\u0258", + "", + "\1\u0259", + "\1\u025a", + "\1\u025b", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u025e", + "\1\u025f", + "\1\u0260", + "\1\u0261\16\uffff\1\u0263\3\uffff\1\u0262", + "\1\u0264", + "\1\u0265", + "\1\u0266", + "\1\u0267", + "\1\u0268", + "\1\u0269", + "\1\u026a", + "\1\u026b", + "\1\u026c", + "\1\u026d", + "\1\u026e", + "\1\u026f", + "\1\u0270", + "\1\u0271", + "\1\u0272", + "\1\u0273", + "\1\u0274", + "\1\u0275", + "\1\u0276", + "\1\u0277", + "\1\u0278", + "\1\u0279", + "\1\u027a", + "\1\u027b", + "", + "\1\u027c", + "\1\u027d", + "\1\u027e", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "\1\u0280", + "\1\u0281", + "\1\u0282", + "\1\u0283", + "\1\u0284", + "\1\u0285", + "\1\u0286", + "\1\u0287", + "\1\u0288", + "\1\u0289", + "\1\u028a", + "\1\u028b", + "\1\u028c", + "\1\u028d", + "\1\u028e", + "\1\u028f", + "\1\u0290", + "\1\u0291", + "\1\u0292", + "\1\u0293", + "\1\u0294", + "\1\u0295", + "\1\u0296", + "\1\u0297", + "\1\u0298", + "\1\u0299", + "\1\u029a", + "\1\u029b", + "\1\u029c", + "\1\u029d", + "\1\u029e", + "\1\u029f", + "\1\u02a0", + "\1\u02a1", + "\1\u02a2", + "", + "\1\u02a3", + "\1\u02a4", + "\1\u02a5", + "\1\u02a6", + "\1\u02a7", + "\1\u02a8", + "\1\u02a9", + "\1\u02aa", + "\1\u02ab", + "\1\u02ac", + "\1\u02ad", + "\1\u02ae", + "\1\u02af", + "\1\u02b0", + "\1\u02b1", + "\1\u02b2", + "\1\u02b3", + "\1\u02b4", + "\1\u02b5", + "\1\u02b6", + "\1\u02b7", + "\1\u02b8", + "\1\u02b9", + "\1\u02ba", + "\1\u02bb", + "\1\u02bc", + "\1\u02bd", + "\1\u02be", + "\1\u02bf", + "\1\u02c0", + "\1\u02c1", + "\1\u02c2", + "\1\u02c3", + "", + "", + "\1\u02c4", + "\1\u02c5", + "\1\u02c6", + "\1\u02c7", + "\1\u02c8", + "\1\u02c9", + "\1\u02ca", + "\1\u02cb", + "\1\u02cc", + "\1\u02cd", + "\1\u02ce", + "\1\u02cf", + "\1\u02d1\17\uffff\1\u02d0", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u02d3", + "\1\u02d4", + "\1\u02d5", + "\1\u02d6", + "\1\u02d7", + "\1\u02d8", + "\1\u02d9", + "\1\u02da", + "\1\u02db", + "\1\u02dc", + "\1\u02dd", + "\1\u02de", + "\1\u02df", + "\1\u02e0", + "\1\u02e1", + "\1\u02e2", + "\1\u02e3", + "\1\u02e4", + "\1\u02e5", + "", + "\1\u02e6", + "\1\u02e8\15\uffff\1\u02e7", + "\1\u02e9", + "\1\u02ea", + "\1\u02eb", + "\1\u02ec", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u02ee", + "\1\u02ef", + "\1\u02f0", + "\1\u02f1", + "\1\u02f2", + "\1\u02f3", + "\1\u02f4", + "\1\u02f6\3\uffff\1\u02f5", + "\1\u02f7", + "\1\u02f8", + "\1\u02f9", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u02fb", + "\1\u02fc", + "\1\u02fd", + "\1\u02fe", + "\1\u02ff", + "\1\u0300", + "\1\u0301", + "\1\u0302", + "\1\u0304\15\uffff\1\u0303", + "\1\u0305", + "\1\u0306", + "\1\u0307", + "\1\u0308", + "\1\u0309", + "\1\u030a", + "\1\u030b", + "\1\u030c", + "\1\u030e\15\uffff\1\u030d", + "\1\u030f", + "\1\u0310", + "\1\u0311", + "\1\u0312", + "\1\u0313", + "\1\u0314", + "\1\u0315", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0317", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0319", + "\1\u031a", + "\1\u031b", + "\1\u031c", + "\1\u031d", + "\1\u031e", + "\1\u031f", + "\1\u0320", + "\1\u0321", + "\1\u0322", + "\1\u0323", + "\1\u0325\15\uffff\1\u0324", + "\1\u0326", + "\1\u0327", + "\1\u0328", + "\1\u0329", + "\1\u032a", + "\1\u032b", + "\1\u032c", + "\1\u032d", + "\1\u032e", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0330", + "\1\u0331", + "\1\u0332", + "\1\u0333", + "\1\u0334", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0336\50\uffff\1\u0337", + "\1\u0338", + "\1\u0339", + "\1\u033a", + "\1\u033b", + "\1\u033c", + "\1\u033d", + "", + "\1\u033e", + "\1\u033f", + "\1\u0340", + "\1\u0341", + "\1\u0342", + "\1\u0343", + "\1\u0344", + "\1\u0345", + "\1\u0346", + "\1\u0347", + "\1\u0348", + "\1\u0349", + "\1\u034a", + "\1\u034b", + "\1\u034c", + "\1\u034d", + "\1\u034e", + "\1\u034f", + "\1\u0350", + "\1\u0351", + "\1\u0352", + "\1\u0353", + "\1\u0354", + "\1\u0355", + "\1\u0356", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "\1\u0359\15\uffff\1\u0358", + "\1\u035a", + "\12\60\7\uffff\17\60\1\u035c\12\60\4\uffff\1\60\1\uffff\22"+ + "\60\1\u035b\7\60", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u035f", + "\1\u0360", + "\1\u0361", + "\1\u0362", + "\1\u0363", + "\1\u0364", + "\1\u0365", + "\1\u0366", + "", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0368", + "\1\u0369", + "\1\u036a", + "\1\u036b", + "\1\u036c", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u036d\7\60", + "\1\u036f", + "\1\u0370", + "\1\u0371", + "\1\u0372", + "\1\u0373", + "\1\u0374", + "\1\u0375", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u0376\7\60", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0379", + "\1\u037a", + "\1\u037b", + "\1\u037c", + "\1\u037d", + "\1\u037e", + "\1\u037f", + "\1\u0380", + "\1\u0381", + "\1\u0382", + "\1\u0383", + "", + "\1\u0384", + "", + "\1\u0385", + "\1\u0386", + "\1\u0387", + "\1\u0389\1\u0388", + "\1\u038a", + "\1\u038b", + "\1\u038c", + "\1\u038d", + "\1\u038e", + "\1\u038f", + "\1\u0390", + "\1\u0391", + "\1\u0392", + "\1\u0393", + "\1\u0394", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0396", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0399", + "\1\u039a", + "\1\u039b", + "", + "\1\u039c", + "\1\u039d", + "\1\u039e", + "\1\u039f", + "\1\u03a0", + "", + "\1\u03a1", + "\1\u03a2", + "\1\u03a3", + "\1\u03a4", + "\1\u03a5", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u03a7", + "\1\u03a8", + "\1\u03a9", + "\1\u03aa", + "\1\u03ab", + "\1\u03ac", + "\1\u03ad", + "\1\u03ae", + "\1\u03af", + "\1\u03b0", + "\1\u03b1", + "\1\u03b2", + "\1\u03b3", + "\1\u03b4", + "\1\u03b5", + "\1\u03b6", + "\1\u03b7", + "\1\u03b8", + "\1\u03b9", + "\1\u03ba", + "\1\u03bb", + "\12\60\7\uffff\2\60\1\u03bc\27\60\4\uffff\1\60\1\uffff\32\60", + "\1\u03be", + "\1\u03bf", + "\1\u03c0", + "\1\u03c1", + "\1\u03c2", + "", + "\1\u03c3", + "\1\u03c4", + "\1\u03c5", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u03c7", + "", + "", + "\1\u03c8", + "\1\u03c9", + "\1\u03ca", + "\1\u03cb", + "\1\u03cc", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u03ce", + "\1\u03cf", + "", + "\1\u03d0", + "\1\u03d1", + "\1\u03d2", + "\1\u03d3", + "\1\u03d4", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "\1\u03d6", + "\1\u03d7", + "\1\u03d8", + "\1\u03d9", + "\1\u03da", + "\1\u03db\17\uffff\1\u03dc", + "\1\u03dd", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "", + "\1\u03df", + "\1\u03e0", + "\1\u03e1", + "\1\u03e2", + "\1\u03e3", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u03e5", + "\1\u03e6", + "\1\u03e7", + "\1\u03e8", + "\1\u03e9", + "\1\u03ea", + "\1\u03eb", + "\1\u03ec", + "\1\u03ed", + "\1\u03ee", + "\1\u03ef", + "\1\u03f0", + "\1\u03f1", + "\1\u03f2", + "\1\u03f3\2\uffff\1\u03f4", + "\1\u03f5", + "\1\u03f6", + "\1\u03f7", + "\1\u03f8", + "\1\u03f9", + "\1\u03fa", + "\1\u03fb", + "", + "\1\u03fc", + "", + "", + "\1\u03fd", + "\1\u03fe", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0400", + "\1\u0401", + "\1\u0402", + "\1\u0403", + "\1\u0404", + "\1\u0405", + "\1\u0406", + "\1\u0407", + "\1\u0408", + "\1\u0409", + "", + "\1\u040a", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u040c", + "\1\u040d", + "\1\u040e", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0410", + "\1\u0411", + "\1\u0412", + "\1\u0413", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0415", + "\1\u0416", + "\1\u0417", + "\1\u0418", + "\1\u0419", + "\1\u041a", + "\1\u041b", + "\1\u041c", + "\1\u041d", + "\1\u041e", + "\1\u041f", + "", + "\1\u0420", + "\1\u0421", + "\1\u0422", + "\1\u0423", + "\1\u0424", + "\1\u0425", + "\1\u0426", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "\1\u0428", + "\1\u0429", + "\1\u042a", + "\1\u042b", + "\1\u042c", + "\1\u042d", + "", + "\1\u042e", + "\1\u042f", + "\1\u0430", + "\1\u0431", + "\1\u0432", + "\1\u0433", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "\1\u0435", + "\1\u0436", + "\1\u0437", + "\1\u0438", + "\1\u0439", + "\1\u043a", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "\1\u043d", + "\1\u043e", + "\1\u043f", + "\1\u0440", + "\1\u0441", + "", + "\1\u0442", + "\1\u0443", + "\1\u0444", + "\1\u0445", + "\1\u0446", + "\1\u0447", + "\1\u0448", + "\1\u0449", + "\1\u044a", + "\1\u044b", + "\1\u044c", + "\1\u044e\1\u044d", + "\1\u044f", + "\1\u0450", + "\1\u0451", + "\1\u0452", + "\1\u0453", + "\1\u0454", + "\1\u0455", + "\1\u0456", + "\1\u0457", + "\1\u0458", + "\1\u045a\10\uffff\1\u0459", + "\1\u045b", + "\1\u045c", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "\1\u045e", + "\1\u045f", + "\1\u0460", + "\1\u0461", + "\1\u0462", + "\1\u0463", + "\1\u0464", + "\1\u0465", + "\1\u0466", + "\1\u0467", + "\1\u0469\5\uffff\1\u0468", + "", + "\1\u046a", + "\1\u046b", + "\1\u046c", + "", + "\1\u046d", + "\1\u046e", + "\1\u0470\5\uffff\1\u046f", + "\1\u0471", + "", + "\1\u0472", + "\1\u0473", + "\1\u0474", + "\1\u0475", + "\1\u0476", + "\1\u0477", + "\1\u0478", + "\1\u0479", + "\1\u047a", + "\1\u047b", + "\1\u047c", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u047e", + "\1\u047f", + "\1\u0480", + "\1\u0481", + "\1\u0482", + "\1\u0483", + "", + "\1\u0484", + "\1\u0485", + "\1\u0486", + "\1\u0487", + "\1\u0488", + "\1\u0489", + "\1\u048a", + "\1\u048b", + "\1\u048c", + "\1\u048d", + "\1\u048e", + "\1\u048f", + "", + "\1\u0490", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u0491\7\60", + "\1\u0493", + "\1\u0494", + "\1\u0495", + "\1\u0496", + "", + "", + "\1\u0497", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u0499\7\60", + "\1\u049b", + "\1\u049c", + "\1\u049d", + "\1\u049e", + "\1\u049f", + "\1\u04a0", + "\1\u04a1", + "\1\u04a2", + "\1\u04a3", + "\1\u04a4", + "\1\u04a5", + "\1\u04a6", + "\1\u04a7", + "\1\u04a8", + "\1\u04a9", + "\1\u04aa", + "\1\u04ab", + "\1\u04ac", + "\1\u04ad", + "\1\u04ae", + "\1\u04af", + "\1\u04b0", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u04b2", + "\1\u04b3", + "\1\u04b4", + "\1\u04b5", + "\1\u04b6", + "\1\u04b7", + "", + "\1\u04b8", + "\1\u04b9", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u04bb", + "\1\u04bc", + "\12\60\7\uffff\5\60\1\u04bd\24\60\4\uffff\1\60\1\uffff\32\60", + "\1\u04bf", + "\1\u04c0", + "\1\u04c1", + "\1\u04c2", + "\1\u04c3", + "\1\u04c4", + "\12\60\7\uffff\1\u04c7\4\60\1\u04c8\11\60\1\u04c6\1\60\1\u04c5"+ + "\10\60\4\uffff\1\60\1\uffff\32\60", + "\1\u04ca", + "\1\u04cb", + "\1\u04cc", + "\1\u04cd", + "\1\u04ce", + "\1\u04cf", + "\1\u04d0", + "\1\u04d1", + "\1\u04d2", + "\1\u04d3", + "\1\u04d4", + "\1\u04d5", + "\1\u04d6", + "\1\u04d7", + "\1\u04d8", + "\1\u04d9", + "\1\u04da", + "\1\u04db", + "", + "\1\u04dc", + "\1\u04dd", + "\1\u04de", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u04e0", + "\1\u04e1", + "\1\u04e2", + "\1\u04e3", + "\1\u04e4", + "\1\u04e5", + "\1\u04e6", + "\1\u04e7", + "\1\u04e8", + "\1\u04e9", + "\1\u04ea", + "\1\u04eb", + "\1\u04ec", + "\1\u04ed", + "\1\u04ee", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "\1\u04f0", + "\1\u04f1", + "\1\u04f2", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u04f4", + "", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "\1\u04f6", + "\1\u04f7", + "\1\u04f8", + "\1\u04f9", + "\1\u04fa", + "\1\u04fb", + "\1\u04fc", + "\1\u04fd", + "\1\u04fe", + "\1\u04ff", + "\1\u0500", + "\1\u0501", + "\1\u0502", + "\1\u0503", + "\1\u0504", + "\1\u0505", + "\1\u0506", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0508", + "\1\u0509", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u050b", + "", + "\1\u050c", + "\1\u050d", + "\1\u050e", + "\1\u050f", + "\1\u0510", + "\1\u0511", + "\1\u0512", + "\1\u0513", + "", + "\1\u0514", + "\1\u0515", + "\1\u0516", + "", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0518", + "\1\u0519", + "\1\u051a", + "\1\u051b", + "\1\u051c", + "\1\u051d", + "\1\u051e", + "\1\u051f", + "\1\u0520", + "", + "\1\u0521", + "\1\u0522", + "\1\u0523", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0525", + "\1\u0526", + "\1\u0527", + "\1\u0528", + "\1\u0529", + "\1\u052a", + "\1\u052b", + "\1\u052c", + "\1\u052d", + "\1\u052e", + "\1\u052f", + "\1\u0530", + "\1\u0531", + "\1\u0532", + "\1\u0533", + "\1\u0534", + "\1\u0535", + "", + "\1\u0536", + "\1\u0537", + "\1\u0538", + "\1\u0539", + "\1\u053a", + "\1\u053b", + "\1\u053c", + "\1\u053d", + "\1\u053e", + "\1\u053f", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0541", + "\1\u0542", + "\1\u0543", + "\1\u0544", + "", + "\1\u0545", + "\1\u0546", + "\1\u0547", + "", + "\1\u0548", + "", + "\1\u0549", + "\1\u054a", + "\1\u054b", + "\1\u054c", + "\1\u054d", + "\1\u054e", + "\1\u054f", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0551", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0553", + "\1\u0554", + "\1\u0555", + "\1\u0556", + "\1\u0557", + "\1\u0558", + "\1\u0559", + "", + "\1\u055a", + "\1\u055b", + "", + "\1\u055c", + "\1\u055d", + "\1\u055e", + "\1\u055f", + "\1\u0560", + "\1\u0561", + "\1\u0562", + "\1\u0563", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0565", + "\1\u0566", + "\1\u0567", + "", + "\1\u0568", + "\1\u0569", + "\1\u056a", + "\1\u056b", + "\1\u056c", + "\1\u056d", + "\1\u056e", + "\1\u056f", + "\1\u0570", + "\1\u0571", + "\1\u0572", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "\1\u0574", + "\1\u0575", + "\1\u0576", + "\1\u0577", + "\1\u0578", + "\1\u0579", + "\1\u057a", + "\1\u057b", + "\1\u057c", + "\1\u057d", + "\1\u057e", + "\1\u057f", + "\1\u0580", + "\1\u0581", + "\1\u0582", + "\1\u0583", + "\1\u0584", + "\1\u0585", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0587", + "\1\u0588", + "\1\u0589", + "\1\u058a", + "\1\u058b", + "\1\u058c", + "\1\u058d", + "\1\u058e", + "", + "\1\u058f", + "\1\u0590", + "\1\u0591", + "\12\60\7\uffff\23\60\1\u0593\6\60\4\uffff\1\60\1\uffff\22\60"+ + "\1\u0592\7\60", + "\1\u0595", + "\1\u0596", + "\1\u0597", + "\1\u0598", + "\1\u0599", + "\1\u059a", + "\1\u059b", + "\1\u059c", + "\1\u059d", + "\1\u059e", + "\1\u059f", + "", + "\1\u05a0", + "", + "\1\u05a1", + "\1\u05a2", + "\1\u05a3", + "\1\u05a4", + "\1\u05a5", + "\1\u05a6", + "\1\u05a7", + "\1\u05a8", + "\1\u05a9", + "\1\u05aa", + "\1\u05ab", + "\1\u05ac", + "\1\u05ad", + "\1\u05ae", + "\1\u05b0\17\uffff\1\u05af", + "\1\u05b1", + "\1\u05b2", + "", + "\1\u05b3", + "\1\u05b4", + "\1\u05b5", + "\1\u05b6", + "\1\u05b7", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u05b9\7\60", + "\1\u05bb", + "\1\u05bc", + "\1\u05bd", + "\1\u05be", + "\1\u05bf", + "\1\u05c0", + "\1\u05c1", + "", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u05c3", + "\1\u05c4", + "\1\u05c5", + "\1\u05c6", + "\1\u05c7", + "\1\u05c8", + "\1\u05c9", + "\1\u05ca", + "\1\u05cb", + "\1\u05cc", + "\1\u05cd", + "\1\u05ce", + "\1\u05cf", + "\1\u05d0", + "\1\u05d1", + "\1\u05d2", + "\1\u05d3", + "", + "\1\u05d4", + "\1\u05d5", + "\1\u05d6", + "\1\u05d7", + "\1\u05d8", + "\1\u05d9", + "\1\u05da", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u05dd", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u05e0", + "", + "\1\u05e1", + "\1\u05e2", + "\1\u05e3", + "\1\u05e4", + "\1\u05e5", + "\1\u05e6", + "\1\u05e7", + "\1\u05e8", + "\1\u05e9", + "\1\u05ea", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u05ec", + "\1\u05ed", + "\1\u05ee", + "\1\u05ef", + "\1\u05f0", + "\1\u05f1", + "\1\u05f2", + "\1\u05f3", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u05f5", + "\1\u05f6", + "\1\u05f7", + "\1\u05f8", + "\1\u05f9", + "\1\u05fa", + "\1\u05fb", + "\1\u05fc", + "\1\u05fd", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0600", + "\1\u0601", + "\1\u0602", + "\1\u0603", + "", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "\1\u0605", + "\1\u0606", + "\1\u0607", + "\1\u0608", + "\1\u0609", + "\1\u060a", + "\1\u060b", + "", + "\1\u060c", + "\1\u060d", + "\1\u060e", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0610", + "\1\u0611", + "\1\u0612", + "\1\u0613", + "\1\u0614", + "\1\u0615", + "\1\u0616", + "\1\u0617", + "\1\u0618", + "\1\u0619", + "\1\u061a", + "\1\u061b", + "\1\u061c", + "\1\u061d", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0621", + "\1\u0622", + "\1\u0623", + "", + "", + "\1\u0624", + "", + "", + "\1\u0625", + "\1\u0626", + "\1\u0627", + "\1\u0628", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u062a", + "\1\u062b", + "\1\u062c", + "\1\u062d", + "\1\u062e", + "\1\u062f", + "", + "\1\u0630", + "\1\u0631", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0633", + "\1\u0634", + "\1\u0635", + "\1\u0636", + "\1\u0637", + "", + "\1\u0638", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u063a", + "\1\u063b", + "\1\u063c", + "\1\u063d", + "\1\u063e", + "\1\u063f", + "\1\u0640", + "", + "", + "\1\u0641", + "\1\u0642", + "\1\u0643", + "\1\u0644", + "", + "\1\u0645", + "\1\u0646", + "\1\u0647", + "\1\u0648", + "\1\u0649", + "\1\u064a", + "\1\u064b", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u064d", + "\1\u064e", + "", + "\1\u064f", + "\1\u0650", + "\1\u0651", + "\1\u0652", + "\1\u0653", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0656", + "\1\u0657", + "\1\u0658", + "\1\u0659", + "\1\u065a", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u065c", + "", + "", + "", + "\1\u065d", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u065f", + "\1\u0660", + "\1\u0661", + "\1\u0662", + "\1\u0663", + "\1\u0664", + "", + "\1\u0665", + "\1\u0666", + "\1\u0667", + "\1\u0668", + "\1\u0669", + "\1\u066a", + "\1\u066b", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u066e", + "\1\u066f", + "\1\u0670", + "\1\u0671", + "\1\u0672", + "", + "\1\u0673", + "\1\u0674", + "\1\u0675", + "\1\u0676", + "\1\u0677", + "\1\u0678", + "\1\u0679", + "\1\u067a", + "\1\u067b", + "\1\u067c", + "\1\u067d", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u067f", + "\1\u0680", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0682", + "\1\u0683", + "\1\u0684", + "", + "\1\u0685", + "\1\u0686", + "\1\u0687", + "\1\u0688", + "\1\u0689", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "", + "\1\u068c", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u068e", + "\1\u068f", + "\1\u0690", + "", + "\1\u0691", + "\1\u0692", + "", + "\1\u0693", + "\1\u0694", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0696", + "\1\u0697", + "\1\u0698", + "\1\u0699", + "\1\u069a", + "\1\u069b", + "\1\u069c", + "\1\u069d", + "\1\u069e", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "", + "\1\u06a0", + "\1\u06a1", + "\1\u06a2", + "\1\u06a3", + "\1\u06a4", + "\1\u06a5", + "\1\u06a6", + "\1\u06a7", + "\1\u06a8", + "\1\u06a9", + "\1\u06aa", + "\1\u06ab", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u06ad", + "\1\u06ae", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "\1\u06b0", + "\1\u06b1", + "", + "\1\u06b2", + "\1\u06b3", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u06b5", + "\1\u06b6", + "\1\u06b7", + "\1\u06b8", + "\1\u06b9", + "", + "", + "\1\u06ba", + "", + "\1\u06bb", + "\1\u06bc", + "\1\u06bd", + "\1\u06be", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u06c0", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "\1\u06c2", + "\1\u06c3", + "\1\u06c4", + "\1\u06c5", + "\1\u06c6", + "\1\u06c7", + "\1\u06c8", + "\1\u06c9", + "\1\u06ca", + "", + "\1\u06cb", + "\1\u06cc", + "\1\u06cd", + "\1\u06ce", + "\1\u06cf", + "\1\u06d0", + "\1\u06d1", + "\1\u06d2", + "\1\u06d3", + "\1\u06d4", + "\1\u06d5", + "\1\u06d6", + "", + "\1\u06d7", + "\1\u06d8", + "", + "\1\u06d9", + "\1\u06da", + "\1\u06db", + "\1\u06dc", + "", + "\1\u06dd", + "\1\u06de", + "\1\u06df", + "\1\u06e0", + "\1\u06e1", + "\1\u06e2", + "\1\u06e3", + "\1\u06e4", + "\1\u06e5", + "\1\u06e6", + "", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "\1\u06e8", + "\1\u06e9", + "\1\u06ea", + "\1\u06eb", + "\1\u06ec", + "\1\u06ed", + "\1\u06ee", + "\1\u06ef", + "\1\u06f0", + "\1\u06f1", + "\1\u06f2", + "\1\u06f3", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u06f5", + "\1\u06f6", + "\1\u06f7", + "\1\u06f8", + "\1\u06f9", + "\1\u06fa", + "\1\u06fb", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u06ff", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0702", + "\1\u0703", + "\1\u0704", + "\1\u0705", + "\1\u0706", + "\1\u0707", + "\1\u0708", + "\1\u0709", + "\1\u070a", + "\1\u070b", + "\1\u070c", + "", + "\1\u070d", + "\1\u070e", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0710", + "\1\u0711", + "\1\u0712", + "\1\u0713", + "\1\u0714", + "\1\u0715", + "\1\u0716", + "\1\u0717", + "\1\u0718", + "", + "\1\u0719", + "\1\u071a", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u071c", + "\1\u071d", + "\1\u071e", + "\1\u071f", + "", + "", + "", + "\1\u0720", + "", + "", + "\1\u0721", + "\1\u0722", + "\1\u0723", + "\1\u0724", + "\1\u0725", + "\1\u0726", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0728", + "\1\u0729", + "\1\u072a", + "\1\u072b", + "\1\u072c", + "\1\u072d", + "", + "\1\u072e", + "\1\u072f", + "\1\u0730", + "\1\u0731", + "\1\u0732", + "\1\u0733", + "\1\u0734", + "\1\u0735", + "\1\u0736", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0738", + "", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u073a", + "\1\u073b", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u073d", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u073f", + "\1\u0740", + "\1\u0741", + "\1\u0742", + "\1\u0743", + "", + "\1\u0744", + "\1\u0745", + "\1\u0746", + "\1\u0747", + "\1\u0748", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u074a", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u074c", + "\1\u074d", + "\1\u074e", + "\1\u074f", + "\1\u0750", + "\1\u0751", + "\1\u0752", + "", + "\1\u0753", + "", + "\1\u0754", + "\1\u0755", + "", + "\1\u0756", + "", + "\1\u0757", + "\1\u0758", + "\1\u0759", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u075b", + "\1\u075c", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u075e", + "\1\u075f", + "\1\u0760", + "", + "\1\u0761", + "", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0763", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0765", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0767", + "\1\u0768", + "\1\u0769", + "\1\u076a", + "\1\u076b", + "\1\u076c", + "\1\u076d", + "\1\u076e", + "\1\u076f", + "", + "\1\u0770", + "\1\u0771", + "", + "\1\u0772", + "\1\u0773", + "\1\u0774", + "\1\u0775", + "", + "\1\u0776", + "", + "\1\u0777", + "", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0779", + "\1\u077a", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u077c", + "\1\u077d", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u077f", + "\1\u0780", + "\1\u0781", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0784", + "\1\u0785", + "\1\u0786", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0788", + "", + "\1\u0789", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "\1\u078b", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "\1\u078d", + "\1\u078e", + "\1\u078f", + "", + "", + "\1\u0790", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "\1\u0793", + "\1\u0794", + "", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "\1\u0796", + "\1\u0797", + "\1\u0798", + "\1\u0799", + "", + "", + "\1\u079a", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "\1\u079c", + "\1\u079d", + "\1\u079e", + "\1\u079f", + "\1\u07a0", + "", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u07a4", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "", + "", + "\1\u07a6", + "", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "" + }; + + static final short[] DFA12_eot = DFA.unpackEncodedString(DFA12_eotS); + static final short[] DFA12_eof = DFA.unpackEncodedString(DFA12_eofS); + static final char[] DFA12_min = DFA.unpackEncodedStringToUnsignedChars(DFA12_minS); + static final char[] DFA12_max = DFA.unpackEncodedStringToUnsignedChars(DFA12_maxS); + static final short[] DFA12_accept = DFA.unpackEncodedString(DFA12_acceptS); + static final short[] DFA12_special = DFA.unpackEncodedString(DFA12_specialS); + static final short[][] DFA12_transition; + + static { + int numStates = DFA12_transitionS.length; + DFA12_transition = new short[numStates][]; + for (int i=0; i<numStates; i++) { + DFA12_transition[i] = DFA.unpackEncodedString(DFA12_transitionS[i]); + } + } + + static class DFA12 extends DFA { + + public DFA12(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 12; + this.eot = DFA12_eot; + this.eof = DFA12_eof; + this.min = DFA12_min; + this.max = DFA12_max; + this.accept = DFA12_accept; + this.special = DFA12_special; + this.transition = DFA12_transition; + } + public String getDescription() { + return "1:1: Tokens : ( T__11 | 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 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | T__90 | T__91 | T__92 | T__93 | T__94 | T__95 | T__96 | T__97 | T__98 | T__99 | T__100 | T__101 | T__102 | T__103 | T__104 | T__105 | T__106 | T__107 | T__108 | T__109 | T__110 | T__111 | T__112 | T__113 | T__114 | T__115 | T__116 | T__117 | T__118 | T__119 | T__120 | T__121 | T__122 | T__123 | T__124 | T__125 | T__126 | T__127 | T__128 | T__129 | T__130 | T__131 | T__132 | T__133 | T__134 | T__135 | T__136 | T__137 | T__138 | T__139 | T__140 | T__141 | T__142 | T__143 | T__144 | T__145 | T__146 | T__147 | T__148 | T__149 | T__150 | T__151 | T__152 | T__153 | T__154 | T__155 | T__156 | T__157 | T__158 | T__159 | T__160 | T__161 | T__162 | T__163 | T__164 | T__165 | T__166 | T__167 | T__168 | T__169 | T__170 | T__171 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + IntStream input = _input; + int _s = s; + switch ( s ) { + case 0 : + int LA12_42 = input.LA(1); + + s = -1; + if ( ((LA12_42>='\u0000' && LA12_42<='\uFFFF')) ) {s = 127;} + + else s = 46; + + if ( s>=0 ) return s; + break; + case 1 : + int LA12_43 = input.LA(1); + + s = -1; + if ( ((LA12_43>='\u0000' && LA12_43<='\uFFFF')) ) {s = 127;} + + else s = 46; + + if ( s>=0 ) return s; + break; + case 2 : + int LA12_0 = input.LA(1); + + s = -1; + if ( (LA12_0=='R') ) {s = 1;} + + else if ( (LA12_0=='{') ) {s = 2;} + + else if ( (LA12_0=='n') ) {s = 3;} + + else if ( (LA12_0=='d') ) {s = 4;} + + else if ( (LA12_0==',') ) {s = 5;} + + else if ( (LA12_0=='}') ) {s = 6;} + + else if ( (LA12_0=='i') ) {s = 7;} + + else if ( (LA12_0=='c') ) {s = 8;} + + else if ( (LA12_0=='I') ) {s = 9;} + + else if ( (LA12_0=='p') ) {s = 10;} + + else if ( (LA12_0=='(') ) {s = 11;} + + else if ( (LA12_0==')') ) {s = 12;} + + else if ( (LA12_0=='s') ) {s = 13;} + + else if ( (LA12_0=='r') ) {s = 14;} + + else if ( (LA12_0=='b') ) {s = 15;} + + else if ( (LA12_0=='C') ) {s = 16;} + + else if ( (LA12_0=='P') ) {s = 17;} + + else if ( (LA12_0=='t') ) {s = 18;} + + else if ( (LA12_0=='S') ) {s = 19;} + + else if ( (LA12_0=='m') ) {s = 20;} + + else if ( (LA12_0=='B') ) {s = 21;} + + else if ( (LA12_0=='e') ) {s = 22;} + + else if ( (LA12_0=='f') ) {s = 23;} + + else if ( (LA12_0=='a') ) {s = 24;} + + else if ( (LA12_0=='E') ) {s = 25;} + + else if ( (LA12_0=='F') ) {s = 26;} + + else if ( (LA12_0=='A') ) {s = 27;} + + else if ( (LA12_0=='w') ) {s = 28;} + + else if ( (LA12_0=='L') ) {s = 29;} + + else if ( (LA12_0=='l') ) {s = 30;} + + else if ( (LA12_0=='-') ) {s = 31;} + + else if ( (LA12_0=='N') ) {s = 32;} + + else if ( (LA12_0=='v') ) {s = 33;} + + else if ( (LA12_0=='.') ) {s = 34;} + + else if ( (LA12_0=='o') ) {s = 35;} + + else if ( (LA12_0=='D') ) {s = 36;} + + else if ( (LA12_0=='O') ) {s = 37;} + + else if ( (LA12_0=='V') ) {s = 38;} + + else if ( (LA12_0=='^') ) {s = 39;} + + else if ( ((LA12_0>='G' && LA12_0<='H')||(LA12_0>='J' && LA12_0<='K')||LA12_0=='M'||LA12_0=='Q'||(LA12_0>='T' && LA12_0<='U')||(LA12_0>='W' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='g' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='k')||LA12_0=='q'||LA12_0=='u'||(LA12_0>='x' && LA12_0<='z')) ) {s = 40;} + + else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 41;} + + else if ( (LA12_0=='\"') ) {s = 42;} + + else if ( (LA12_0=='\'') ) {s = 43;} + + else if ( (LA12_0=='/') ) {s = 44;} + + else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 45;} + + else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='#' && LA12_0<='&')||(LA12_0>='*' && LA12_0<='+')||(LA12_0>=':' && LA12_0<='@')||(LA12_0>='[' && LA12_0<=']')||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 46;} + + if ( s>=0 ) return s; + break; + } + NoViableAltException nvae = + new NoViableAltException(getDescription(), 12, _s, input); + error(nvae); + throw nvae; + } + } + + +} \ No newline at end of file diff --git a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSLParser.java b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSLParser.java new file mode 100644 index 0000000000000000000000000000000000000000..27a16d89dc95561cd0971350cb2e9ba878633493 --- /dev/null +++ b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSLParser.java @@ -0,0 +1,21019 @@ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.text.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.emf.common.util.Enumerator; +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 edu.kit.ipd.descartes.mm.applicationlevel.repository.text.services.RepositoryDSLGrammarAccess; + + + +import org.antlr.runtime.*; +import java.util.Stack; +import java.util.List; +import java.util.ArrayList; + +@SuppressWarnings("all") +public class InternalRepositoryDSLParser extends AbstractInternalAntlrParser { + public static final String[] tokenNames = new String[] { + "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'Repository'", "'{'", "'name'", "'datatypes'", "','", "'}'", "'interfaces'", "'components'", "'Interface'", "'parentInterfaces'", "'('", "')'", "'signatures'", "'RepositoryComponent'", "'relationship'", "'providedRoles'", "'blackBoxBehavior'", "'requiredRoles'", "'coarseGrainedBehavior'", "'CollectionDataType'", "'innerType'", "'CompositeDataType'", "'parentTypes'", "'innerDeclarations'", "'PrimitiveDataType'", "'type'", "'InnerDeclaration'", "'dataType'", "'Signature'", "'returnType'", "'parameters'", "'Parameter'", "'modifier'", "'ProvidedRole'", "'interface'", "'BlackBoxBehavior'", "'describedSignature'", "'describedEntity'", "'influencingParameter'", "'responseTimeSpecification'", "'RequiredRole'", "'CoarseGrainedBehavior'", "'externalCallFrequency'", "'resourceDemandSpecification'", "'BasicComponent'", "'passiveResources'", "'fineGrainedBehavior'", "'CompositeComponent'", "'assemblyContexts'", "'assemblyConnectors'", "'providedDelegationConnectors'", "'requiredDelegationConnectors'", "'SubSystem'", "'InfluencingParameter'", "'description'", "'behavior'", "'scope'", "'ResponseTimeSpecification'", "'Scope'", "'interfaceProvidingRequiringEntity'", "'ServiceInputParameter'", "'characterization'", "'signature'", "'parameter'", "'providedRole'", "'ExternalCallReturnParameter'", "'externalCall'", "'ExternalCallParameter'", "'externallCall'", "'FineGrainedBehavior'", "'basicComponent'", "'actions'", "'AbstractAction'", "'predecessor'", "'successor'", "'ComponentInternalBehavior'", "'StartAction'", "'StopAction'", "'AcquireAction'", "'passiveResource'", "'ReleaseAction'", "'InternalAction'", "'withSynchronizationBarrier'", "'ForkAction'", "'forkedBehaviors'", "'BranchAction'", "'branches'", "'branchProbabilities'", "'LoopAction'", "'loopBodyBehavior'", "'loopIterationCountDistribution'", "'ExternalCallAction'", "'requiredRole'", "'PassiveResourceSpecification'", "'passiveResourceType'", "'capacity'", "'PassiveResourceCapacity'", "'-'", "'ResourceDemandSpecification'", "'processingResourceType'", "'ProcessingResourceType'", "'CommunicationLinkResourceType'", "'BranchTransition'", "'branchBehavior'", "'BranchProbabilities'", "'probabilities'", "'ProbabilityMassFunction'", "'sample'", "'ProbabilityDensityFunction'", "'BoxedPDF'", "'ContinuousPDF'", "'NormalDistribution'", "'mu'", "'sigma'", "'ExponentialDistribution'", "'rate'", "'Sample'", "'probability'", "'value'", "'.'", "'ContinuousSample'", "'LoopIterationCountDistribution'", "'AssemblyContext'", "'encapsulatedComponent'", "'AssemblyConnector'", "'providingAssemblyContext'", "'requiringAssemblyContext'", "'ProvidedDelegationConnector'", "'assemblyContext'", "'innerProvidedRole'", "'outerProvidedRole'", "'RequiredDelegationConnector'", "'innerRequiredRole'", "'outerRequiredRole'", "'ExternalCall'", "'ExternalCallFrequency'", "'frequency'", "'CallFrequency'", "'DependencyRelationship'", "'surroundingEntity'", "'influencedVariable'", "'CorrelationRelationship'", "'leftInfluencingParameter'", "'rightInfluencingParameter'", "'leftComponentInstanceReference'", "'rightComponentInstanceReference'", "'ComponentInstanceReference'", "'assemblies'", "'INT'", "'STRING'", "'BOOL'", "'DOUBLE'", "'CHAR'", "'BYTE'", "'LONG'", "'NONE'", "'IN'", "'OUT'", "'INOUT'", "'VALUE'", "'NUMBER_OF_ELEMENTS'" + }; + public static final int RULE_ID=5; + public static final int T__29=29; + public static final int T__28=28; + public static final int T__159=159; + public static final int T__27=27; + public static final int T__158=158; + public static final int T__26=26; + public static final int T__25=25; + public static final int T__24=24; + public static final int T__23=23; + public static final int T__22=22; + public static final int RULE_ANY_OTHER=10; + public static final int T__21=21; + public static final int T__20=20; + public static final int T__160=160; + public static final int T__167=167; + public static final int T__168=168; + public static final int EOF=-1; + public static final int T__165=165; + public static final int T__166=166; + public static final int T__163=163; + public static final int T__164=164; + public static final int T__161=161; + public static final int T__162=162; + public static final int T__93=93; + public static final int T__19=19; + public static final int T__94=94; + public static final int T__91=91; + public static final int T__92=92; + public static final int T__148=148; + public static final int T__16=16; + public static final int T__147=147; + public static final int T__15=15; + public static final int T__90=90; + public static final int T__18=18; + public static final int T__149=149; + public static final int T__17=17; + public static final int T__12=12; + public static final int T__11=11; + public static final int T__14=14; + public static final int T__13=13; + public static final int T__154=154; + public static final int T__155=155; + public static final int T__156=156; + public static final int T__157=157; + public static final int T__99=99; + public static final int T__150=150; + public static final int T__98=98; + public static final int T__151=151; + public static final int T__97=97; + public static final int T__152=152; + public static final int T__96=96; + public static final int T__153=153; + public static final int T__95=95; + public static final int T__139=139; + public static final int T__138=138; + public static final int T__137=137; + public static final int T__136=136; + public static final int T__80=80; + public static final int T__81=81; + public static final int T__82=82; + public static final int T__83=83; + public static final int T__141=141; + public static final int T__85=85; + public static final int T__142=142; + public static final int T__84=84; + public static final int T__87=87; + public static final int T__140=140; + public static final int T__86=86; + public static final int T__145=145; + public static final int T__89=89; + public static final int T__146=146; + public static final int T__88=88; + public static final int RULE_ML_COMMENT=7; + public static final int T__143=143; + public static final int T__144=144; + public static final int T__126=126; + public static final int T__125=125; + public static final int T__128=128; + public static final int RULE_STRING=4; + public static final int T__127=127; + public static final int T__71=71; + public static final int T__129=129; + public static final int T__72=72; + public static final int T__70=70; + public static final int T__76=76; + public static final int T__75=75; + public static final int T__130=130; + public static final int T__74=74; + public static final int T__131=131; + public static final int T__73=73; + public static final int T__132=132; + public static final int T__133=133; + public static final int T__79=79; + public static final int T__134=134; + public static final int T__78=78; + public static final int T__135=135; + public static final int T__77=77; + public static final int T__68=68; + public static final int T__69=69; + public static final int T__66=66; + public static final int T__67=67; + public static final int T__64=64; + public static final int T__65=65; + public static final int T__62=62; + public static final int T__63=63; + public static final int T__118=118; + public static final int T__119=119; + public static final int T__116=116; + public static final int T__117=117; + public static final int T__114=114; + public static final int T__115=115; + public static final int T__124=124; + public static final int T__123=123; + public static final int T__122=122; + public static final int T__121=121; + public static final int T__120=120; + public static final int T__61=61; + public static final int T__60=60; + public static final int T__55=55; + public static final int T__56=56; + public static final int T__57=57; + public static final int T__58=58; + public static final int T__51=51; + public static final int T__52=52; + public static final int T__53=53; + public static final int T__54=54; + public static final int T__107=107; + public static final int T__108=108; + public static final int T__109=109; + public static final int T__103=103; + public static final int T__59=59; + public static final int T__104=104; + public static final int T__105=105; + public static final int T__106=106; + public static final int T__111=111; + public static final int T__110=110; + public static final int RULE_INT=6; + public static final int T__113=113; + public static final int T__112=112; + public static final int T__50=50; + public static final int T__42=42; + public static final int T__43=43; + public static final int T__40=40; + public static final int T__41=41; + public static final int T__46=46; + public static final int T__47=47; + public static final int T__44=44; + public static final int T__45=45; + public static final int T__48=48; + public static final int T__49=49; + public static final int T__102=102; + public static final int T__101=101; + public static final int T__100=100; + public static final int RULE_SL_COMMENT=8; + 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 T__33=33; + public static final int T__34=34; + public static final int T__35=35; + public static final int T__36=36; + public static final int T__37=37; + public static final int T__38=38; + public static final int T__39=39; + public static final int T__171=171; + public static final int T__170=170; + public static final int RULE_WS=9; + public static final int T__169=169; + + // delegates + // delegators + + + public InternalRepositoryDSLParser(TokenStream input) { + this(input, new RecognizerSharedState()); + } + public InternalRepositoryDSLParser(TokenStream input, RecognizerSharedState state) { + super(input, state); + + } + + + public String[] getTokenNames() { return InternalRepositoryDSLParser.tokenNames; } + public String getGrammarFileName() { return "../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g"; } + + + + private RepositoryDSLGrammarAccess grammarAccess; + + public InternalRepositoryDSLParser(TokenStream input, RepositoryDSLGrammarAccess grammarAccess) { + this(input); + this.grammarAccess = grammarAccess; + registerRules(grammarAccess.getGrammar()); + } + + @Override + protected String getFirstRuleName() { + return "Repository"; + } + + @Override + protected RepositoryDSLGrammarAccess getGrammarAccess() { + return grammarAccess; + } + + + + // $ANTLR start "entryRuleRepository" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:68:1: entryRuleRepository returns [EObject current=null] : iv_ruleRepository= ruleRepository EOF ; + public final EObject entryRuleRepository() throws RecognitionException { + EObject current = null; + + EObject iv_ruleRepository = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:69:2: (iv_ruleRepository= ruleRepository EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:70:2: iv_ruleRepository= ruleRepository EOF + { + newCompositeNode(grammarAccess.getRepositoryRule()); + pushFollow(FollowSets000.FOLLOW_ruleRepository_in_entryRuleRepository75); + iv_ruleRepository=ruleRepository(); + + state._fsp--; + + current =iv_ruleRepository; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRepository85); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleRepository" + + + // $ANTLR start "ruleRepository" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:77:1: ruleRepository returns [EObject current=null] : (otherlv_0= 'Repository' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'datatypes' otherlv_6= '{' ( (lv_datatypes_7_0= ruleDataType ) ) (otherlv_8= ',' ( (lv_datatypes_9_0= ruleDataType ) ) )* otherlv_10= '}' )? (otherlv_11= 'interfaces' otherlv_12= '{' ( (lv_interfaces_13_0= ruleInterface ) ) (otherlv_14= ',' ( (lv_interfaces_15_0= ruleInterface ) ) )* otherlv_16= '}' )? (otherlv_17= 'components' otherlv_18= '{' ( (lv_components_19_0= ruleRepositoryComponent ) ) (otherlv_20= ',' ( (lv_components_21_0= ruleRepositoryComponent ) ) )* otherlv_22= '}' )? otherlv_23= '}' ) ; + public final EObject ruleRepository() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_6=null; + Token otherlv_8=null; + Token otherlv_10=null; + Token otherlv_11=null; + Token otherlv_12=null; + Token otherlv_14=null; + Token otherlv_16=null; + Token otherlv_17=null; + Token otherlv_18=null; + Token otherlv_20=null; + Token otherlv_22=null; + Token otherlv_23=null; + AntlrDatatypeRuleToken lv_id_1_0 = null; + + AntlrDatatypeRuleToken lv_name_4_0 = null; + + EObject lv_datatypes_7_0 = null; + + EObject lv_datatypes_9_0 = null; + + EObject lv_interfaces_13_0 = null; + + EObject lv_interfaces_15_0 = null; + + EObject lv_components_19_0 = null; + + EObject lv_components_21_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:80:28: ( (otherlv_0= 'Repository' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'datatypes' otherlv_6= '{' ( (lv_datatypes_7_0= ruleDataType ) ) (otherlv_8= ',' ( (lv_datatypes_9_0= ruleDataType ) ) )* otherlv_10= '}' )? (otherlv_11= 'interfaces' otherlv_12= '{' ( (lv_interfaces_13_0= ruleInterface ) ) (otherlv_14= ',' ( (lv_interfaces_15_0= ruleInterface ) ) )* otherlv_16= '}' )? (otherlv_17= 'components' otherlv_18= '{' ( (lv_components_19_0= ruleRepositoryComponent ) ) (otherlv_20= ',' ( (lv_components_21_0= ruleRepositoryComponent ) ) )* otherlv_22= '}' )? otherlv_23= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:81:1: (otherlv_0= 'Repository' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'datatypes' otherlv_6= '{' ( (lv_datatypes_7_0= ruleDataType ) ) (otherlv_8= ',' ( (lv_datatypes_9_0= ruleDataType ) ) )* otherlv_10= '}' )? (otherlv_11= 'interfaces' otherlv_12= '{' ( (lv_interfaces_13_0= ruleInterface ) ) (otherlv_14= ',' ( (lv_interfaces_15_0= ruleInterface ) ) )* otherlv_16= '}' )? (otherlv_17= 'components' otherlv_18= '{' ( (lv_components_19_0= ruleRepositoryComponent ) ) (otherlv_20= ',' ( (lv_components_21_0= ruleRepositoryComponent ) ) )* otherlv_22= '}' )? otherlv_23= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:81:1: (otherlv_0= 'Repository' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'datatypes' otherlv_6= '{' ( (lv_datatypes_7_0= ruleDataType ) ) (otherlv_8= ',' ( (lv_datatypes_9_0= ruleDataType ) ) )* otherlv_10= '}' )? (otherlv_11= 'interfaces' otherlv_12= '{' ( (lv_interfaces_13_0= ruleInterface ) ) (otherlv_14= ',' ( (lv_interfaces_15_0= ruleInterface ) ) )* otherlv_16= '}' )? (otherlv_17= 'components' otherlv_18= '{' ( (lv_components_19_0= ruleRepositoryComponent ) ) (otherlv_20= ',' ( (lv_components_21_0= ruleRepositoryComponent ) ) )* otherlv_22= '}' )? otherlv_23= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:81:3: otherlv_0= 'Repository' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'datatypes' otherlv_6= '{' ( (lv_datatypes_7_0= ruleDataType ) ) (otherlv_8= ',' ( (lv_datatypes_9_0= ruleDataType ) ) )* otherlv_10= '}' )? (otherlv_11= 'interfaces' otherlv_12= '{' ( (lv_interfaces_13_0= ruleInterface ) ) (otherlv_14= ',' ( (lv_interfaces_15_0= ruleInterface ) ) )* otherlv_16= '}' )? (otherlv_17= 'components' otherlv_18= '{' ( (lv_components_19_0= ruleRepositoryComponent ) ) (otherlv_20= ',' ( (lv_components_21_0= ruleRepositoryComponent ) ) )* otherlv_22= '}' )? otherlv_23= '}' + { + otherlv_0=(Token)match(input,11,FollowSets000.FOLLOW_11_in_ruleRepository122); + + newLeafNode(otherlv_0, grammarAccess.getRepositoryAccess().getRepositoryKeyword_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:85:1: ( (lv_id_1_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:86:1: (lv_id_1_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:86:1: (lv_id_1_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:87:3: lv_id_1_0= ruleEString + { + + newCompositeNode(grammarAccess.getRepositoryAccess().getIdEStringParserRuleCall_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRepository143); + lv_id_1_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRepositoryRule()); + } + set( + current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRepository155); + + newLeafNode(otherlv_2, grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_2()); + + otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleRepository167); + + newLeafNode(otherlv_3, grammarAccess.getRepositoryAccess().getNameKeyword_3()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:111:1: ( (lv_name_4_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:112:1: (lv_name_4_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:112:1: (lv_name_4_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:113:3: lv_name_4_0= ruleEString + { + + newCompositeNode(grammarAccess.getRepositoryAccess().getNameEStringParserRuleCall_4_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRepository188); + lv_name_4_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRepositoryRule()); + } + set( + current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:129:2: (otherlv_5= 'datatypes' otherlv_6= '{' ( (lv_datatypes_7_0= ruleDataType ) ) (otherlv_8= ',' ( (lv_datatypes_9_0= ruleDataType ) ) )* otherlv_10= '}' )? + int alt2=2; + int LA2_0 = input.LA(1); + + if ( (LA2_0==14) ) { + alt2=1; + } + switch (alt2) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:129:4: otherlv_5= 'datatypes' otherlv_6= '{' ( (lv_datatypes_7_0= ruleDataType ) ) (otherlv_8= ',' ( (lv_datatypes_9_0= ruleDataType ) ) )* otherlv_10= '}' + { + otherlv_5=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleRepository201); + + newLeafNode(otherlv_5, grammarAccess.getRepositoryAccess().getDatatypesKeyword_5_0()); + + otherlv_6=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRepository213); + + newLeafNode(otherlv_6, grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_5_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:137:1: ( (lv_datatypes_7_0= ruleDataType ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:138:1: (lv_datatypes_7_0= ruleDataType ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:138:1: (lv_datatypes_7_0= ruleDataType ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:139:3: lv_datatypes_7_0= ruleDataType + { + + newCompositeNode(grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_5_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleDataType_in_ruleRepository234); + lv_datatypes_7_0=ruleDataType(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRepositoryRule()); + } + add( + current, + "datatypes", + lv_datatypes_7_0, + "DataType"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:155:2: (otherlv_8= ',' ( (lv_datatypes_9_0= ruleDataType ) ) )* + loop1: + do { + int alt1=2; + int LA1_0 = input.LA(1); + + if ( (LA1_0==15) ) { + alt1=1; + } + + + switch (alt1) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:155:4: otherlv_8= ',' ( (lv_datatypes_9_0= ruleDataType ) ) + { + otherlv_8=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleRepository247); + + newLeafNode(otherlv_8, grammarAccess.getRepositoryAccess().getCommaKeyword_5_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:159:1: ( (lv_datatypes_9_0= ruleDataType ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:160:1: (lv_datatypes_9_0= ruleDataType ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:160:1: (lv_datatypes_9_0= ruleDataType ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:161:3: lv_datatypes_9_0= ruleDataType + { + + newCompositeNode(grammarAccess.getRepositoryAccess().getDatatypesDataTypeParserRuleCall_5_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleDataType_in_ruleRepository268); + lv_datatypes_9_0=ruleDataType(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRepositoryRule()); + } + add( + current, + "datatypes", + lv_datatypes_9_0, + "DataType"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop1; + } + } while (true); + + otherlv_10=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleRepository282); + + newLeafNode(otherlv_10, grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_5_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:181:3: (otherlv_11= 'interfaces' otherlv_12= '{' ( (lv_interfaces_13_0= ruleInterface ) ) (otherlv_14= ',' ( (lv_interfaces_15_0= ruleInterface ) ) )* otherlv_16= '}' )? + int alt4=2; + int LA4_0 = input.LA(1); + + if ( (LA4_0==17) ) { + alt4=1; + } + switch (alt4) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:181:5: otherlv_11= 'interfaces' otherlv_12= '{' ( (lv_interfaces_13_0= ruleInterface ) ) (otherlv_14= ',' ( (lv_interfaces_15_0= ruleInterface ) ) )* otherlv_16= '}' + { + otherlv_11=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleRepository297); + + newLeafNode(otherlv_11, grammarAccess.getRepositoryAccess().getInterfacesKeyword_6_0()); + + otherlv_12=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRepository309); + + newLeafNode(otherlv_12, grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_6_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:189:1: ( (lv_interfaces_13_0= ruleInterface ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:190:1: (lv_interfaces_13_0= ruleInterface ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:190:1: (lv_interfaces_13_0= ruleInterface ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:191:3: lv_interfaces_13_0= ruleInterface + { + + newCompositeNode(grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_6_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleInterface_in_ruleRepository330); + lv_interfaces_13_0=ruleInterface(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRepositoryRule()); + } + add( + current, + "interfaces", + lv_interfaces_13_0, + "Interface"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:207:2: (otherlv_14= ',' ( (lv_interfaces_15_0= ruleInterface ) ) )* + loop3: + do { + int alt3=2; + int LA3_0 = input.LA(1); + + if ( (LA3_0==15) ) { + alt3=1; + } + + + switch (alt3) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:207:4: otherlv_14= ',' ( (lv_interfaces_15_0= ruleInterface ) ) + { + otherlv_14=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleRepository343); + + newLeafNode(otherlv_14, grammarAccess.getRepositoryAccess().getCommaKeyword_6_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:211:1: ( (lv_interfaces_15_0= ruleInterface ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:212:1: (lv_interfaces_15_0= ruleInterface ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:212:1: (lv_interfaces_15_0= ruleInterface ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:213:3: lv_interfaces_15_0= ruleInterface + { + + newCompositeNode(grammarAccess.getRepositoryAccess().getInterfacesInterfaceParserRuleCall_6_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleInterface_in_ruleRepository364); + lv_interfaces_15_0=ruleInterface(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRepositoryRule()); + } + add( + current, + "interfaces", + lv_interfaces_15_0, + "Interface"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop3; + } + } while (true); + + otherlv_16=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleRepository378); + + newLeafNode(otherlv_16, grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_6_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:233:3: (otherlv_17= 'components' otherlv_18= '{' ( (lv_components_19_0= ruleRepositoryComponent ) ) (otherlv_20= ',' ( (lv_components_21_0= ruleRepositoryComponent ) ) )* otherlv_22= '}' )? + int alt6=2; + int LA6_0 = input.LA(1); + + if ( (LA6_0==18) ) { + alt6=1; + } + switch (alt6) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:233:5: otherlv_17= 'components' otherlv_18= '{' ( (lv_components_19_0= ruleRepositoryComponent ) ) (otherlv_20= ',' ( (lv_components_21_0= ruleRepositoryComponent ) ) )* otherlv_22= '}' + { + otherlv_17=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleRepository393); + + newLeafNode(otherlv_17, grammarAccess.getRepositoryAccess().getComponentsKeyword_7_0()); + + otherlv_18=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRepository405); + + newLeafNode(otherlv_18, grammarAccess.getRepositoryAccess().getLeftCurlyBracketKeyword_7_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:241:1: ( (lv_components_19_0= ruleRepositoryComponent ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:242:1: (lv_components_19_0= ruleRepositoryComponent ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:242:1: (lv_components_19_0= ruleRepositoryComponent ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:243:3: lv_components_19_0= ruleRepositoryComponent + { + + newCompositeNode(grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_7_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleRepositoryComponent_in_ruleRepository426); + lv_components_19_0=ruleRepositoryComponent(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRepositoryRule()); + } + add( + current, + "components", + lv_components_19_0, + "RepositoryComponent"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:259:2: (otherlv_20= ',' ( (lv_components_21_0= ruleRepositoryComponent ) ) )* + loop5: + do { + int alt5=2; + int LA5_0 = input.LA(1); + + if ( (LA5_0==15) ) { + alt5=1; + } + + + switch (alt5) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:259:4: otherlv_20= ',' ( (lv_components_21_0= ruleRepositoryComponent ) ) + { + otherlv_20=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleRepository439); + + newLeafNode(otherlv_20, grammarAccess.getRepositoryAccess().getCommaKeyword_7_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:263:1: ( (lv_components_21_0= ruleRepositoryComponent ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:264:1: (lv_components_21_0= ruleRepositoryComponent ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:264:1: (lv_components_21_0= ruleRepositoryComponent ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:265:3: lv_components_21_0= ruleRepositoryComponent + { + + newCompositeNode(grammarAccess.getRepositoryAccess().getComponentsRepositoryComponentParserRuleCall_7_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleRepositoryComponent_in_ruleRepository460); + lv_components_21_0=ruleRepositoryComponent(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRepositoryRule()); + } + add( + current, + "components", + lv_components_21_0, + "RepositoryComponent"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop5; + } + } while (true); + + otherlv_22=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleRepository474); + + newLeafNode(otherlv_22, grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_7_4()); + + + } + break; + + } + + otherlv_23=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleRepository488); + + newLeafNode(otherlv_23, grammarAccess.getRepositoryAccess().getRightCurlyBracketKeyword_8()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleRepository" + + + // $ANTLR start "entryRuleDataType" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:297:1: entryRuleDataType returns [EObject current=null] : iv_ruleDataType= ruleDataType EOF ; + public final EObject entryRuleDataType() throws RecognitionException { + EObject current = null; + + EObject iv_ruleDataType = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:298:2: (iv_ruleDataType= ruleDataType EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:299:2: iv_ruleDataType= ruleDataType EOF + { + newCompositeNode(grammarAccess.getDataTypeRule()); + pushFollow(FollowSets000.FOLLOW_ruleDataType_in_entryRuleDataType524); + iv_ruleDataType=ruleDataType(); + + state._fsp--; + + current =iv_ruleDataType; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDataType534); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleDataType" + + + // $ANTLR start "ruleDataType" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:306:1: ruleDataType returns [EObject current=null] : (this_CollectionDataType_0= ruleCollectionDataType | this_CompositeDataType_1= ruleCompositeDataType | this_PrimitiveDataType_2= rulePrimitiveDataType ) ; + public final EObject ruleDataType() throws RecognitionException { + EObject current = null; + + EObject this_CollectionDataType_0 = null; + + EObject this_CompositeDataType_1 = null; + + EObject this_PrimitiveDataType_2 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:309:28: ( (this_CollectionDataType_0= ruleCollectionDataType | this_CompositeDataType_1= ruleCompositeDataType | this_PrimitiveDataType_2= rulePrimitiveDataType ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:310:1: (this_CollectionDataType_0= ruleCollectionDataType | this_CompositeDataType_1= ruleCompositeDataType | this_PrimitiveDataType_2= rulePrimitiveDataType ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:310:1: (this_CollectionDataType_0= ruleCollectionDataType | this_CompositeDataType_1= ruleCompositeDataType | this_PrimitiveDataType_2= rulePrimitiveDataType ) + int alt7=3; + switch ( input.LA(1) ) { + case 30: + { + alt7=1; + } + break; + case 32: + { + alt7=2; + } + break; + case 35: + { + alt7=3; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 7, 0, input); + + throw nvae; + } + + switch (alt7) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:311:5: this_CollectionDataType_0= ruleCollectionDataType + { + + newCompositeNode(grammarAccess.getDataTypeAccess().getCollectionDataTypeParserRuleCall_0()); + + pushFollow(FollowSets000.FOLLOW_ruleCollectionDataType_in_ruleDataType581); + this_CollectionDataType_0=ruleCollectionDataType(); + + state._fsp--; + + + current = this_CollectionDataType_0; + afterParserOrEnumRuleCall(); + + + } + break; + case 2 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:321:5: this_CompositeDataType_1= ruleCompositeDataType + { + + newCompositeNode(grammarAccess.getDataTypeAccess().getCompositeDataTypeParserRuleCall_1()); + + pushFollow(FollowSets000.FOLLOW_ruleCompositeDataType_in_ruleDataType608); + this_CompositeDataType_1=ruleCompositeDataType(); + + state._fsp--; + + + current = this_CompositeDataType_1; + afterParserOrEnumRuleCall(); + + + } + break; + case 3 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:331:5: this_PrimitiveDataType_2= rulePrimitiveDataType + { + + newCompositeNode(grammarAccess.getDataTypeAccess().getPrimitiveDataTypeParserRuleCall_2()); + + pushFollow(FollowSets000.FOLLOW_rulePrimitiveDataType_in_ruleDataType635); + this_PrimitiveDataType_2=rulePrimitiveDataType(); + + state._fsp--; + + + current = this_PrimitiveDataType_2; + afterParserOrEnumRuleCall(); + + + } + break; + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleDataType" + + + // $ANTLR start "entryRuleRepositoryComponent" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:347:1: entryRuleRepositoryComponent returns [EObject current=null] : iv_ruleRepositoryComponent= ruleRepositoryComponent EOF ; + public final EObject entryRuleRepositoryComponent() throws RecognitionException { + EObject current = null; + + EObject iv_ruleRepositoryComponent = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:348:2: (iv_ruleRepositoryComponent= ruleRepositoryComponent EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:349:2: iv_ruleRepositoryComponent= ruleRepositoryComponent EOF + { + newCompositeNode(grammarAccess.getRepositoryComponentRule()); + pushFollow(FollowSets000.FOLLOW_ruleRepositoryComponent_in_entryRuleRepositoryComponent670); + iv_ruleRepositoryComponent=ruleRepositoryComponent(); + + state._fsp--; + + current =iv_ruleRepositoryComponent; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRepositoryComponent680); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleRepositoryComponent" + + + // $ANTLR start "ruleRepositoryComponent" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:356:1: ruleRepositoryComponent returns [EObject current=null] : (this_RepositoryComponent_Impl_0= ruleRepositoryComponent_Impl | this_BasicComponent_1= ruleBasicComponent | this_CompositeComponent_2= ruleCompositeComponent | this_SubSystem_3= ruleSubSystem ) ; + public final EObject ruleRepositoryComponent() throws RecognitionException { + EObject current = null; + + EObject this_RepositoryComponent_Impl_0 = null; + + EObject this_BasicComponent_1 = null; + + EObject this_CompositeComponent_2 = null; + + EObject this_SubSystem_3 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:359:28: ( (this_RepositoryComponent_Impl_0= ruleRepositoryComponent_Impl | this_BasicComponent_1= ruleBasicComponent | this_CompositeComponent_2= ruleCompositeComponent | this_SubSystem_3= ruleSubSystem ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:360:1: (this_RepositoryComponent_Impl_0= ruleRepositoryComponent_Impl | this_BasicComponent_1= ruleBasicComponent | this_CompositeComponent_2= ruleCompositeComponent | this_SubSystem_3= ruleSubSystem ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:360:1: (this_RepositoryComponent_Impl_0= ruleRepositoryComponent_Impl | this_BasicComponent_1= ruleBasicComponent | this_CompositeComponent_2= ruleCompositeComponent | this_SubSystem_3= ruleSubSystem ) + int alt8=4; + switch ( input.LA(1) ) { + case 24: + { + alt8=1; + } + break; + case 55: + { + alt8=2; + } + break; + case 58: + { + alt8=3; + } + break; + case 63: + { + alt8=4; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 8, 0, input); + + throw nvae; + } + + switch (alt8) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:361:5: this_RepositoryComponent_Impl_0= ruleRepositoryComponent_Impl + { + + newCompositeNode(grammarAccess.getRepositoryComponentAccess().getRepositoryComponent_ImplParserRuleCall_0()); + + pushFollow(FollowSets000.FOLLOW_ruleRepositoryComponent_Impl_in_ruleRepositoryComponent727); + this_RepositoryComponent_Impl_0=ruleRepositoryComponent_Impl(); + + state._fsp--; + + + current = this_RepositoryComponent_Impl_0; + afterParserOrEnumRuleCall(); + + + } + break; + case 2 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:371:5: this_BasicComponent_1= ruleBasicComponent + { + + newCompositeNode(grammarAccess.getRepositoryComponentAccess().getBasicComponentParserRuleCall_1()); + + pushFollow(FollowSets000.FOLLOW_ruleBasicComponent_in_ruleRepositoryComponent754); + this_BasicComponent_1=ruleBasicComponent(); + + state._fsp--; + + + current = this_BasicComponent_1; + afterParserOrEnumRuleCall(); + + + } + break; + case 3 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:381:5: this_CompositeComponent_2= ruleCompositeComponent + { + + newCompositeNode(grammarAccess.getRepositoryComponentAccess().getCompositeComponentParserRuleCall_2()); + + pushFollow(FollowSets000.FOLLOW_ruleCompositeComponent_in_ruleRepositoryComponent781); + this_CompositeComponent_2=ruleCompositeComponent(); + + state._fsp--; + + + current = this_CompositeComponent_2; + afterParserOrEnumRuleCall(); + + + } + break; + case 4 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:391:5: this_SubSystem_3= ruleSubSystem + { + + newCompositeNode(grammarAccess.getRepositoryComponentAccess().getSubSystemParserRuleCall_3()); + + pushFollow(FollowSets000.FOLLOW_ruleSubSystem_in_ruleRepositoryComponent808); + this_SubSystem_3=ruleSubSystem(); + + state._fsp--; + + + current = this_SubSystem_3; + afterParserOrEnumRuleCall(); + + + } + break; + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleRepositoryComponent" + + + // $ANTLR start "entryRuleInfluencingParameter" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:409:1: entryRuleInfluencingParameter returns [EObject current=null] : iv_ruleInfluencingParameter= ruleInfluencingParameter EOF ; + public final EObject entryRuleInfluencingParameter() throws RecognitionException { + EObject current = null; + + EObject iv_ruleInfluencingParameter = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:410:2: (iv_ruleInfluencingParameter= ruleInfluencingParameter EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:411:2: iv_ruleInfluencingParameter= ruleInfluencingParameter EOF + { + newCompositeNode(grammarAccess.getInfluencingParameterRule()); + pushFollow(FollowSets000.FOLLOW_ruleInfluencingParameter_in_entryRuleInfluencingParameter845); + iv_ruleInfluencingParameter=ruleInfluencingParameter(); + + state._fsp--; + + current =iv_ruleInfluencingParameter; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInfluencingParameter855); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleInfluencingParameter" + + + // $ANTLR start "ruleInfluencingParameter" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:418:1: ruleInfluencingParameter returns [EObject current=null] : (this_InfluencingParameter_Impl_0= ruleInfluencingParameter_Impl | this_ServiceInputParameter_1= ruleServiceInputParameter | this_ExternalCallReturnParameter_2= ruleExternalCallReturnParameter | this_ExternalCallParameter_3= ruleExternalCallParameter ) ; + public final EObject ruleInfluencingParameter() throws RecognitionException { + EObject current = null; + + EObject this_InfluencingParameter_Impl_0 = null; + + EObject this_ServiceInputParameter_1 = null; + + EObject this_ExternalCallReturnParameter_2 = null; + + EObject this_ExternalCallParameter_3 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:421:28: ( (this_InfluencingParameter_Impl_0= ruleInfluencingParameter_Impl | this_ServiceInputParameter_1= ruleServiceInputParameter | this_ExternalCallReturnParameter_2= ruleExternalCallReturnParameter | this_ExternalCallParameter_3= ruleExternalCallParameter ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:422:1: (this_InfluencingParameter_Impl_0= ruleInfluencingParameter_Impl | this_ServiceInputParameter_1= ruleServiceInputParameter | this_ExternalCallReturnParameter_2= ruleExternalCallReturnParameter | this_ExternalCallParameter_3= ruleExternalCallParameter ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:422:1: (this_InfluencingParameter_Impl_0= ruleInfluencingParameter_Impl | this_ServiceInputParameter_1= ruleServiceInputParameter | this_ExternalCallReturnParameter_2= ruleExternalCallReturnParameter | this_ExternalCallParameter_3= ruleExternalCallParameter ) + int alt9=4; + switch ( input.LA(1) ) { + case 64: + { + alt9=1; + } + break; + case 71: + { + alt9=2; + } + break; + case 76: + { + alt9=3; + } + break; + case 78: + { + alt9=4; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 9, 0, input); + + throw nvae; + } + + switch (alt9) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:423:5: this_InfluencingParameter_Impl_0= ruleInfluencingParameter_Impl + { + + newCompositeNode(grammarAccess.getInfluencingParameterAccess().getInfluencingParameter_ImplParserRuleCall_0()); + + pushFollow(FollowSets000.FOLLOW_ruleInfluencingParameter_Impl_in_ruleInfluencingParameter902); + this_InfluencingParameter_Impl_0=ruleInfluencingParameter_Impl(); + + state._fsp--; + + + current = this_InfluencingParameter_Impl_0; + afterParserOrEnumRuleCall(); + + + } + break; + case 2 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:433:5: this_ServiceInputParameter_1= ruleServiceInputParameter + { + + newCompositeNode(grammarAccess.getInfluencingParameterAccess().getServiceInputParameterParserRuleCall_1()); + + pushFollow(FollowSets000.FOLLOW_ruleServiceInputParameter_in_ruleInfluencingParameter929); + this_ServiceInputParameter_1=ruleServiceInputParameter(); + + state._fsp--; + + + current = this_ServiceInputParameter_1; + afterParserOrEnumRuleCall(); + + + } + break; + case 3 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:443:5: this_ExternalCallReturnParameter_2= ruleExternalCallReturnParameter + { + + newCompositeNode(grammarAccess.getInfluencingParameterAccess().getExternalCallReturnParameterParserRuleCall_2()); + + pushFollow(FollowSets000.FOLLOW_ruleExternalCallReturnParameter_in_ruleInfluencingParameter956); + this_ExternalCallReturnParameter_2=ruleExternalCallReturnParameter(); + + state._fsp--; + + + current = this_ExternalCallReturnParameter_2; + afterParserOrEnumRuleCall(); + + + } + break; + case 4 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:453:5: this_ExternalCallParameter_3= ruleExternalCallParameter + { + + newCompositeNode(grammarAccess.getInfluencingParameterAccess().getExternalCallParameterParserRuleCall_3()); + + pushFollow(FollowSets000.FOLLOW_ruleExternalCallParameter_in_ruleInfluencingParameter983); + this_ExternalCallParameter_3=ruleExternalCallParameter(); + + state._fsp--; + + + current = this_ExternalCallParameter_3; + afterParserOrEnumRuleCall(); + + + } + break; + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleInfluencingParameter" + + + // $ANTLR start "entryRuleExternalCall" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:475:1: entryRuleExternalCall returns [EObject current=null] : iv_ruleExternalCall= ruleExternalCall EOF ; + public final EObject entryRuleExternalCall() throws RecognitionException { + EObject current = null; + + EObject iv_ruleExternalCall = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:476:2: (iv_ruleExternalCall= ruleExternalCall EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:477:2: iv_ruleExternalCall= ruleExternalCall EOF + { + newCompositeNode(grammarAccess.getExternalCallRule()); + pushFollow(FollowSets000.FOLLOW_ruleExternalCall_in_entryRuleExternalCall1024); + iv_ruleExternalCall=ruleExternalCall(); + + state._fsp--; + + current =iv_ruleExternalCall; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExternalCall1034); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleExternalCall" + + + // $ANTLR start "ruleExternalCall" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:484:1: ruleExternalCall returns [EObject current=null] : (this_ExternalCall_Impl_0= ruleExternalCall_Impl | this_ExternalCallAction_1= ruleExternalCallAction ) ; + public final EObject ruleExternalCall() throws RecognitionException { + EObject current = null; + + EObject this_ExternalCall_Impl_0 = null; + + EObject this_ExternalCallAction_1 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:487:28: ( (this_ExternalCall_Impl_0= ruleExternalCall_Impl | this_ExternalCallAction_1= ruleExternalCallAction ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:488:1: (this_ExternalCall_Impl_0= ruleExternalCall_Impl | this_ExternalCallAction_1= ruleExternalCallAction ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:488:1: (this_ExternalCall_Impl_0= ruleExternalCall_Impl | this_ExternalCallAction_1= ruleExternalCallAction ) + int alt10=2; + int LA10_0 = input.LA(1); + + if ( (LA10_0==145) ) { + alt10=1; + } + else if ( (LA10_0==102) ) { + alt10=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 10, 0, input); + + throw nvae; + } + switch (alt10) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:489:5: this_ExternalCall_Impl_0= ruleExternalCall_Impl + { + + newCompositeNode(grammarAccess.getExternalCallAccess().getExternalCall_ImplParserRuleCall_0()); + + pushFollow(FollowSets000.FOLLOW_ruleExternalCall_Impl_in_ruleExternalCall1081); + this_ExternalCall_Impl_0=ruleExternalCall_Impl(); + + state._fsp--; + + + current = this_ExternalCall_Impl_0; + afterParserOrEnumRuleCall(); + + + } + break; + case 2 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:499:5: this_ExternalCallAction_1= ruleExternalCallAction + { + + newCompositeNode(grammarAccess.getExternalCallAccess().getExternalCallActionParserRuleCall_1()); + + pushFollow(FollowSets000.FOLLOW_ruleExternalCallAction_in_ruleExternalCall1108); + this_ExternalCallAction_1=ruleExternalCallAction(); + + state._fsp--; + + + current = this_ExternalCallAction_1; + afterParserOrEnumRuleCall(); + + + } + break; + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleExternalCall" + + + // $ANTLR start "entryRuleAbstractAction" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:515:1: entryRuleAbstractAction returns [EObject current=null] : iv_ruleAbstractAction= ruleAbstractAction EOF ; + public final EObject entryRuleAbstractAction() throws RecognitionException { + EObject current = null; + + EObject iv_ruleAbstractAction = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:516:2: (iv_ruleAbstractAction= ruleAbstractAction EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:517:2: iv_ruleAbstractAction= ruleAbstractAction EOF + { + newCompositeNode(grammarAccess.getAbstractActionRule()); + pushFollow(FollowSets000.FOLLOW_ruleAbstractAction_in_entryRuleAbstractAction1143); + iv_ruleAbstractAction=ruleAbstractAction(); + + state._fsp--; + + current =iv_ruleAbstractAction; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAbstractAction1153); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleAbstractAction" + + + // $ANTLR start "ruleAbstractAction" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:524:1: ruleAbstractAction returns [EObject current=null] : (this_AbstractAction_Impl_0= ruleAbstractAction_Impl | this_StartAction_1= ruleStartAction | this_StopAction_2= ruleStopAction | this_AcquireAction_3= ruleAcquireAction | this_ReleaseAction_4= ruleReleaseAction | this_InternalAction_5= ruleInternalAction | this_ForkAction_6= ruleForkAction | this_BranchAction_7= ruleBranchAction | this_LoopAction_8= ruleLoopAction | this_ExternalCallAction_9= ruleExternalCallAction ) ; + public final EObject ruleAbstractAction() throws RecognitionException { + EObject current = null; + + EObject this_AbstractAction_Impl_0 = null; + + EObject this_StartAction_1 = null; + + EObject this_StopAction_2 = null; + + EObject this_AcquireAction_3 = null; + + EObject this_ReleaseAction_4 = null; + + EObject this_InternalAction_5 = null; + + EObject this_ForkAction_6 = null; + + EObject this_BranchAction_7 = null; + + EObject this_LoopAction_8 = null; + + EObject this_ExternalCallAction_9 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:527:28: ( (this_AbstractAction_Impl_0= ruleAbstractAction_Impl | this_StartAction_1= ruleStartAction | this_StopAction_2= ruleStopAction | this_AcquireAction_3= ruleAcquireAction | this_ReleaseAction_4= ruleReleaseAction | this_InternalAction_5= ruleInternalAction | this_ForkAction_6= ruleForkAction | this_BranchAction_7= ruleBranchAction | this_LoopAction_8= ruleLoopAction | this_ExternalCallAction_9= ruleExternalCallAction ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:528:1: (this_AbstractAction_Impl_0= ruleAbstractAction_Impl | this_StartAction_1= ruleStartAction | this_StopAction_2= ruleStopAction | this_AcquireAction_3= ruleAcquireAction | this_ReleaseAction_4= ruleReleaseAction | this_InternalAction_5= ruleInternalAction | this_ForkAction_6= ruleForkAction | this_BranchAction_7= ruleBranchAction | this_LoopAction_8= ruleLoopAction | this_ExternalCallAction_9= ruleExternalCallAction ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:528:1: (this_AbstractAction_Impl_0= ruleAbstractAction_Impl | this_StartAction_1= ruleStartAction | this_StopAction_2= ruleStopAction | this_AcquireAction_3= ruleAcquireAction | this_ReleaseAction_4= ruleReleaseAction | this_InternalAction_5= ruleInternalAction | this_ForkAction_6= ruleForkAction | this_BranchAction_7= ruleBranchAction | this_LoopAction_8= ruleLoopAction | this_ExternalCallAction_9= ruleExternalCallAction ) + int alt11=10; + switch ( input.LA(1) ) { + case 83: + { + alt11=1; + } + break; + case 87: + { + alt11=2; + } + break; + case 88: + { + alt11=3; + } + break; + case 89: + { + alt11=4; + } + break; + case 91: + { + alt11=5; + } + break; + case 92: + { + alt11=6; + } + break; + case 93: + { + alt11=7; + } + break; + case 96: + { + alt11=8; + } + break; + case 99: + { + alt11=9; + } + break; + case 102: + { + alt11=10; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 11, 0, input); + + throw nvae; + } + + switch (alt11) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:529:5: this_AbstractAction_Impl_0= ruleAbstractAction_Impl + { + + newCompositeNode(grammarAccess.getAbstractActionAccess().getAbstractAction_ImplParserRuleCall_0()); + + pushFollow(FollowSets000.FOLLOW_ruleAbstractAction_Impl_in_ruleAbstractAction1200); + this_AbstractAction_Impl_0=ruleAbstractAction_Impl(); + + state._fsp--; + + + current = this_AbstractAction_Impl_0; + afterParserOrEnumRuleCall(); + + + } + break; + case 2 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:539:5: this_StartAction_1= ruleStartAction + { + + newCompositeNode(grammarAccess.getAbstractActionAccess().getStartActionParserRuleCall_1()); + + pushFollow(FollowSets000.FOLLOW_ruleStartAction_in_ruleAbstractAction1227); + this_StartAction_1=ruleStartAction(); + + state._fsp--; + + + current = this_StartAction_1; + afterParserOrEnumRuleCall(); + + + } + break; + case 3 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:549:5: this_StopAction_2= ruleStopAction + { + + newCompositeNode(grammarAccess.getAbstractActionAccess().getStopActionParserRuleCall_2()); + + pushFollow(FollowSets000.FOLLOW_ruleStopAction_in_ruleAbstractAction1254); + this_StopAction_2=ruleStopAction(); + + state._fsp--; + + + current = this_StopAction_2; + afterParserOrEnumRuleCall(); + + + } + break; + case 4 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:559:5: this_AcquireAction_3= ruleAcquireAction + { + + newCompositeNode(grammarAccess.getAbstractActionAccess().getAcquireActionParserRuleCall_3()); + + pushFollow(FollowSets000.FOLLOW_ruleAcquireAction_in_ruleAbstractAction1281); + this_AcquireAction_3=ruleAcquireAction(); + + state._fsp--; + + + current = this_AcquireAction_3; + afterParserOrEnumRuleCall(); + + + } + break; + case 5 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:569:5: this_ReleaseAction_4= ruleReleaseAction + { + + newCompositeNode(grammarAccess.getAbstractActionAccess().getReleaseActionParserRuleCall_4()); + + pushFollow(FollowSets000.FOLLOW_ruleReleaseAction_in_ruleAbstractAction1308); + this_ReleaseAction_4=ruleReleaseAction(); + + state._fsp--; + + + current = this_ReleaseAction_4; + afterParserOrEnumRuleCall(); + + + } + break; + case 6 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:579:5: this_InternalAction_5= ruleInternalAction + { + + newCompositeNode(grammarAccess.getAbstractActionAccess().getInternalActionParserRuleCall_5()); + + pushFollow(FollowSets000.FOLLOW_ruleInternalAction_in_ruleAbstractAction1335); + this_InternalAction_5=ruleInternalAction(); + + state._fsp--; + + + current = this_InternalAction_5; + afterParserOrEnumRuleCall(); + + + } + break; + case 7 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:589:5: this_ForkAction_6= ruleForkAction + { + + newCompositeNode(grammarAccess.getAbstractActionAccess().getForkActionParserRuleCall_6()); + + pushFollow(FollowSets000.FOLLOW_ruleForkAction_in_ruleAbstractAction1362); + this_ForkAction_6=ruleForkAction(); + + state._fsp--; + + + current = this_ForkAction_6; + afterParserOrEnumRuleCall(); + + + } + break; + case 8 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:599:5: this_BranchAction_7= ruleBranchAction + { + + newCompositeNode(grammarAccess.getAbstractActionAccess().getBranchActionParserRuleCall_7()); + + pushFollow(FollowSets000.FOLLOW_ruleBranchAction_in_ruleAbstractAction1389); + this_BranchAction_7=ruleBranchAction(); + + state._fsp--; + + + current = this_BranchAction_7; + afterParserOrEnumRuleCall(); + + + } + break; + case 9 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:609:5: this_LoopAction_8= ruleLoopAction + { + + newCompositeNode(grammarAccess.getAbstractActionAccess().getLoopActionParserRuleCall_8()); + + pushFollow(FollowSets000.FOLLOW_ruleLoopAction_in_ruleAbstractAction1416); + this_LoopAction_8=ruleLoopAction(); + + state._fsp--; + + + current = this_LoopAction_8; + afterParserOrEnumRuleCall(); + + + } + break; + case 10 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:619:5: this_ExternalCallAction_9= ruleExternalCallAction + { + + newCompositeNode(grammarAccess.getAbstractActionAccess().getExternalCallActionParserRuleCall_9()); + + pushFollow(FollowSets000.FOLLOW_ruleExternalCallAction_in_ruleAbstractAction1443); + this_ExternalCallAction_9=ruleExternalCallAction(); + + state._fsp--; + + + current = this_ExternalCallAction_9; + afterParserOrEnumRuleCall(); + + + } + break; + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleAbstractAction" + + + // $ANTLR start "entryRuleComponentInternalBehavior" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:635:1: entryRuleComponentInternalBehavior returns [EObject current=null] : iv_ruleComponentInternalBehavior= ruleComponentInternalBehavior EOF ; + public final EObject entryRuleComponentInternalBehavior() throws RecognitionException { + EObject current = null; + + EObject iv_ruleComponentInternalBehavior = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:636:2: (iv_ruleComponentInternalBehavior= ruleComponentInternalBehavior EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:637:2: iv_ruleComponentInternalBehavior= ruleComponentInternalBehavior EOF + { + newCompositeNode(grammarAccess.getComponentInternalBehaviorRule()); + pushFollow(FollowSets000.FOLLOW_ruleComponentInternalBehavior_in_entryRuleComponentInternalBehavior1478); + iv_ruleComponentInternalBehavior=ruleComponentInternalBehavior(); + + state._fsp--; + + current =iv_ruleComponentInternalBehavior; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleComponentInternalBehavior1488); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleComponentInternalBehavior" + + + // $ANTLR start "ruleComponentInternalBehavior" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:644:1: ruleComponentInternalBehavior returns [EObject current=null] : (this_ComponentInternalBehavior_Impl_0= ruleComponentInternalBehavior_Impl | this_FineGrainedBehavior_1= ruleFineGrainedBehavior ) ; + public final EObject ruleComponentInternalBehavior() throws RecognitionException { + EObject current = null; + + EObject this_ComponentInternalBehavior_Impl_0 = null; + + EObject this_FineGrainedBehavior_1 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:647:28: ( (this_ComponentInternalBehavior_Impl_0= ruleComponentInternalBehavior_Impl | this_FineGrainedBehavior_1= ruleFineGrainedBehavior ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:648:1: (this_ComponentInternalBehavior_Impl_0= ruleComponentInternalBehavior_Impl | this_FineGrainedBehavior_1= ruleFineGrainedBehavior ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:648:1: (this_ComponentInternalBehavior_Impl_0= ruleComponentInternalBehavior_Impl | this_FineGrainedBehavior_1= ruleFineGrainedBehavior ) + int alt12=2; + int LA12_0 = input.LA(1); + + if ( (LA12_0==86) ) { + alt12=1; + } + else if ( (LA12_0==80) ) { + alt12=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 12, 0, input); + + throw nvae; + } + switch (alt12) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:649:5: this_ComponentInternalBehavior_Impl_0= ruleComponentInternalBehavior_Impl + { + + newCompositeNode(grammarAccess.getComponentInternalBehaviorAccess().getComponentInternalBehavior_ImplParserRuleCall_0()); + + pushFollow(FollowSets000.FOLLOW_ruleComponentInternalBehavior_Impl_in_ruleComponentInternalBehavior1535); + this_ComponentInternalBehavior_Impl_0=ruleComponentInternalBehavior_Impl(); + + state._fsp--; + + + current = this_ComponentInternalBehavior_Impl_0; + afterParserOrEnumRuleCall(); + + + } + break; + case 2 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:659:5: this_FineGrainedBehavior_1= ruleFineGrainedBehavior + { + + newCompositeNode(grammarAccess.getComponentInternalBehaviorAccess().getFineGrainedBehaviorParserRuleCall_1()); + + pushFollow(FollowSets000.FOLLOW_ruleFineGrainedBehavior_in_ruleComponentInternalBehavior1562); + this_FineGrainedBehavior_1=ruleFineGrainedBehavior(); + + state._fsp--; + + + current = this_FineGrainedBehavior_1; + afterParserOrEnumRuleCall(); + + + } + break; + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleComponentInternalBehavior" + + + // $ANTLR start "entryRuleEString" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:679:1: entryRuleEString returns [String current=null] : iv_ruleEString= ruleEString EOF ; + public final String entryRuleEString() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleEString = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:680:2: (iv_ruleEString= ruleEString EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:681:2: iv_ruleEString= ruleEString EOF + { + newCompositeNode(grammarAccess.getEStringRule()); + pushFollow(FollowSets000.FOLLOW_ruleEString_in_entryRuleEString1602); + iv_ruleEString=ruleEString(); + + state._fsp--; + + current =iv_ruleEString.getText(); + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEString1613); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleEString" + + + // $ANTLR start "ruleEString" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:688:1: ruleEString returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) ; + public final AntlrDatatypeRuleToken ruleEString() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token this_STRING_0=null; + Token this_ID_1=null; + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:691:28: ( (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:692:1: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:692:1: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) + int alt13=2; + int LA13_0 = input.LA(1); + + if ( (LA13_0==RULE_STRING) ) { + alt13=1; + } + else if ( (LA13_0==RULE_ID) ) { + alt13=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 13, 0, input); + + throw nvae; + } + switch (alt13) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:692:6: this_STRING_0= RULE_STRING + { + this_STRING_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_RULE_STRING_in_ruleEString1653); + + current.merge(this_STRING_0); + + + newLeafNode(this_STRING_0, grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0()); + + + } + break; + case 2 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:700:10: this_ID_1= RULE_ID + { + this_ID_1=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleEString1679); + + current.merge(this_ID_1); + + + newLeafNode(this_ID_1, grammarAccess.getEStringAccess().getIDTerminalRuleCall_1()); + + + } + break; + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleEString" + + + // $ANTLR start "entryRuleInterface" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:715:1: entryRuleInterface returns [EObject current=null] : iv_ruleInterface= ruleInterface EOF ; + public final EObject entryRuleInterface() throws RecognitionException { + EObject current = null; + + EObject iv_ruleInterface = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:716:2: (iv_ruleInterface= ruleInterface EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:717:2: iv_ruleInterface= ruleInterface EOF + { + newCompositeNode(grammarAccess.getInterfaceRule()); + pushFollow(FollowSets000.FOLLOW_ruleInterface_in_entryRuleInterface1724); + iv_ruleInterface=ruleInterface(); + + state._fsp--; + + current =iv_ruleInterface; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInterface1734); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleInterface" + + + // $ANTLR start "ruleInterface" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:724:1: ruleInterface returns [EObject current=null] : (otherlv_0= 'Interface' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'parentInterfaces' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'signatures' otherlv_12= '{' ( (lv_signatures_13_0= ruleSignature ) ) (otherlv_14= ',' ( (lv_signatures_15_0= ruleSignature ) ) )* otherlv_16= '}' )? otherlv_17= '}' ) ; + public final EObject ruleInterface() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_6=null; + Token otherlv_8=null; + Token otherlv_10=null; + Token otherlv_11=null; + Token otherlv_12=null; + Token otherlv_14=null; + Token otherlv_16=null; + Token otherlv_17=null; + AntlrDatatypeRuleToken lv_id_1_0 = null; + + AntlrDatatypeRuleToken lv_name_4_0 = null; + + EObject lv_signatures_13_0 = null; + + EObject lv_signatures_15_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:727:28: ( (otherlv_0= 'Interface' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'parentInterfaces' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'signatures' otherlv_12= '{' ( (lv_signatures_13_0= ruleSignature ) ) (otherlv_14= ',' ( (lv_signatures_15_0= ruleSignature ) ) )* otherlv_16= '}' )? otherlv_17= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:728:1: (otherlv_0= 'Interface' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'parentInterfaces' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'signatures' otherlv_12= '{' ( (lv_signatures_13_0= ruleSignature ) ) (otherlv_14= ',' ( (lv_signatures_15_0= ruleSignature ) ) )* otherlv_16= '}' )? otherlv_17= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:728:1: (otherlv_0= 'Interface' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'parentInterfaces' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'signatures' otherlv_12= '{' ( (lv_signatures_13_0= ruleSignature ) ) (otherlv_14= ',' ( (lv_signatures_15_0= ruleSignature ) ) )* otherlv_16= '}' )? otherlv_17= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:728:3: otherlv_0= 'Interface' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'parentInterfaces' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'signatures' otherlv_12= '{' ( (lv_signatures_13_0= ruleSignature ) ) (otherlv_14= ',' ( (lv_signatures_15_0= ruleSignature ) ) )* otherlv_16= '}' )? otherlv_17= '}' + { + otherlv_0=(Token)match(input,19,FollowSets000.FOLLOW_19_in_ruleInterface1771); + + newLeafNode(otherlv_0, grammarAccess.getInterfaceAccess().getInterfaceKeyword_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:732:1: ( (lv_id_1_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:733:1: (lv_id_1_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:733:1: (lv_id_1_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:734:3: lv_id_1_0= ruleEString + { + + newCompositeNode(grammarAccess.getInterfaceAccess().getIdEStringParserRuleCall_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInterface1792); + lv_id_1_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getInterfaceRule()); + } + set( + current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleInterface1804); + + newLeafNode(otherlv_2, grammarAccess.getInterfaceAccess().getLeftCurlyBracketKeyword_2()); + + otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleInterface1816); + + newLeafNode(otherlv_3, grammarAccess.getInterfaceAccess().getNameKeyword_3()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:758:1: ( (lv_name_4_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:759:1: (lv_name_4_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:759:1: (lv_name_4_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:760:3: lv_name_4_0= ruleEString + { + + newCompositeNode(grammarAccess.getInterfaceAccess().getNameEStringParserRuleCall_4_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInterface1837); + lv_name_4_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getInterfaceRule()); + } + set( + current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:776:2: (otherlv_5= 'parentInterfaces' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? + int alt15=2; + int LA15_0 = input.LA(1); + + if ( (LA15_0==20) ) { + alt15=1; + } + switch (alt15) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:776:4: otherlv_5= 'parentInterfaces' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' + { + otherlv_5=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleInterface1850); + + newLeafNode(otherlv_5, grammarAccess.getInterfaceAccess().getParentInterfacesKeyword_5_0()); + + otherlv_6=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleInterface1862); + + newLeafNode(otherlv_6, grammarAccess.getInterfaceAccess().getLeftParenthesisKeyword_5_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:784:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:785:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:785:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:786:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getInterfaceRule()); + } + + + newCompositeNode(grammarAccess.getInterfaceAccess().getParentInterfacesInterfaceCrossReference_5_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInterface1885); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:799:2: (otherlv_8= ',' ( ( ruleEString ) ) )* + loop14: + do { + int alt14=2; + int LA14_0 = input.LA(1); + + if ( (LA14_0==15) ) { + alt14=1; + } + + + switch (alt14) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:799:4: otherlv_8= ',' ( ( ruleEString ) ) + { + otherlv_8=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleInterface1898); + + newLeafNode(otherlv_8, grammarAccess.getInterfaceAccess().getCommaKeyword_5_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:803:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:804:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:804:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:805:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getInterfaceRule()); + } + + + newCompositeNode(grammarAccess.getInterfaceAccess().getParentInterfacesInterfaceCrossReference_5_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInterface1921); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop14; + } + } while (true); + + otherlv_10=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleInterface1935); + + newLeafNode(otherlv_10, grammarAccess.getInterfaceAccess().getRightParenthesisKeyword_5_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:822:3: (otherlv_11= 'signatures' otherlv_12= '{' ( (lv_signatures_13_0= ruleSignature ) ) (otherlv_14= ',' ( (lv_signatures_15_0= ruleSignature ) ) )* otherlv_16= '}' )? + int alt17=2; + int LA17_0 = input.LA(1); + + if ( (LA17_0==23) ) { + alt17=1; + } + switch (alt17) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:822:5: otherlv_11= 'signatures' otherlv_12= '{' ( (lv_signatures_13_0= ruleSignature ) ) (otherlv_14= ',' ( (lv_signatures_15_0= ruleSignature ) ) )* otherlv_16= '}' + { + otherlv_11=(Token)match(input,23,FollowSets000.FOLLOW_23_in_ruleInterface1950); + + newLeafNode(otherlv_11, grammarAccess.getInterfaceAccess().getSignaturesKeyword_6_0()); + + otherlv_12=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleInterface1962); + + newLeafNode(otherlv_12, grammarAccess.getInterfaceAccess().getLeftCurlyBracketKeyword_6_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:830:1: ( (lv_signatures_13_0= ruleSignature ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:831:1: (lv_signatures_13_0= ruleSignature ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:831:1: (lv_signatures_13_0= ruleSignature ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:832:3: lv_signatures_13_0= ruleSignature + { + + newCompositeNode(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_6_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleSignature_in_ruleInterface1983); + lv_signatures_13_0=ruleSignature(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getInterfaceRule()); + } + add( + current, + "signatures", + lv_signatures_13_0, + "Signature"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:848:2: (otherlv_14= ',' ( (lv_signatures_15_0= ruleSignature ) ) )* + loop16: + do { + int alt16=2; + int LA16_0 = input.LA(1); + + if ( (LA16_0==15) ) { + alt16=1; + } + + + switch (alt16) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:848:4: otherlv_14= ',' ( (lv_signatures_15_0= ruleSignature ) ) + { + otherlv_14=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleInterface1996); + + newLeafNode(otherlv_14, grammarAccess.getInterfaceAccess().getCommaKeyword_6_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:852:1: ( (lv_signatures_15_0= ruleSignature ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:853:1: (lv_signatures_15_0= ruleSignature ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:853:1: (lv_signatures_15_0= ruleSignature ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:854:3: lv_signatures_15_0= ruleSignature + { + + newCompositeNode(grammarAccess.getInterfaceAccess().getSignaturesSignatureParserRuleCall_6_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleSignature_in_ruleInterface2017); + lv_signatures_15_0=ruleSignature(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getInterfaceRule()); + } + add( + current, + "signatures", + lv_signatures_15_0, + "Signature"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop16; + } + } while (true); + + otherlv_16=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleInterface2031); + + newLeafNode(otherlv_16, grammarAccess.getInterfaceAccess().getRightCurlyBracketKeyword_6_4()); + + + } + break; + + } + + otherlv_17=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleInterface2045); + + newLeafNode(otherlv_17, grammarAccess.getInterfaceAccess().getRightCurlyBracketKeyword_7()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleInterface" + + + // $ANTLR start "entryRuleRepositoryComponent_Impl" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:886:1: entryRuleRepositoryComponent_Impl returns [EObject current=null] : iv_ruleRepositoryComponent_Impl= ruleRepositoryComponent_Impl EOF ; + public final EObject entryRuleRepositoryComponent_Impl() throws RecognitionException { + EObject current = null; + + EObject iv_ruleRepositoryComponent_Impl = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:887:2: (iv_ruleRepositoryComponent_Impl= ruleRepositoryComponent_Impl EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:888:2: iv_ruleRepositoryComponent_Impl= ruleRepositoryComponent_Impl EOF + { + newCompositeNode(grammarAccess.getRepositoryComponent_ImplRule()); + pushFollow(FollowSets000.FOLLOW_ruleRepositoryComponent_Impl_in_entryRuleRepositoryComponent_Impl2081); + iv_ruleRepositoryComponent_Impl=ruleRepositoryComponent_Impl(); + + state._fsp--; + + current =iv_ruleRepositoryComponent_Impl; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRepositoryComponent_Impl2091); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleRepositoryComponent_Impl" + + + // $ANTLR start "ruleRepositoryComponent_Impl" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:895:1: ruleRepositoryComponent_Impl returns [EObject current=null] : (otherlv_0= 'RepositoryComponent' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? otherlv_35= '}' ) ; + public final EObject ruleRepositoryComponent_Impl() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_6=null; + Token otherlv_8=null; + Token otherlv_10=null; + Token otherlv_11=null; + Token otherlv_12=null; + Token otherlv_14=null; + Token otherlv_16=null; + Token otherlv_17=null; + Token otherlv_18=null; + Token otherlv_20=null; + Token otherlv_22=null; + Token otherlv_23=null; + Token otherlv_24=null; + Token otherlv_26=null; + Token otherlv_28=null; + Token otherlv_29=null; + Token otherlv_30=null; + Token otherlv_32=null; + Token otherlv_34=null; + Token otherlv_35=null; + AntlrDatatypeRuleToken lv_id_1_0 = null; + + AntlrDatatypeRuleToken lv_name_4_0 = null; + + EObject lv_providedRoles_13_0 = null; + + EObject lv_providedRoles_15_0 = null; + + EObject lv_blackBoxBehavior_19_0 = null; + + EObject lv_blackBoxBehavior_21_0 = null; + + EObject lv_requiredRoles_25_0 = null; + + EObject lv_requiredRoles_27_0 = null; + + EObject lv_coarseGrainedBehavior_31_0 = null; + + EObject lv_coarseGrainedBehavior_33_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:898:28: ( (otherlv_0= 'RepositoryComponent' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? otherlv_35= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:899:1: (otherlv_0= 'RepositoryComponent' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? otherlv_35= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:899:1: (otherlv_0= 'RepositoryComponent' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? otherlv_35= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:899:3: otherlv_0= 'RepositoryComponent' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? otherlv_35= '}' + { + otherlv_0=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleRepositoryComponent_Impl2128); + + newLeafNode(otherlv_0, grammarAccess.getRepositoryComponent_ImplAccess().getRepositoryComponentKeyword_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:903:1: ( (lv_id_1_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:904:1: (lv_id_1_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:904:1: (lv_id_1_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:905:3: lv_id_1_0= ruleEString + { + + newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getIdEStringParserRuleCall_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRepositoryComponent_Impl2149); + lv_id_1_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule()); + } + set( + current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRepositoryComponent_Impl2161); + + newLeafNode(otherlv_2, grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_2()); + + otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleRepositoryComponent_Impl2173); + + newLeafNode(otherlv_3, grammarAccess.getRepositoryComponent_ImplAccess().getNameKeyword_3()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:929:1: ( (lv_name_4_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:930:1: (lv_name_4_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:930:1: (lv_name_4_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:931:3: lv_name_4_0= ruleEString + { + + newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getNameEStringParserRuleCall_4_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRepositoryComponent_Impl2194); + lv_name_4_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule()); + } + set( + current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:947:2: (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? + int alt19=2; + int LA19_0 = input.LA(1); + + if ( (LA19_0==25) ) { + alt19=1; + } + switch (alt19) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:947:4: otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' + { + otherlv_5=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleRepositoryComponent_Impl2207); + + newLeafNode(otherlv_5, grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipKeyword_5_0()); + + otherlv_6=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleRepositoryComponent_Impl2219); + + newLeafNode(otherlv_6, grammarAccess.getRepositoryComponent_ImplAccess().getLeftParenthesisKeyword_5_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:955:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:956:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:956:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:957:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getRepositoryComponent_ImplRule()); + } + + + newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipRelationshipCrossReference_5_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRepositoryComponent_Impl2242); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:970:2: (otherlv_8= ',' ( ( ruleEString ) ) )* + loop18: + do { + int alt18=2; + int LA18_0 = input.LA(1); + + if ( (LA18_0==15) ) { + alt18=1; + } + + + switch (alt18) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:970:4: otherlv_8= ',' ( ( ruleEString ) ) + { + otherlv_8=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleRepositoryComponent_Impl2255); + + newLeafNode(otherlv_8, grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_5_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:974:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:975:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:975:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:976:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getRepositoryComponent_ImplRule()); + } + + + newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getRelationshipRelationshipCrossReference_5_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRepositoryComponent_Impl2278); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop18; + } + } while (true); + + otherlv_10=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleRepositoryComponent_Impl2292); + + newLeafNode(otherlv_10, grammarAccess.getRepositoryComponent_ImplAccess().getRightParenthesisKeyword_5_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:993:3: (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? + int alt21=2; + int LA21_0 = input.LA(1); + + if ( (LA21_0==26) ) { + alt21=1; + } + switch (alt21) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:993:5: otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' + { + otherlv_11=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleRepositoryComponent_Impl2307); + + newLeafNode(otherlv_11, grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesKeyword_6_0()); + + otherlv_12=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRepositoryComponent_Impl2319); + + newLeafNode(otherlv_12, grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_6_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1001:1: ( (lv_providedRoles_13_0= ruleProvidedRole ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1002:1: (lv_providedRoles_13_0= ruleProvidedRole ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1002:1: (lv_providedRoles_13_0= ruleProvidedRole ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1003:3: lv_providedRoles_13_0= ruleProvidedRole + { + + newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesProvidedRoleParserRuleCall_6_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleRepositoryComponent_Impl2340); + lv_providedRoles_13_0=ruleProvidedRole(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule()); + } + add( + current, + "providedRoles", + lv_providedRoles_13_0, + "ProvidedRole"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1019:2: (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* + loop20: + do { + int alt20=2; + int LA20_0 = input.LA(1); + + if ( (LA20_0==15) ) { + alt20=1; + } + + + switch (alt20) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1019:4: otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) + { + otherlv_14=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleRepositoryComponent_Impl2353); + + newLeafNode(otherlv_14, grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_6_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1023:1: ( (lv_providedRoles_15_0= ruleProvidedRole ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1024:1: (lv_providedRoles_15_0= ruleProvidedRole ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1024:1: (lv_providedRoles_15_0= ruleProvidedRole ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1025:3: lv_providedRoles_15_0= ruleProvidedRole + { + + newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleRepositoryComponent_Impl2374); + lv_providedRoles_15_0=ruleProvidedRole(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule()); + } + add( + current, + "providedRoles", + lv_providedRoles_15_0, + "ProvidedRole"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop20; + } + } while (true); + + otherlv_16=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleRepositoryComponent_Impl2388); + + newLeafNode(otherlv_16, grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_6_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1045:3: (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? + int alt23=2; + int LA23_0 = input.LA(1); + + if ( (LA23_0==27) ) { + alt23=1; + } + switch (alt23) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1045:5: otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' + { + otherlv_17=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleRepositoryComponent_Impl2403); + + newLeafNode(otherlv_17, grammarAccess.getRepositoryComponent_ImplAccess().getBlackBoxBehaviorKeyword_7_0()); + + otherlv_18=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRepositoryComponent_Impl2415); + + newLeafNode(otherlv_18, grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_7_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1053:1: ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1054:1: (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1054:1: (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1055:3: lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior + { + + newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleBlackBoxBehavior_in_ruleRepositoryComponent_Impl2436); + lv_blackBoxBehavior_19_0=ruleBlackBoxBehavior(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule()); + } + add( + current, + "blackBoxBehavior", + lv_blackBoxBehavior_19_0, + "BlackBoxBehavior"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1071:2: (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* + loop22: + do { + int alt22=2; + int LA22_0 = input.LA(1); + + if ( (LA22_0==15) ) { + alt22=1; + } + + + switch (alt22) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1071:4: otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) + { + otherlv_20=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleRepositoryComponent_Impl2449); + + newLeafNode(otherlv_20, grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_7_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1075:1: ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1076:1: (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1076:1: (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1077:3: lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior + { + + newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleBlackBoxBehavior_in_ruleRepositoryComponent_Impl2470); + lv_blackBoxBehavior_21_0=ruleBlackBoxBehavior(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule()); + } + add( + current, + "blackBoxBehavior", + lv_blackBoxBehavior_21_0, + "BlackBoxBehavior"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop22; + } + } while (true); + + otherlv_22=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleRepositoryComponent_Impl2484); + + newLeafNode(otherlv_22, grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_7_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1097:3: (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? + int alt25=2; + int LA25_0 = input.LA(1); + + if ( (LA25_0==28) ) { + alt25=1; + } + switch (alt25) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1097:5: otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' + { + otherlv_23=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruleRepositoryComponent_Impl2499); + + newLeafNode(otherlv_23, grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesKeyword_8_0()); + + otherlv_24=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRepositoryComponent_Impl2511); + + newLeafNode(otherlv_24, grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_8_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1105:1: ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1106:1: (lv_requiredRoles_25_0= ruleRequiredRole ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1106:1: (lv_requiredRoles_25_0= ruleRequiredRole ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1107:3: lv_requiredRoles_25_0= ruleRequiredRole + { + + newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesRequiredRoleParserRuleCall_8_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleRepositoryComponent_Impl2532); + lv_requiredRoles_25_0=ruleRequiredRole(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule()); + } + add( + current, + "requiredRoles", + lv_requiredRoles_25_0, + "RequiredRole"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1123:2: (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* + loop24: + do { + int alt24=2; + int LA24_0 = input.LA(1); + + if ( (LA24_0==15) ) { + alt24=1; + } + + + switch (alt24) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1123:4: otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) + { + otherlv_26=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleRepositoryComponent_Impl2545); + + newLeafNode(otherlv_26, grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_8_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1127:1: ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1128:1: (lv_requiredRoles_27_0= ruleRequiredRole ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1128:1: (lv_requiredRoles_27_0= ruleRequiredRole ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1129:3: lv_requiredRoles_27_0= ruleRequiredRole + { + + newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleRepositoryComponent_Impl2566); + lv_requiredRoles_27_0=ruleRequiredRole(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule()); + } + add( + current, + "requiredRoles", + lv_requiredRoles_27_0, + "RequiredRole"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop24; + } + } while (true); + + otherlv_28=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleRepositoryComponent_Impl2580); + + newLeafNode(otherlv_28, grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_8_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1149:3: (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? + int alt27=2; + int LA27_0 = input.LA(1); + + if ( (LA27_0==29) ) { + alt27=1; + } + switch (alt27) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1149:5: otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' + { + otherlv_29=(Token)match(input,29,FollowSets000.FOLLOW_29_in_ruleRepositoryComponent_Impl2595); + + newLeafNode(otherlv_29, grammarAccess.getRepositoryComponent_ImplAccess().getCoarseGrainedBehaviorKeyword_9_0()); + + otherlv_30=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRepositoryComponent_Impl2607); + + newLeafNode(otherlv_30, grammarAccess.getRepositoryComponent_ImplAccess().getLeftCurlyBracketKeyword_9_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1157:1: ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1158:1: (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1158:1: (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1159:3: lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior + { + + newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleCoarseGrainedBehavior_in_ruleRepositoryComponent_Impl2628); + lv_coarseGrainedBehavior_31_0=ruleCoarseGrainedBehavior(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule()); + } + add( + current, + "coarseGrainedBehavior", + lv_coarseGrainedBehavior_31_0, + "CoarseGrainedBehavior"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1175:2: (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* + loop26: + do { + int alt26=2; + int LA26_0 = input.LA(1); + + if ( (LA26_0==15) ) { + alt26=1; + } + + + switch (alt26) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1175:4: otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) + { + otherlv_32=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleRepositoryComponent_Impl2641); + + newLeafNode(otherlv_32, grammarAccess.getRepositoryComponent_ImplAccess().getCommaKeyword_9_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1179:1: ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1180:1: (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1180:1: (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1181:3: lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior + { + + newCompositeNode(grammarAccess.getRepositoryComponent_ImplAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleCoarseGrainedBehavior_in_ruleRepositoryComponent_Impl2662); + lv_coarseGrainedBehavior_33_0=ruleCoarseGrainedBehavior(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRepositoryComponent_ImplRule()); + } + add( + current, + "coarseGrainedBehavior", + lv_coarseGrainedBehavior_33_0, + "CoarseGrainedBehavior"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop26; + } + } while (true); + + otherlv_34=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleRepositoryComponent_Impl2676); + + newLeafNode(otherlv_34, grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_9_4()); + + + } + break; + + } + + otherlv_35=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleRepositoryComponent_Impl2690); + + newLeafNode(otherlv_35, grammarAccess.getRepositoryComponent_ImplAccess().getRightCurlyBracketKeyword_10()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleRepositoryComponent_Impl" + + + // $ANTLR start "entryRuleCollectionDataType" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1213:1: entryRuleCollectionDataType returns [EObject current=null] : iv_ruleCollectionDataType= ruleCollectionDataType EOF ; + public final EObject entryRuleCollectionDataType() throws RecognitionException { + EObject current = null; + + EObject iv_ruleCollectionDataType = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1214:2: (iv_ruleCollectionDataType= ruleCollectionDataType EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1215:2: iv_ruleCollectionDataType= ruleCollectionDataType EOF + { + newCompositeNode(grammarAccess.getCollectionDataTypeRule()); + pushFollow(FollowSets000.FOLLOW_ruleCollectionDataType_in_entryRuleCollectionDataType2726); + iv_ruleCollectionDataType=ruleCollectionDataType(); + + state._fsp--; + + current =iv_ruleCollectionDataType; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionDataType2736); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleCollectionDataType" + + + // $ANTLR start "ruleCollectionDataType" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1222:1: ruleCollectionDataType returns [EObject current=null] : (otherlv_0= 'CollectionDataType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'innerType' ( ( ruleEString ) ) otherlv_7= '}' ) ; + public final EObject ruleCollectionDataType() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + AntlrDatatypeRuleToken lv_id_1_0 = null; + + AntlrDatatypeRuleToken lv_name_4_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1225:28: ( (otherlv_0= 'CollectionDataType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'innerType' ( ( ruleEString ) ) otherlv_7= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1226:1: (otherlv_0= 'CollectionDataType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'innerType' ( ( ruleEString ) ) otherlv_7= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1226:1: (otherlv_0= 'CollectionDataType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'innerType' ( ( ruleEString ) ) otherlv_7= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1226:3: otherlv_0= 'CollectionDataType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'innerType' ( ( ruleEString ) ) otherlv_7= '}' + { + otherlv_0=(Token)match(input,30,FollowSets000.FOLLOW_30_in_ruleCollectionDataType2773); + + newLeafNode(otherlv_0, grammarAccess.getCollectionDataTypeAccess().getCollectionDataTypeKeyword_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1230:1: ( (lv_id_1_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1231:1: (lv_id_1_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1231:1: (lv_id_1_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1232:3: lv_id_1_0= ruleEString + { + + newCompositeNode(grammarAccess.getCollectionDataTypeAccess().getIdEStringParserRuleCall_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCollectionDataType2794); + lv_id_1_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCollectionDataTypeRule()); + } + set( + current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCollectionDataType2806); + + newLeafNode(otherlv_2, grammarAccess.getCollectionDataTypeAccess().getLeftCurlyBracketKeyword_2()); + + otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleCollectionDataType2818); + + newLeafNode(otherlv_3, grammarAccess.getCollectionDataTypeAccess().getNameKeyword_3()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1256:1: ( (lv_name_4_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1257:1: (lv_name_4_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1257:1: (lv_name_4_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1258:3: lv_name_4_0= ruleEString + { + + newCompositeNode(grammarAccess.getCollectionDataTypeAccess().getNameEStringParserRuleCall_4_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCollectionDataType2839); + lv_name_4_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCollectionDataTypeRule()); + } + set( + current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_5=(Token)match(input,31,FollowSets000.FOLLOW_31_in_ruleCollectionDataType2851); + + newLeafNode(otherlv_5, grammarAccess.getCollectionDataTypeAccess().getInnerTypeKeyword_5()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1278:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1279:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1279:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1280:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getCollectionDataTypeRule()); + } + + + newCompositeNode(grammarAccess.getCollectionDataTypeAccess().getInnerTypeDataTypeCrossReference_6_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCollectionDataType2874); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_7=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCollectionDataType2886); + + newLeafNode(otherlv_7, grammarAccess.getCollectionDataTypeAccess().getRightCurlyBracketKeyword_7()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleCollectionDataType" + + + // $ANTLR start "entryRuleCompositeDataType" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1305:1: entryRuleCompositeDataType returns [EObject current=null] : iv_ruleCompositeDataType= ruleCompositeDataType EOF ; + public final EObject entryRuleCompositeDataType() throws RecognitionException { + EObject current = null; + + EObject iv_ruleCompositeDataType = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1306:2: (iv_ruleCompositeDataType= ruleCompositeDataType EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1307:2: iv_ruleCompositeDataType= ruleCompositeDataType EOF + { + newCompositeNode(grammarAccess.getCompositeDataTypeRule()); + pushFollow(FollowSets000.FOLLOW_ruleCompositeDataType_in_entryRuleCompositeDataType2922); + iv_ruleCompositeDataType=ruleCompositeDataType(); + + state._fsp--; + + current =iv_ruleCompositeDataType; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCompositeDataType2932); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleCompositeDataType" + + + // $ANTLR start "ruleCompositeDataType" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1314:1: ruleCompositeDataType returns [EObject current=null] : (otherlv_0= 'CompositeDataType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'parentTypes' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'innerDeclarations' otherlv_12= '{' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) ) (otherlv_14= ',' ( (lv_innerDeclarations_15_0= ruleInnerDeclaration ) ) )* otherlv_16= '}' )? otherlv_17= '}' ) ; + public final EObject ruleCompositeDataType() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_6=null; + Token otherlv_8=null; + Token otherlv_10=null; + Token otherlv_11=null; + Token otherlv_12=null; + Token otherlv_14=null; + Token otherlv_16=null; + Token otherlv_17=null; + AntlrDatatypeRuleToken lv_id_1_0 = null; + + AntlrDatatypeRuleToken lv_name_4_0 = null; + + EObject lv_innerDeclarations_13_0 = null; + + EObject lv_innerDeclarations_15_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1317:28: ( (otherlv_0= 'CompositeDataType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'parentTypes' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'innerDeclarations' otherlv_12= '{' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) ) (otherlv_14= ',' ( (lv_innerDeclarations_15_0= ruleInnerDeclaration ) ) )* otherlv_16= '}' )? otherlv_17= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1318:1: (otherlv_0= 'CompositeDataType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'parentTypes' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'innerDeclarations' otherlv_12= '{' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) ) (otherlv_14= ',' ( (lv_innerDeclarations_15_0= ruleInnerDeclaration ) ) )* otherlv_16= '}' )? otherlv_17= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1318:1: (otherlv_0= 'CompositeDataType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'parentTypes' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'innerDeclarations' otherlv_12= '{' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) ) (otherlv_14= ',' ( (lv_innerDeclarations_15_0= ruleInnerDeclaration ) ) )* otherlv_16= '}' )? otherlv_17= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1318:3: otherlv_0= 'CompositeDataType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'parentTypes' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'innerDeclarations' otherlv_12= '{' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) ) (otherlv_14= ',' ( (lv_innerDeclarations_15_0= ruleInnerDeclaration ) ) )* otherlv_16= '}' )? otherlv_17= '}' + { + otherlv_0=(Token)match(input,32,FollowSets000.FOLLOW_32_in_ruleCompositeDataType2969); + + newLeafNode(otherlv_0, grammarAccess.getCompositeDataTypeAccess().getCompositeDataTypeKeyword_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1322:1: ( (lv_id_1_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1323:1: (lv_id_1_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1323:1: (lv_id_1_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1324:3: lv_id_1_0= ruleEString + { + + newCompositeNode(grammarAccess.getCompositeDataTypeAccess().getIdEStringParserRuleCall_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCompositeDataType2990); + lv_id_1_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCompositeDataTypeRule()); + } + set( + current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCompositeDataType3002); + + newLeafNode(otherlv_2, grammarAccess.getCompositeDataTypeAccess().getLeftCurlyBracketKeyword_2()); + + otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleCompositeDataType3014); + + newLeafNode(otherlv_3, grammarAccess.getCompositeDataTypeAccess().getNameKeyword_3()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1348:1: ( (lv_name_4_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1349:1: (lv_name_4_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1349:1: (lv_name_4_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1350:3: lv_name_4_0= ruleEString + { + + newCompositeNode(grammarAccess.getCompositeDataTypeAccess().getNameEStringParserRuleCall_4_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCompositeDataType3035); + lv_name_4_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCompositeDataTypeRule()); + } + set( + current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1366:2: (otherlv_5= 'parentTypes' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? + int alt29=2; + int LA29_0 = input.LA(1); + + if ( (LA29_0==33) ) { + alt29=1; + } + switch (alt29) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1366:4: otherlv_5= 'parentTypes' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' + { + otherlv_5=(Token)match(input,33,FollowSets000.FOLLOW_33_in_ruleCompositeDataType3048); + + newLeafNode(otherlv_5, grammarAccess.getCompositeDataTypeAccess().getParentTypesKeyword_5_0()); + + otherlv_6=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleCompositeDataType3060); + + newLeafNode(otherlv_6, grammarAccess.getCompositeDataTypeAccess().getLeftParenthesisKeyword_5_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1374:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1375:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1375:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1376:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getCompositeDataTypeRule()); + } + + + newCompositeNode(grammarAccess.getCompositeDataTypeAccess().getParentTypesCompositeDataTypeCrossReference_5_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCompositeDataType3083); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1389:2: (otherlv_8= ',' ( ( ruleEString ) ) )* + loop28: + do { + int alt28=2; + int LA28_0 = input.LA(1); + + if ( (LA28_0==15) ) { + alt28=1; + } + + + switch (alt28) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1389:4: otherlv_8= ',' ( ( ruleEString ) ) + { + otherlv_8=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCompositeDataType3096); + + newLeafNode(otherlv_8, grammarAccess.getCompositeDataTypeAccess().getCommaKeyword_5_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1393:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1394:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1394:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1395:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getCompositeDataTypeRule()); + } + + + newCompositeNode(grammarAccess.getCompositeDataTypeAccess().getParentTypesCompositeDataTypeCrossReference_5_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCompositeDataType3119); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop28; + } + } while (true); + + otherlv_10=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleCompositeDataType3133); + + newLeafNode(otherlv_10, grammarAccess.getCompositeDataTypeAccess().getRightParenthesisKeyword_5_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1412:3: (otherlv_11= 'innerDeclarations' otherlv_12= '{' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) ) (otherlv_14= ',' ( (lv_innerDeclarations_15_0= ruleInnerDeclaration ) ) )* otherlv_16= '}' )? + int alt31=2; + int LA31_0 = input.LA(1); + + if ( (LA31_0==34) ) { + alt31=1; + } + switch (alt31) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1412:5: otherlv_11= 'innerDeclarations' otherlv_12= '{' ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) ) (otherlv_14= ',' ( (lv_innerDeclarations_15_0= ruleInnerDeclaration ) ) )* otherlv_16= '}' + { + otherlv_11=(Token)match(input,34,FollowSets000.FOLLOW_34_in_ruleCompositeDataType3148); + + newLeafNode(otherlv_11, grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsKeyword_6_0()); + + otherlv_12=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCompositeDataType3160); + + newLeafNode(otherlv_12, grammarAccess.getCompositeDataTypeAccess().getLeftCurlyBracketKeyword_6_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1420:1: ( (lv_innerDeclarations_13_0= ruleInnerDeclaration ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1421:1: (lv_innerDeclarations_13_0= ruleInnerDeclaration ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1421:1: (lv_innerDeclarations_13_0= ruleInnerDeclaration ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1422:3: lv_innerDeclarations_13_0= ruleInnerDeclaration + { + + newCompositeNode(grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsInnerDeclarationParserRuleCall_6_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleInnerDeclaration_in_ruleCompositeDataType3181); + lv_innerDeclarations_13_0=ruleInnerDeclaration(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCompositeDataTypeRule()); + } + add( + current, + "innerDeclarations", + lv_innerDeclarations_13_0, + "InnerDeclaration"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1438:2: (otherlv_14= ',' ( (lv_innerDeclarations_15_0= ruleInnerDeclaration ) ) )* + loop30: + do { + int alt30=2; + int LA30_0 = input.LA(1); + + if ( (LA30_0==15) ) { + alt30=1; + } + + + switch (alt30) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1438:4: otherlv_14= ',' ( (lv_innerDeclarations_15_0= ruleInnerDeclaration ) ) + { + otherlv_14=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCompositeDataType3194); + + newLeafNode(otherlv_14, grammarAccess.getCompositeDataTypeAccess().getCommaKeyword_6_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1442:1: ( (lv_innerDeclarations_15_0= ruleInnerDeclaration ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1443:1: (lv_innerDeclarations_15_0= ruleInnerDeclaration ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1443:1: (lv_innerDeclarations_15_0= ruleInnerDeclaration ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1444:3: lv_innerDeclarations_15_0= ruleInnerDeclaration + { + + newCompositeNode(grammarAccess.getCompositeDataTypeAccess().getInnerDeclarationsInnerDeclarationParserRuleCall_6_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleInnerDeclaration_in_ruleCompositeDataType3215); + lv_innerDeclarations_15_0=ruleInnerDeclaration(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCompositeDataTypeRule()); + } + add( + current, + "innerDeclarations", + lv_innerDeclarations_15_0, + "InnerDeclaration"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop30; + } + } while (true); + + otherlv_16=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCompositeDataType3229); + + newLeafNode(otherlv_16, grammarAccess.getCompositeDataTypeAccess().getRightCurlyBracketKeyword_6_4()); + + + } + break; + + } + + otherlv_17=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCompositeDataType3243); + + newLeafNode(otherlv_17, grammarAccess.getCompositeDataTypeAccess().getRightCurlyBracketKeyword_7()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleCompositeDataType" + + + // $ANTLR start "entryRulePrimitiveDataType" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1476:1: entryRulePrimitiveDataType returns [EObject current=null] : iv_rulePrimitiveDataType= rulePrimitiveDataType EOF ; + public final EObject entryRulePrimitiveDataType() throws RecognitionException { + EObject current = null; + + EObject iv_rulePrimitiveDataType = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1477:2: (iv_rulePrimitiveDataType= rulePrimitiveDataType EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1478:2: iv_rulePrimitiveDataType= rulePrimitiveDataType EOF + { + newCompositeNode(grammarAccess.getPrimitiveDataTypeRule()); + pushFollow(FollowSets000.FOLLOW_rulePrimitiveDataType_in_entryRulePrimitiveDataType3279); + iv_rulePrimitiveDataType=rulePrimitiveDataType(); + + state._fsp--; + + current =iv_rulePrimitiveDataType; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrimitiveDataType3289); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRulePrimitiveDataType" + + + // $ANTLR start "rulePrimitiveDataType" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1485:1: rulePrimitiveDataType returns [EObject current=null] : (otherlv_0= 'PrimitiveDataType' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= rulePrimitiveTypeEnum ) ) otherlv_4= '}' ) ; + public final EObject rulePrimitiveDataType() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Enumerator lv_type_3_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1488:28: ( (otherlv_0= 'PrimitiveDataType' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= rulePrimitiveTypeEnum ) ) otherlv_4= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1489:1: (otherlv_0= 'PrimitiveDataType' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= rulePrimitiveTypeEnum ) ) otherlv_4= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1489:1: (otherlv_0= 'PrimitiveDataType' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= rulePrimitiveTypeEnum ) ) otherlv_4= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1489:3: otherlv_0= 'PrimitiveDataType' otherlv_1= '{' otherlv_2= 'type' ( (lv_type_3_0= rulePrimitiveTypeEnum ) ) otherlv_4= '}' + { + otherlv_0=(Token)match(input,35,FollowSets000.FOLLOW_35_in_rulePrimitiveDataType3326); + + newLeafNode(otherlv_0, grammarAccess.getPrimitiveDataTypeAccess().getPrimitiveDataTypeKeyword_0()); + + otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_rulePrimitiveDataType3338); + + newLeafNode(otherlv_1, grammarAccess.getPrimitiveDataTypeAccess().getLeftCurlyBracketKeyword_1()); + + otherlv_2=(Token)match(input,36,FollowSets000.FOLLOW_36_in_rulePrimitiveDataType3350); + + newLeafNode(otherlv_2, grammarAccess.getPrimitiveDataTypeAccess().getTypeKeyword_2()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1501:1: ( (lv_type_3_0= rulePrimitiveTypeEnum ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1502:1: (lv_type_3_0= rulePrimitiveTypeEnum ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1502:1: (lv_type_3_0= rulePrimitiveTypeEnum ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1503:3: lv_type_3_0= rulePrimitiveTypeEnum + { + + newCompositeNode(grammarAccess.getPrimitiveDataTypeAccess().getTypePrimitiveTypeEnumEnumRuleCall_3_0()); + + pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeEnum_in_rulePrimitiveDataType3371); + lv_type_3_0=rulePrimitiveTypeEnum(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPrimitiveDataTypeRule()); + } + set( + current, + "type", + lv_type_3_0, + "PrimitiveTypeEnum"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_4=(Token)match(input,16,FollowSets000.FOLLOW_16_in_rulePrimitiveDataType3383); + + newLeafNode(otherlv_4, grammarAccess.getPrimitiveDataTypeAccess().getRightCurlyBracketKeyword_4()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "rulePrimitiveDataType" + + + // $ANTLR start "entryRuleInnerDeclaration" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1531:1: entryRuleInnerDeclaration returns [EObject current=null] : iv_ruleInnerDeclaration= ruleInnerDeclaration EOF ; + public final EObject entryRuleInnerDeclaration() throws RecognitionException { + EObject current = null; + + EObject iv_ruleInnerDeclaration = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1532:2: (iv_ruleInnerDeclaration= ruleInnerDeclaration EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1533:2: iv_ruleInnerDeclaration= ruleInnerDeclaration EOF + { + newCompositeNode(grammarAccess.getInnerDeclarationRule()); + pushFollow(FollowSets000.FOLLOW_ruleInnerDeclaration_in_entryRuleInnerDeclaration3419); + iv_ruleInnerDeclaration=ruleInnerDeclaration(); + + state._fsp--; + + current =iv_ruleInnerDeclaration; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInnerDeclaration3429); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleInnerDeclaration" + + + // $ANTLR start "ruleInnerDeclaration" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1540:1: ruleInnerDeclaration returns [EObject current=null] : (otherlv_0= 'InnerDeclaration' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'dataType' ( ( ruleEString ) ) otherlv_7= '}' ) ; + public final EObject ruleInnerDeclaration() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + AntlrDatatypeRuleToken lv_id_1_0 = null; + + AntlrDatatypeRuleToken lv_name_4_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1543:28: ( (otherlv_0= 'InnerDeclaration' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'dataType' ( ( ruleEString ) ) otherlv_7= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1544:1: (otherlv_0= 'InnerDeclaration' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'dataType' ( ( ruleEString ) ) otherlv_7= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1544:1: (otherlv_0= 'InnerDeclaration' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'dataType' ( ( ruleEString ) ) otherlv_7= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1544:3: otherlv_0= 'InnerDeclaration' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'dataType' ( ( ruleEString ) ) otherlv_7= '}' + { + otherlv_0=(Token)match(input,37,FollowSets000.FOLLOW_37_in_ruleInnerDeclaration3466); + + newLeafNode(otherlv_0, grammarAccess.getInnerDeclarationAccess().getInnerDeclarationKeyword_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1548:1: ( (lv_id_1_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1549:1: (lv_id_1_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1549:1: (lv_id_1_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1550:3: lv_id_1_0= ruleEString + { + + newCompositeNode(grammarAccess.getInnerDeclarationAccess().getIdEStringParserRuleCall_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInnerDeclaration3487); + lv_id_1_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getInnerDeclarationRule()); + } + set( + current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleInnerDeclaration3499); + + newLeafNode(otherlv_2, grammarAccess.getInnerDeclarationAccess().getLeftCurlyBracketKeyword_2()); + + otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleInnerDeclaration3511); + + newLeafNode(otherlv_3, grammarAccess.getInnerDeclarationAccess().getNameKeyword_3()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1574:1: ( (lv_name_4_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1575:1: (lv_name_4_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1575:1: (lv_name_4_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1576:3: lv_name_4_0= ruleEString + { + + newCompositeNode(grammarAccess.getInnerDeclarationAccess().getNameEStringParserRuleCall_4_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInnerDeclaration3532); + lv_name_4_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getInnerDeclarationRule()); + } + set( + current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_5=(Token)match(input,38,FollowSets000.FOLLOW_38_in_ruleInnerDeclaration3544); + + newLeafNode(otherlv_5, grammarAccess.getInnerDeclarationAccess().getDataTypeKeyword_5()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1596:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1597:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1597:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1598:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getInnerDeclarationRule()); + } + + + newCompositeNode(grammarAccess.getInnerDeclarationAccess().getDataTypeDataTypeCrossReference_6_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInnerDeclaration3567); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_7=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleInnerDeclaration3579); + + newLeafNode(otherlv_7, grammarAccess.getInnerDeclarationAccess().getRightCurlyBracketKeyword_7()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleInnerDeclaration" + + + // $ANTLR start "entryRuleSignature" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1623:1: entryRuleSignature returns [EObject current=null] : iv_ruleSignature= ruleSignature EOF ; + public final EObject entryRuleSignature() throws RecognitionException { + EObject current = null; + + EObject iv_ruleSignature = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1624:2: (iv_ruleSignature= ruleSignature EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1625:2: iv_ruleSignature= ruleSignature EOF + { + newCompositeNode(grammarAccess.getSignatureRule()); + pushFollow(FollowSets000.FOLLOW_ruleSignature_in_entryRuleSignature3615); + iv_ruleSignature=ruleSignature(); + + state._fsp--; + + current =iv_ruleSignature; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSignature3625); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleSignature" + + + // $ANTLR start "ruleSignature" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1632:1: ruleSignature returns [EObject current=null] : (otherlv_0= 'Signature' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'returnType' ( ( ruleEString ) ) )? (otherlv_7= 'parameters' otherlv_8= '{' ( (lv_parameters_9_0= ruleParameter ) ) (otherlv_10= ',' ( (lv_parameters_11_0= ruleParameter ) ) )* otherlv_12= '}' )? otherlv_13= '}' ) ; + public final EObject ruleSignature() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + Token otherlv_8=null; + Token otherlv_10=null; + Token otherlv_12=null; + Token otherlv_13=null; + AntlrDatatypeRuleToken lv_id_1_0 = null; + + AntlrDatatypeRuleToken lv_name_4_0 = null; + + EObject lv_parameters_9_0 = null; + + EObject lv_parameters_11_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1635:28: ( (otherlv_0= 'Signature' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'returnType' ( ( ruleEString ) ) )? (otherlv_7= 'parameters' otherlv_8= '{' ( (lv_parameters_9_0= ruleParameter ) ) (otherlv_10= ',' ( (lv_parameters_11_0= ruleParameter ) ) )* otherlv_12= '}' )? otherlv_13= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1636:1: (otherlv_0= 'Signature' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'returnType' ( ( ruleEString ) ) )? (otherlv_7= 'parameters' otherlv_8= '{' ( (lv_parameters_9_0= ruleParameter ) ) (otherlv_10= ',' ( (lv_parameters_11_0= ruleParameter ) ) )* otherlv_12= '}' )? otherlv_13= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1636:1: (otherlv_0= 'Signature' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'returnType' ( ( ruleEString ) ) )? (otherlv_7= 'parameters' otherlv_8= '{' ( (lv_parameters_9_0= ruleParameter ) ) (otherlv_10= ',' ( (lv_parameters_11_0= ruleParameter ) ) )* otherlv_12= '}' )? otherlv_13= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1636:3: otherlv_0= 'Signature' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'returnType' ( ( ruleEString ) ) )? (otherlv_7= 'parameters' otherlv_8= '{' ( (lv_parameters_9_0= ruleParameter ) ) (otherlv_10= ',' ( (lv_parameters_11_0= ruleParameter ) ) )* otherlv_12= '}' )? otherlv_13= '}' + { + otherlv_0=(Token)match(input,39,FollowSets000.FOLLOW_39_in_ruleSignature3662); + + newLeafNode(otherlv_0, grammarAccess.getSignatureAccess().getSignatureKeyword_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1640:1: ( (lv_id_1_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1641:1: (lv_id_1_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1641:1: (lv_id_1_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1642:3: lv_id_1_0= ruleEString + { + + newCompositeNode(grammarAccess.getSignatureAccess().getIdEStringParserRuleCall_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSignature3683); + lv_id_1_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSignatureRule()); + } + set( + current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSignature3695); + + newLeafNode(otherlv_2, grammarAccess.getSignatureAccess().getLeftCurlyBracketKeyword_2()); + + otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleSignature3707); + + newLeafNode(otherlv_3, grammarAccess.getSignatureAccess().getNameKeyword_3()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1666:1: ( (lv_name_4_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1667:1: (lv_name_4_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1667:1: (lv_name_4_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1668:3: lv_name_4_0= ruleEString + { + + newCompositeNode(grammarAccess.getSignatureAccess().getNameEStringParserRuleCall_4_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSignature3728); + lv_name_4_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSignatureRule()); + } + set( + current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1684:2: (otherlv_5= 'returnType' ( ( ruleEString ) ) )? + int alt32=2; + int LA32_0 = input.LA(1); + + if ( (LA32_0==40) ) { + alt32=1; + } + switch (alt32) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1684:4: otherlv_5= 'returnType' ( ( ruleEString ) ) + { + otherlv_5=(Token)match(input,40,FollowSets000.FOLLOW_40_in_ruleSignature3741); + + newLeafNode(otherlv_5, grammarAccess.getSignatureAccess().getReturnTypeKeyword_5_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1688:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1689:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1689:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1690:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getSignatureRule()); + } + + + newCompositeNode(grammarAccess.getSignatureAccess().getReturnTypeDataTypeCrossReference_5_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSignature3764); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1703:4: (otherlv_7= 'parameters' otherlv_8= '{' ( (lv_parameters_9_0= ruleParameter ) ) (otherlv_10= ',' ( (lv_parameters_11_0= ruleParameter ) ) )* otherlv_12= '}' )? + int alt34=2; + int LA34_0 = input.LA(1); + + if ( (LA34_0==41) ) { + alt34=1; + } + switch (alt34) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1703:6: otherlv_7= 'parameters' otherlv_8= '{' ( (lv_parameters_9_0= ruleParameter ) ) (otherlv_10= ',' ( (lv_parameters_11_0= ruleParameter ) ) )* otherlv_12= '}' + { + otherlv_7=(Token)match(input,41,FollowSets000.FOLLOW_41_in_ruleSignature3779); + + newLeafNode(otherlv_7, grammarAccess.getSignatureAccess().getParametersKeyword_6_0()); + + otherlv_8=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSignature3791); + + newLeafNode(otherlv_8, grammarAccess.getSignatureAccess().getLeftCurlyBracketKeyword_6_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1711:1: ( (lv_parameters_9_0= ruleParameter ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1712:1: (lv_parameters_9_0= ruleParameter ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1712:1: (lv_parameters_9_0= ruleParameter ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1713:3: lv_parameters_9_0= ruleParameter + { + + newCompositeNode(grammarAccess.getSignatureAccess().getParametersParameterParserRuleCall_6_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleParameter_in_ruleSignature3812); + lv_parameters_9_0=ruleParameter(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSignatureRule()); + } + add( + current, + "parameters", + lv_parameters_9_0, + "Parameter"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1729:2: (otherlv_10= ',' ( (lv_parameters_11_0= ruleParameter ) ) )* + loop33: + do { + int alt33=2; + int LA33_0 = input.LA(1); + + if ( (LA33_0==15) ) { + alt33=1; + } + + + switch (alt33) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1729:4: otherlv_10= ',' ( (lv_parameters_11_0= ruleParameter ) ) + { + otherlv_10=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleSignature3825); + + newLeafNode(otherlv_10, grammarAccess.getSignatureAccess().getCommaKeyword_6_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1733:1: ( (lv_parameters_11_0= ruleParameter ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1734:1: (lv_parameters_11_0= ruleParameter ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1734:1: (lv_parameters_11_0= ruleParameter ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1735:3: lv_parameters_11_0= ruleParameter + { + + newCompositeNode(grammarAccess.getSignatureAccess().getParametersParameterParserRuleCall_6_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleParameter_in_ruleSignature3846); + lv_parameters_11_0=ruleParameter(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSignatureRule()); + } + add( + current, + "parameters", + lv_parameters_11_0, + "Parameter"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop33; + } + } while (true); + + otherlv_12=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleSignature3860); + + newLeafNode(otherlv_12, grammarAccess.getSignatureAccess().getRightCurlyBracketKeyword_6_4()); + + + } + break; + + } + + otherlv_13=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleSignature3874); + + newLeafNode(otherlv_13, grammarAccess.getSignatureAccess().getRightCurlyBracketKeyword_7()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleSignature" + + + // $ANTLR start "entryRuleParameter" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1767:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ; + public final EObject entryRuleParameter() throws RecognitionException { + EObject current = null; + + EObject iv_ruleParameter = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1768:2: (iv_ruleParameter= ruleParameter EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1769:2: iv_ruleParameter= ruleParameter EOF + { + newCompositeNode(grammarAccess.getParameterRule()); + pushFollow(FollowSets000.FOLLOW_ruleParameter_in_entryRuleParameter3910); + iv_ruleParameter=ruleParameter(); + + state._fsp--; + + current =iv_ruleParameter; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleParameter3920); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleParameter" + + + // $ANTLR start "ruleParameter" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1776:1: ruleParameter returns [EObject current=null] : (otherlv_0= 'Parameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'modifier' ( (lv_modifier_4_0= ruleParameterModifier ) ) otherlv_5= 'dataType' ( ( ruleEString ) ) otherlv_7= '}' ) ; + public final EObject ruleParameter() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + AntlrDatatypeRuleToken lv_name_1_0 = null; + + Enumerator lv_modifier_4_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1779:28: ( (otherlv_0= 'Parameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'modifier' ( (lv_modifier_4_0= ruleParameterModifier ) ) otherlv_5= 'dataType' ( ( ruleEString ) ) otherlv_7= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1780:1: (otherlv_0= 'Parameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'modifier' ( (lv_modifier_4_0= ruleParameterModifier ) ) otherlv_5= 'dataType' ( ( ruleEString ) ) otherlv_7= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1780:1: (otherlv_0= 'Parameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'modifier' ( (lv_modifier_4_0= ruleParameterModifier ) ) otherlv_5= 'dataType' ( ( ruleEString ) ) otherlv_7= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1780:3: otherlv_0= 'Parameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'modifier' ( (lv_modifier_4_0= ruleParameterModifier ) ) otherlv_5= 'dataType' ( ( ruleEString ) ) otherlv_7= '}' + { + otherlv_0=(Token)match(input,42,FollowSets000.FOLLOW_42_in_ruleParameter3957); + + newLeafNode(otherlv_0, grammarAccess.getParameterAccess().getParameterKeyword_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1784:1: ( (lv_name_1_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1785:1: (lv_name_1_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1785:1: (lv_name_1_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1786:3: lv_name_1_0= ruleEString + { + + newCompositeNode(grammarAccess.getParameterAccess().getNameEStringParserRuleCall_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleParameter3978); + lv_name_1_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getParameterRule()); + } + set( + current, + "name", + lv_name_1_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleParameter3990); + + newLeafNode(otherlv_2, grammarAccess.getParameterAccess().getLeftCurlyBracketKeyword_2()); + + otherlv_3=(Token)match(input,43,FollowSets000.FOLLOW_43_in_ruleParameter4002); + + newLeafNode(otherlv_3, grammarAccess.getParameterAccess().getModifierKeyword_3()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1810:1: ( (lv_modifier_4_0= ruleParameterModifier ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1811:1: (lv_modifier_4_0= ruleParameterModifier ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1811:1: (lv_modifier_4_0= ruleParameterModifier ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1812:3: lv_modifier_4_0= ruleParameterModifier + { + + newCompositeNode(grammarAccess.getParameterAccess().getModifierParameterModifierEnumRuleCall_4_0()); + + pushFollow(FollowSets000.FOLLOW_ruleParameterModifier_in_ruleParameter4023); + lv_modifier_4_0=ruleParameterModifier(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getParameterRule()); + } + set( + current, + "modifier", + lv_modifier_4_0, + "ParameterModifier"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_5=(Token)match(input,38,FollowSets000.FOLLOW_38_in_ruleParameter4035); + + newLeafNode(otherlv_5, grammarAccess.getParameterAccess().getDataTypeKeyword_5()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1832:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1833:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1833:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1834:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getParameterRule()); + } + + + newCompositeNode(grammarAccess.getParameterAccess().getDataTypeDataTypeCrossReference_6_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleParameter4058); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_7=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleParameter4070); + + newLeafNode(otherlv_7, grammarAccess.getParameterAccess().getRightCurlyBracketKeyword_7()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleParameter" + + + // $ANTLR start "entryRuleProvidedRole" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1859:1: entryRuleProvidedRole returns [EObject current=null] : iv_ruleProvidedRole= ruleProvidedRole EOF ; + public final EObject entryRuleProvidedRole() throws RecognitionException { + EObject current = null; + + EObject iv_ruleProvidedRole = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1860:2: (iv_ruleProvidedRole= ruleProvidedRole EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1861:2: iv_ruleProvidedRole= ruleProvidedRole EOF + { + newCompositeNode(grammarAccess.getProvidedRoleRule()); + pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_entryRuleProvidedRole4106); + iv_ruleProvidedRole=ruleProvidedRole(); + + state._fsp--; + + current =iv_ruleProvidedRole; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleProvidedRole4116); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleProvidedRole" + + + // $ANTLR start "ruleProvidedRole" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1868:1: ruleProvidedRole returns [EObject current=null] : (otherlv_0= 'ProvidedRole' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'interface' ( ( ruleEString ) ) otherlv_7= '}' ) ; + public final EObject ruleProvidedRole() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + AntlrDatatypeRuleToken lv_id_1_0 = null; + + AntlrDatatypeRuleToken lv_name_4_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1871:28: ( (otherlv_0= 'ProvidedRole' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'interface' ( ( ruleEString ) ) otherlv_7= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1872:1: (otherlv_0= 'ProvidedRole' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'interface' ( ( ruleEString ) ) otherlv_7= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1872:1: (otherlv_0= 'ProvidedRole' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'interface' ( ( ruleEString ) ) otherlv_7= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1872:3: otherlv_0= 'ProvidedRole' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'interface' ( ( ruleEString ) ) otherlv_7= '}' + { + otherlv_0=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleProvidedRole4153); + + newLeafNode(otherlv_0, grammarAccess.getProvidedRoleAccess().getProvidedRoleKeyword_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1876:1: ( (lv_id_1_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1877:1: (lv_id_1_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1877:1: (lv_id_1_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1878:3: lv_id_1_0= ruleEString + { + + newCompositeNode(grammarAccess.getProvidedRoleAccess().getIdEStringParserRuleCall_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleProvidedRole4174); + lv_id_1_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getProvidedRoleRule()); + } + set( + current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleProvidedRole4186); + + newLeafNode(otherlv_2, grammarAccess.getProvidedRoleAccess().getLeftCurlyBracketKeyword_2()); + + otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleProvidedRole4198); + + newLeafNode(otherlv_3, grammarAccess.getProvidedRoleAccess().getNameKeyword_3()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1902:1: ( (lv_name_4_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1903:1: (lv_name_4_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1903:1: (lv_name_4_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1904:3: lv_name_4_0= ruleEString + { + + newCompositeNode(grammarAccess.getProvidedRoleAccess().getNameEStringParserRuleCall_4_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleProvidedRole4219); + lv_name_4_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getProvidedRoleRule()); + } + set( + current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_5=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleProvidedRole4231); + + newLeafNode(otherlv_5, grammarAccess.getProvidedRoleAccess().getInterfaceKeyword_5()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1924:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1925:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1925:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1926:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getProvidedRoleRule()); + } + + + newCompositeNode(grammarAccess.getProvidedRoleAccess().getInterfaceInterfaceCrossReference_6_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleProvidedRole4254); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_7=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleProvidedRole4266); + + newLeafNode(otherlv_7, grammarAccess.getProvidedRoleAccess().getRightCurlyBracketKeyword_7()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleProvidedRole" + + + // $ANTLR start "entryRuleBlackBoxBehavior" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1951:1: entryRuleBlackBoxBehavior returns [EObject current=null] : iv_ruleBlackBoxBehavior= ruleBlackBoxBehavior EOF ; + public final EObject entryRuleBlackBoxBehavior() throws RecognitionException { + EObject current = null; + + EObject iv_ruleBlackBoxBehavior = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1952:2: (iv_ruleBlackBoxBehavior= ruleBlackBoxBehavior EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1953:2: iv_ruleBlackBoxBehavior= ruleBlackBoxBehavior EOF + { + newCompositeNode(grammarAccess.getBlackBoxBehaviorRule()); + pushFollow(FollowSets000.FOLLOW_ruleBlackBoxBehavior_in_entryRuleBlackBoxBehavior4302); + iv_ruleBlackBoxBehavior=ruleBlackBoxBehavior(); + + state._fsp--; + + current =iv_ruleBlackBoxBehavior; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBlackBoxBehavior4312); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleBlackBoxBehavior" + + + // $ANTLR start "ruleBlackBoxBehavior" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1960:1: ruleBlackBoxBehavior returns [EObject current=null] : (otherlv_0= 'BlackBoxBehavior' otherlv_1= '{' (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? otherlv_4= 'describedEntity' ( ( ruleEString ) ) (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? (otherlv_12= 'responseTimeSpecification' ( (lv_responseTimeSpecification_13_0= ruleResponseTimeSpecification ) ) )? otherlv_14= '}' ) ; + public final EObject ruleBlackBoxBehavior() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_7=null; + Token otherlv_9=null; + Token otherlv_11=null; + Token otherlv_12=null; + Token otherlv_14=null; + EObject lv_influencingParameter_8_0 = null; + + EObject lv_influencingParameter_10_0 = null; + + EObject lv_responseTimeSpecification_13_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1963:28: ( (otherlv_0= 'BlackBoxBehavior' otherlv_1= '{' (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? otherlv_4= 'describedEntity' ( ( ruleEString ) ) (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? (otherlv_12= 'responseTimeSpecification' ( (lv_responseTimeSpecification_13_0= ruleResponseTimeSpecification ) ) )? otherlv_14= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1964:1: (otherlv_0= 'BlackBoxBehavior' otherlv_1= '{' (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? otherlv_4= 'describedEntity' ( ( ruleEString ) ) (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? (otherlv_12= 'responseTimeSpecification' ( (lv_responseTimeSpecification_13_0= ruleResponseTimeSpecification ) ) )? otherlv_14= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1964:1: (otherlv_0= 'BlackBoxBehavior' otherlv_1= '{' (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? otherlv_4= 'describedEntity' ( ( ruleEString ) ) (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? (otherlv_12= 'responseTimeSpecification' ( (lv_responseTimeSpecification_13_0= ruleResponseTimeSpecification ) ) )? otherlv_14= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1964:3: otherlv_0= 'BlackBoxBehavior' otherlv_1= '{' (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? otherlv_4= 'describedEntity' ( ( ruleEString ) ) (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? (otherlv_12= 'responseTimeSpecification' ( (lv_responseTimeSpecification_13_0= ruleResponseTimeSpecification ) ) )? otherlv_14= '}' + { + otherlv_0=(Token)match(input,46,FollowSets000.FOLLOW_46_in_ruleBlackBoxBehavior4349); + + newLeafNode(otherlv_0, grammarAccess.getBlackBoxBehaviorAccess().getBlackBoxBehaviorKeyword_0()); + + otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBlackBoxBehavior4361); + + newLeafNode(otherlv_1, grammarAccess.getBlackBoxBehaviorAccess().getLeftCurlyBracketKeyword_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1972:1: (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? + int alt35=2; + int LA35_0 = input.LA(1); + + if ( (LA35_0==47) ) { + alt35=1; + } + switch (alt35) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1972:3: otherlv_2= 'describedSignature' ( ( ruleEString ) ) + { + otherlv_2=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleBlackBoxBehavior4374); + + newLeafNode(otherlv_2, grammarAccess.getBlackBoxBehaviorAccess().getDescribedSignatureKeyword_2_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1976:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1977:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1977:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1978:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getBlackBoxBehaviorRule()); + } + + + newCompositeNode(grammarAccess.getBlackBoxBehaviorAccess().getDescribedSignatureSignatureCrossReference_2_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBlackBoxBehavior4397); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + otherlv_4=(Token)match(input,48,FollowSets000.FOLLOW_48_in_ruleBlackBoxBehavior4411); + + newLeafNode(otherlv_4, grammarAccess.getBlackBoxBehaviorAccess().getDescribedEntityKeyword_3()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1995:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1996:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1996:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:1997:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getBlackBoxBehaviorRule()); + } + + + newCompositeNode(grammarAccess.getBlackBoxBehaviorAccess().getDescribedEntityInterfaceProvidingEntityCrossReference_4_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBlackBoxBehavior4434); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2010:2: (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? + int alt37=2; + int LA37_0 = input.LA(1); + + if ( (LA37_0==49) ) { + alt37=1; + } + switch (alt37) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2010:4: otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' + { + otherlv_6=(Token)match(input,49,FollowSets000.FOLLOW_49_in_ruleBlackBoxBehavior4447); + + newLeafNode(otherlv_6, grammarAccess.getBlackBoxBehaviorAccess().getInfluencingParameterKeyword_5_0()); + + otherlv_7=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBlackBoxBehavior4459); + + newLeafNode(otherlv_7, grammarAccess.getBlackBoxBehaviorAccess().getLeftCurlyBracketKeyword_5_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2018:1: ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2019:1: (lv_influencingParameter_8_0= ruleInfluencingParameter ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2019:1: (lv_influencingParameter_8_0= ruleInfluencingParameter ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2020:3: lv_influencingParameter_8_0= ruleInfluencingParameter + { + + newCompositeNode(grammarAccess.getBlackBoxBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleInfluencingParameter_in_ruleBlackBoxBehavior4480); + lv_influencingParameter_8_0=ruleInfluencingParameter(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBlackBoxBehaviorRule()); + } + add( + current, + "influencingParameter", + lv_influencingParameter_8_0, + "InfluencingParameter"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2036:2: (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* + loop36: + do { + int alt36=2; + int LA36_0 = input.LA(1); + + if ( (LA36_0==15) ) { + alt36=1; + } + + + switch (alt36) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2036:4: otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) + { + otherlv_9=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleBlackBoxBehavior4493); + + newLeafNode(otherlv_9, grammarAccess.getBlackBoxBehaviorAccess().getCommaKeyword_5_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2040:1: ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2041:1: (lv_influencingParameter_10_0= ruleInfluencingParameter ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2041:1: (lv_influencingParameter_10_0= ruleInfluencingParameter ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2042:3: lv_influencingParameter_10_0= ruleInfluencingParameter + { + + newCompositeNode(grammarAccess.getBlackBoxBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleInfluencingParameter_in_ruleBlackBoxBehavior4514); + lv_influencingParameter_10_0=ruleInfluencingParameter(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBlackBoxBehaviorRule()); + } + add( + current, + "influencingParameter", + lv_influencingParameter_10_0, + "InfluencingParameter"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop36; + } + } while (true); + + otherlv_11=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBlackBoxBehavior4528); + + newLeafNode(otherlv_11, grammarAccess.getBlackBoxBehaviorAccess().getRightCurlyBracketKeyword_5_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2062:3: (otherlv_12= 'responseTimeSpecification' ( (lv_responseTimeSpecification_13_0= ruleResponseTimeSpecification ) ) )? + int alt38=2; + int LA38_0 = input.LA(1); + + if ( (LA38_0==50) ) { + alt38=1; + } + switch (alt38) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2062:5: otherlv_12= 'responseTimeSpecification' ( (lv_responseTimeSpecification_13_0= ruleResponseTimeSpecification ) ) + { + otherlv_12=(Token)match(input,50,FollowSets000.FOLLOW_50_in_ruleBlackBoxBehavior4543); + + newLeafNode(otherlv_12, grammarAccess.getBlackBoxBehaviorAccess().getResponseTimeSpecificationKeyword_6_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2066:1: ( (lv_responseTimeSpecification_13_0= ruleResponseTimeSpecification ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2067:1: (lv_responseTimeSpecification_13_0= ruleResponseTimeSpecification ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2067:1: (lv_responseTimeSpecification_13_0= ruleResponseTimeSpecification ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2068:3: lv_responseTimeSpecification_13_0= ruleResponseTimeSpecification + { + + newCompositeNode(grammarAccess.getBlackBoxBehaviorAccess().getResponseTimeSpecificationResponseTimeSpecificationParserRuleCall_6_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleResponseTimeSpecification_in_ruleBlackBoxBehavior4564); + lv_responseTimeSpecification_13_0=ruleResponseTimeSpecification(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBlackBoxBehaviorRule()); + } + set( + current, + "responseTimeSpecification", + lv_responseTimeSpecification_13_0, + "ResponseTimeSpecification"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + otherlv_14=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBlackBoxBehavior4578); + + newLeafNode(otherlv_14, grammarAccess.getBlackBoxBehaviorAccess().getRightCurlyBracketKeyword_7()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleBlackBoxBehavior" + + + // $ANTLR start "entryRuleRequiredRole" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2096:1: entryRuleRequiredRole returns [EObject current=null] : iv_ruleRequiredRole= ruleRequiredRole EOF ; + public final EObject entryRuleRequiredRole() throws RecognitionException { + EObject current = null; + + EObject iv_ruleRequiredRole = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2097:2: (iv_ruleRequiredRole= ruleRequiredRole EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2098:2: iv_ruleRequiredRole= ruleRequiredRole EOF + { + newCompositeNode(grammarAccess.getRequiredRoleRule()); + pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_entryRuleRequiredRole4614); + iv_ruleRequiredRole=ruleRequiredRole(); + + state._fsp--; + + current =iv_ruleRequiredRole; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRequiredRole4624); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleRequiredRole" + + + // $ANTLR start "ruleRequiredRole" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2105:1: ruleRequiredRole returns [EObject current=null] : (otherlv_0= 'RequiredRole' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'interface' ( ( ruleEString ) ) otherlv_7= '}' ) ; + public final EObject ruleRequiredRole() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + AntlrDatatypeRuleToken lv_id_1_0 = null; + + AntlrDatatypeRuleToken lv_name_4_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2108:28: ( (otherlv_0= 'RequiredRole' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'interface' ( ( ruleEString ) ) otherlv_7= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2109:1: (otherlv_0= 'RequiredRole' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'interface' ( ( ruleEString ) ) otherlv_7= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2109:1: (otherlv_0= 'RequiredRole' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'interface' ( ( ruleEString ) ) otherlv_7= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2109:3: otherlv_0= 'RequiredRole' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'interface' ( ( ruleEString ) ) otherlv_7= '}' + { + otherlv_0=(Token)match(input,51,FollowSets000.FOLLOW_51_in_ruleRequiredRole4661); + + newLeafNode(otherlv_0, grammarAccess.getRequiredRoleAccess().getRequiredRoleKeyword_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2113:1: ( (lv_id_1_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2114:1: (lv_id_1_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2114:1: (lv_id_1_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2115:3: lv_id_1_0= ruleEString + { + + newCompositeNode(grammarAccess.getRequiredRoleAccess().getIdEStringParserRuleCall_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRequiredRole4682); + lv_id_1_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRequiredRoleRule()); + } + set( + current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRequiredRole4694); + + newLeafNode(otherlv_2, grammarAccess.getRequiredRoleAccess().getLeftCurlyBracketKeyword_2()); + + otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleRequiredRole4706); + + newLeafNode(otherlv_3, grammarAccess.getRequiredRoleAccess().getNameKeyword_3()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2139:1: ( (lv_name_4_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2140:1: (lv_name_4_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2140:1: (lv_name_4_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2141:3: lv_name_4_0= ruleEString + { + + newCompositeNode(grammarAccess.getRequiredRoleAccess().getNameEStringParserRuleCall_4_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRequiredRole4727); + lv_name_4_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRequiredRoleRule()); + } + set( + current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_5=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleRequiredRole4739); + + newLeafNode(otherlv_5, grammarAccess.getRequiredRoleAccess().getInterfaceKeyword_5()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2161:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2162:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2162:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2163:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getRequiredRoleRule()); + } + + + newCompositeNode(grammarAccess.getRequiredRoleAccess().getInterfaceInterfaceCrossReference_6_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRequiredRole4762); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_7=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleRequiredRole4774); + + newLeafNode(otherlv_7, grammarAccess.getRequiredRoleAccess().getRightCurlyBracketKeyword_7()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleRequiredRole" + + + // $ANTLR start "entryRuleCoarseGrainedBehavior" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2188:1: entryRuleCoarseGrainedBehavior returns [EObject current=null] : iv_ruleCoarseGrainedBehavior= ruleCoarseGrainedBehavior EOF ; + public final EObject entryRuleCoarseGrainedBehavior() throws RecognitionException { + EObject current = null; + + EObject iv_ruleCoarseGrainedBehavior = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2189:2: (iv_ruleCoarseGrainedBehavior= ruleCoarseGrainedBehavior EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2190:2: iv_ruleCoarseGrainedBehavior= ruleCoarseGrainedBehavior EOF + { + newCompositeNode(grammarAccess.getCoarseGrainedBehaviorRule()); + pushFollow(FollowSets000.FOLLOW_ruleCoarseGrainedBehavior_in_entryRuleCoarseGrainedBehavior4810); + iv_ruleCoarseGrainedBehavior=ruleCoarseGrainedBehavior(); + + state._fsp--; + + current =iv_ruleCoarseGrainedBehavior; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCoarseGrainedBehavior4820); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleCoarseGrainedBehavior" + + + // $ANTLR start "ruleCoarseGrainedBehavior" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2197:1: ruleCoarseGrainedBehavior returns [EObject current=null] : (otherlv_0= 'CoarseGrainedBehavior' otherlv_1= '{' (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? otherlv_4= 'describedEntity' ( ( ruleEString ) ) (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? (otherlv_12= 'externalCallFrequency' otherlv_13= '{' ( (lv_externalCallFrequency_14_0= ruleExternalCallFrequency ) ) (otherlv_15= ',' ( (lv_externalCallFrequency_16_0= ruleExternalCallFrequency ) ) )* otherlv_17= '}' )? (otherlv_18= 'resourceDemandSpecification' otherlv_19= '{' ( (lv_resourceDemandSpecification_20_0= ruleResourceDemandSpecification ) ) (otherlv_21= ',' ( (lv_resourceDemandSpecification_22_0= ruleResourceDemandSpecification ) ) )* otherlv_23= '}' )? otherlv_24= '}' ) ; + public final EObject ruleCoarseGrainedBehavior() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_7=null; + Token otherlv_9=null; + Token otherlv_11=null; + Token otherlv_12=null; + Token otherlv_13=null; + Token otherlv_15=null; + Token otherlv_17=null; + Token otherlv_18=null; + Token otherlv_19=null; + Token otherlv_21=null; + Token otherlv_23=null; + Token otherlv_24=null; + EObject lv_influencingParameter_8_0 = null; + + EObject lv_influencingParameter_10_0 = null; + + EObject lv_externalCallFrequency_14_0 = null; + + EObject lv_externalCallFrequency_16_0 = null; + + EObject lv_resourceDemandSpecification_20_0 = null; + + EObject lv_resourceDemandSpecification_22_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2200:28: ( (otherlv_0= 'CoarseGrainedBehavior' otherlv_1= '{' (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? otherlv_4= 'describedEntity' ( ( ruleEString ) ) (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? (otherlv_12= 'externalCallFrequency' otherlv_13= '{' ( (lv_externalCallFrequency_14_0= ruleExternalCallFrequency ) ) (otherlv_15= ',' ( (lv_externalCallFrequency_16_0= ruleExternalCallFrequency ) ) )* otherlv_17= '}' )? (otherlv_18= 'resourceDemandSpecification' otherlv_19= '{' ( (lv_resourceDemandSpecification_20_0= ruleResourceDemandSpecification ) ) (otherlv_21= ',' ( (lv_resourceDemandSpecification_22_0= ruleResourceDemandSpecification ) ) )* otherlv_23= '}' )? otherlv_24= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2201:1: (otherlv_0= 'CoarseGrainedBehavior' otherlv_1= '{' (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? otherlv_4= 'describedEntity' ( ( ruleEString ) ) (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? (otherlv_12= 'externalCallFrequency' otherlv_13= '{' ( (lv_externalCallFrequency_14_0= ruleExternalCallFrequency ) ) (otherlv_15= ',' ( (lv_externalCallFrequency_16_0= ruleExternalCallFrequency ) ) )* otherlv_17= '}' )? (otherlv_18= 'resourceDemandSpecification' otherlv_19= '{' ( (lv_resourceDemandSpecification_20_0= ruleResourceDemandSpecification ) ) (otherlv_21= ',' ( (lv_resourceDemandSpecification_22_0= ruleResourceDemandSpecification ) ) )* otherlv_23= '}' )? otherlv_24= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2201:1: (otherlv_0= 'CoarseGrainedBehavior' otherlv_1= '{' (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? otherlv_4= 'describedEntity' ( ( ruleEString ) ) (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? (otherlv_12= 'externalCallFrequency' otherlv_13= '{' ( (lv_externalCallFrequency_14_0= ruleExternalCallFrequency ) ) (otherlv_15= ',' ( (lv_externalCallFrequency_16_0= ruleExternalCallFrequency ) ) )* otherlv_17= '}' )? (otherlv_18= 'resourceDemandSpecification' otherlv_19= '{' ( (lv_resourceDemandSpecification_20_0= ruleResourceDemandSpecification ) ) (otherlv_21= ',' ( (lv_resourceDemandSpecification_22_0= ruleResourceDemandSpecification ) ) )* otherlv_23= '}' )? otherlv_24= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2201:3: otherlv_0= 'CoarseGrainedBehavior' otherlv_1= '{' (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? otherlv_4= 'describedEntity' ( ( ruleEString ) ) (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? (otherlv_12= 'externalCallFrequency' otherlv_13= '{' ( (lv_externalCallFrequency_14_0= ruleExternalCallFrequency ) ) (otherlv_15= ',' ( (lv_externalCallFrequency_16_0= ruleExternalCallFrequency ) ) )* otherlv_17= '}' )? (otherlv_18= 'resourceDemandSpecification' otherlv_19= '{' ( (lv_resourceDemandSpecification_20_0= ruleResourceDemandSpecification ) ) (otherlv_21= ',' ( (lv_resourceDemandSpecification_22_0= ruleResourceDemandSpecification ) ) )* otherlv_23= '}' )? otherlv_24= '}' + { + otherlv_0=(Token)match(input,52,FollowSets000.FOLLOW_52_in_ruleCoarseGrainedBehavior4857); + + newLeafNode(otherlv_0, grammarAccess.getCoarseGrainedBehaviorAccess().getCoarseGrainedBehaviorKeyword_0()); + + otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCoarseGrainedBehavior4869); + + newLeafNode(otherlv_1, grammarAccess.getCoarseGrainedBehaviorAccess().getLeftCurlyBracketKeyword_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2209:1: (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? + int alt39=2; + int LA39_0 = input.LA(1); + + if ( (LA39_0==47) ) { + alt39=1; + } + switch (alt39) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2209:3: otherlv_2= 'describedSignature' ( ( ruleEString ) ) + { + otherlv_2=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleCoarseGrainedBehavior4882); + + newLeafNode(otherlv_2, grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedSignatureKeyword_2_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2213:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2214:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2214:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2215:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getCoarseGrainedBehaviorRule()); + } + + + newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedSignatureSignatureCrossReference_2_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCoarseGrainedBehavior4905); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + otherlv_4=(Token)match(input,48,FollowSets000.FOLLOW_48_in_ruleCoarseGrainedBehavior4919); + + newLeafNode(otherlv_4, grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedEntityKeyword_3()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2232:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2233:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2233:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2234:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getCoarseGrainedBehaviorRule()); + } + + + newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getDescribedEntityInterfaceProvidingRequiringEntityCrossReference_4_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCoarseGrainedBehavior4942); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2247:2: (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? + int alt41=2; + int LA41_0 = input.LA(1); + + if ( (LA41_0==49) ) { + alt41=1; + } + switch (alt41) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2247:4: otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' + { + otherlv_6=(Token)match(input,49,FollowSets000.FOLLOW_49_in_ruleCoarseGrainedBehavior4955); + + newLeafNode(otherlv_6, grammarAccess.getCoarseGrainedBehaviorAccess().getInfluencingParameterKeyword_5_0()); + + otherlv_7=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCoarseGrainedBehavior4967); + + newLeafNode(otherlv_7, grammarAccess.getCoarseGrainedBehaviorAccess().getLeftCurlyBracketKeyword_5_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2255:1: ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2256:1: (lv_influencingParameter_8_0= ruleInfluencingParameter ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2256:1: (lv_influencingParameter_8_0= ruleInfluencingParameter ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2257:3: lv_influencingParameter_8_0= ruleInfluencingParameter + { + + newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleInfluencingParameter_in_ruleCoarseGrainedBehavior4988); + lv_influencingParameter_8_0=ruleInfluencingParameter(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCoarseGrainedBehaviorRule()); + } + add( + current, + "influencingParameter", + lv_influencingParameter_8_0, + "InfluencingParameter"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2273:2: (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* + loop40: + do { + int alt40=2; + int LA40_0 = input.LA(1); + + if ( (LA40_0==15) ) { + alt40=1; + } + + + switch (alt40) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2273:4: otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) + { + otherlv_9=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCoarseGrainedBehavior5001); + + newLeafNode(otherlv_9, grammarAccess.getCoarseGrainedBehaviorAccess().getCommaKeyword_5_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2277:1: ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2278:1: (lv_influencingParameter_10_0= ruleInfluencingParameter ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2278:1: (lv_influencingParameter_10_0= ruleInfluencingParameter ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2279:3: lv_influencingParameter_10_0= ruleInfluencingParameter + { + + newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleInfluencingParameter_in_ruleCoarseGrainedBehavior5022); + lv_influencingParameter_10_0=ruleInfluencingParameter(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCoarseGrainedBehaviorRule()); + } + add( + current, + "influencingParameter", + lv_influencingParameter_10_0, + "InfluencingParameter"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop40; + } + } while (true); + + otherlv_11=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCoarseGrainedBehavior5036); + + newLeafNode(otherlv_11, grammarAccess.getCoarseGrainedBehaviorAccess().getRightCurlyBracketKeyword_5_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2299:3: (otherlv_12= 'externalCallFrequency' otherlv_13= '{' ( (lv_externalCallFrequency_14_0= ruleExternalCallFrequency ) ) (otherlv_15= ',' ( (lv_externalCallFrequency_16_0= ruleExternalCallFrequency ) ) )* otherlv_17= '}' )? + int alt43=2; + int LA43_0 = input.LA(1); + + if ( (LA43_0==53) ) { + alt43=1; + } + switch (alt43) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2299:5: otherlv_12= 'externalCallFrequency' otherlv_13= '{' ( (lv_externalCallFrequency_14_0= ruleExternalCallFrequency ) ) (otherlv_15= ',' ( (lv_externalCallFrequency_16_0= ruleExternalCallFrequency ) ) )* otherlv_17= '}' + { + otherlv_12=(Token)match(input,53,FollowSets000.FOLLOW_53_in_ruleCoarseGrainedBehavior5051); + + newLeafNode(otherlv_12, grammarAccess.getCoarseGrainedBehaviorAccess().getExternalCallFrequencyKeyword_6_0()); + + otherlv_13=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCoarseGrainedBehavior5063); + + newLeafNode(otherlv_13, grammarAccess.getCoarseGrainedBehaviorAccess().getLeftCurlyBracketKeyword_6_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2307:1: ( (lv_externalCallFrequency_14_0= ruleExternalCallFrequency ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2308:1: (lv_externalCallFrequency_14_0= ruleExternalCallFrequency ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2308:1: (lv_externalCallFrequency_14_0= ruleExternalCallFrequency ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2309:3: lv_externalCallFrequency_14_0= ruleExternalCallFrequency + { + + newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getExternalCallFrequencyExternalCallFrequencyParserRuleCall_6_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleExternalCallFrequency_in_ruleCoarseGrainedBehavior5084); + lv_externalCallFrequency_14_0=ruleExternalCallFrequency(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCoarseGrainedBehaviorRule()); + } + add( + current, + "externalCallFrequency", + lv_externalCallFrequency_14_0, + "ExternalCallFrequency"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2325:2: (otherlv_15= ',' ( (lv_externalCallFrequency_16_0= ruleExternalCallFrequency ) ) )* + loop42: + do { + int alt42=2; + int LA42_0 = input.LA(1); + + if ( (LA42_0==15) ) { + alt42=1; + } + + + switch (alt42) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2325:4: otherlv_15= ',' ( (lv_externalCallFrequency_16_0= ruleExternalCallFrequency ) ) + { + otherlv_15=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCoarseGrainedBehavior5097); + + newLeafNode(otherlv_15, grammarAccess.getCoarseGrainedBehaviorAccess().getCommaKeyword_6_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2329:1: ( (lv_externalCallFrequency_16_0= ruleExternalCallFrequency ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2330:1: (lv_externalCallFrequency_16_0= ruleExternalCallFrequency ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2330:1: (lv_externalCallFrequency_16_0= ruleExternalCallFrequency ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2331:3: lv_externalCallFrequency_16_0= ruleExternalCallFrequency + { + + newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getExternalCallFrequencyExternalCallFrequencyParserRuleCall_6_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleExternalCallFrequency_in_ruleCoarseGrainedBehavior5118); + lv_externalCallFrequency_16_0=ruleExternalCallFrequency(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCoarseGrainedBehaviorRule()); + } + add( + current, + "externalCallFrequency", + lv_externalCallFrequency_16_0, + "ExternalCallFrequency"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop42; + } + } while (true); + + otherlv_17=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCoarseGrainedBehavior5132); + + newLeafNode(otherlv_17, grammarAccess.getCoarseGrainedBehaviorAccess().getRightCurlyBracketKeyword_6_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2351:3: (otherlv_18= 'resourceDemandSpecification' otherlv_19= '{' ( (lv_resourceDemandSpecification_20_0= ruleResourceDemandSpecification ) ) (otherlv_21= ',' ( (lv_resourceDemandSpecification_22_0= ruleResourceDemandSpecification ) ) )* otherlv_23= '}' )? + int alt45=2; + int LA45_0 = input.LA(1); + + if ( (LA45_0==54) ) { + alt45=1; + } + switch (alt45) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2351:5: otherlv_18= 'resourceDemandSpecification' otherlv_19= '{' ( (lv_resourceDemandSpecification_20_0= ruleResourceDemandSpecification ) ) (otherlv_21= ',' ( (lv_resourceDemandSpecification_22_0= ruleResourceDemandSpecification ) ) )* otherlv_23= '}' + { + otherlv_18=(Token)match(input,54,FollowSets000.FOLLOW_54_in_ruleCoarseGrainedBehavior5147); + + newLeafNode(otherlv_18, grammarAccess.getCoarseGrainedBehaviorAccess().getResourceDemandSpecificationKeyword_7_0()); + + otherlv_19=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCoarseGrainedBehavior5159); + + newLeafNode(otherlv_19, grammarAccess.getCoarseGrainedBehaviorAccess().getLeftCurlyBracketKeyword_7_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2359:1: ( (lv_resourceDemandSpecification_20_0= ruleResourceDemandSpecification ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2360:1: (lv_resourceDemandSpecification_20_0= ruleResourceDemandSpecification ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2360:1: (lv_resourceDemandSpecification_20_0= ruleResourceDemandSpecification ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2361:3: lv_resourceDemandSpecification_20_0= ruleResourceDemandSpecification + { + + newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_7_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleResourceDemandSpecification_in_ruleCoarseGrainedBehavior5180); + lv_resourceDemandSpecification_20_0=ruleResourceDemandSpecification(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCoarseGrainedBehaviorRule()); + } + add( + current, + "resourceDemandSpecification", + lv_resourceDemandSpecification_20_0, + "ResourceDemandSpecification"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2377:2: (otherlv_21= ',' ( (lv_resourceDemandSpecification_22_0= ruleResourceDemandSpecification ) ) )* + loop44: + do { + int alt44=2; + int LA44_0 = input.LA(1); + + if ( (LA44_0==15) ) { + alt44=1; + } + + + switch (alt44) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2377:4: otherlv_21= ',' ( (lv_resourceDemandSpecification_22_0= ruleResourceDemandSpecification ) ) + { + otherlv_21=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCoarseGrainedBehavior5193); + + newLeafNode(otherlv_21, grammarAccess.getCoarseGrainedBehaviorAccess().getCommaKeyword_7_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2381:1: ( (lv_resourceDemandSpecification_22_0= ruleResourceDemandSpecification ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2382:1: (lv_resourceDemandSpecification_22_0= ruleResourceDemandSpecification ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2382:1: (lv_resourceDemandSpecification_22_0= ruleResourceDemandSpecification ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2383:3: lv_resourceDemandSpecification_22_0= ruleResourceDemandSpecification + { + + newCompositeNode(grammarAccess.getCoarseGrainedBehaviorAccess().getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_7_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleResourceDemandSpecification_in_ruleCoarseGrainedBehavior5214); + lv_resourceDemandSpecification_22_0=ruleResourceDemandSpecification(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCoarseGrainedBehaviorRule()); + } + add( + current, + "resourceDemandSpecification", + lv_resourceDemandSpecification_22_0, + "ResourceDemandSpecification"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop44; + } + } while (true); + + otherlv_23=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCoarseGrainedBehavior5228); + + newLeafNode(otherlv_23, grammarAccess.getCoarseGrainedBehaviorAccess().getRightCurlyBracketKeyword_7_4()); + + + } + break; + + } + + otherlv_24=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCoarseGrainedBehavior5242); + + newLeafNode(otherlv_24, grammarAccess.getCoarseGrainedBehaviorAccess().getRightCurlyBracketKeyword_8()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleCoarseGrainedBehavior" + + + // $ANTLR start "entryRuleBasicComponent" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2415:1: entryRuleBasicComponent returns [EObject current=null] : iv_ruleBasicComponent= ruleBasicComponent EOF ; + public final EObject entryRuleBasicComponent() throws RecognitionException { + EObject current = null; + + EObject iv_ruleBasicComponent = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2416:2: (iv_ruleBasicComponent= ruleBasicComponent EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2417:2: iv_ruleBasicComponent= ruleBasicComponent EOF + { + newCompositeNode(grammarAccess.getBasicComponentRule()); + pushFollow(FollowSets000.FOLLOW_ruleBasicComponent_in_entryRuleBasicComponent5278); + iv_ruleBasicComponent=ruleBasicComponent(); + + state._fsp--; + + current =iv_ruleBasicComponent; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBasicComponent5288); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleBasicComponent" + + + // $ANTLR start "ruleBasicComponent" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2424:1: ruleBasicComponent returns [EObject current=null] : (otherlv_0= 'BasicComponent' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? (otherlv_35= 'passiveResources' otherlv_36= '{' ( (lv_passiveResources_37_0= rulePassiveResourceSpecification ) ) (otherlv_38= ',' ( (lv_passiveResources_39_0= rulePassiveResourceSpecification ) ) )* otherlv_40= '}' )? (otherlv_41= 'fineGrainedBehavior' otherlv_42= '{' ( (lv_fineGrainedBehavior_43_0= ruleFineGrainedBehavior ) ) (otherlv_44= ',' ( (lv_fineGrainedBehavior_45_0= ruleFineGrainedBehavior ) ) )* otherlv_46= '}' )? otherlv_47= '}' ) ; + public final EObject ruleBasicComponent() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_6=null; + Token otherlv_8=null; + Token otherlv_10=null; + Token otherlv_11=null; + Token otherlv_12=null; + Token otherlv_14=null; + Token otherlv_16=null; + Token otherlv_17=null; + Token otherlv_18=null; + Token otherlv_20=null; + Token otherlv_22=null; + Token otherlv_23=null; + Token otherlv_24=null; + Token otherlv_26=null; + Token otherlv_28=null; + Token otherlv_29=null; + Token otherlv_30=null; + Token otherlv_32=null; + Token otherlv_34=null; + Token otherlv_35=null; + Token otherlv_36=null; + Token otherlv_38=null; + Token otherlv_40=null; + Token otherlv_41=null; + Token otherlv_42=null; + Token otherlv_44=null; + Token otherlv_46=null; + Token otherlv_47=null; + AntlrDatatypeRuleToken lv_id_1_0 = null; + + AntlrDatatypeRuleToken lv_name_4_0 = null; + + EObject lv_providedRoles_13_0 = null; + + EObject lv_providedRoles_15_0 = null; + + EObject lv_blackBoxBehavior_19_0 = null; + + EObject lv_blackBoxBehavior_21_0 = null; + + EObject lv_requiredRoles_25_0 = null; + + EObject lv_requiredRoles_27_0 = null; + + EObject lv_coarseGrainedBehavior_31_0 = null; + + EObject lv_coarseGrainedBehavior_33_0 = null; + + EObject lv_passiveResources_37_0 = null; + + EObject lv_passiveResources_39_0 = null; + + EObject lv_fineGrainedBehavior_43_0 = null; + + EObject lv_fineGrainedBehavior_45_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2427:28: ( (otherlv_0= 'BasicComponent' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? (otherlv_35= 'passiveResources' otherlv_36= '{' ( (lv_passiveResources_37_0= rulePassiveResourceSpecification ) ) (otherlv_38= ',' ( (lv_passiveResources_39_0= rulePassiveResourceSpecification ) ) )* otherlv_40= '}' )? (otherlv_41= 'fineGrainedBehavior' otherlv_42= '{' ( (lv_fineGrainedBehavior_43_0= ruleFineGrainedBehavior ) ) (otherlv_44= ',' ( (lv_fineGrainedBehavior_45_0= ruleFineGrainedBehavior ) ) )* otherlv_46= '}' )? otherlv_47= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2428:1: (otherlv_0= 'BasicComponent' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? (otherlv_35= 'passiveResources' otherlv_36= '{' ( (lv_passiveResources_37_0= rulePassiveResourceSpecification ) ) (otherlv_38= ',' ( (lv_passiveResources_39_0= rulePassiveResourceSpecification ) ) )* otherlv_40= '}' )? (otherlv_41= 'fineGrainedBehavior' otherlv_42= '{' ( (lv_fineGrainedBehavior_43_0= ruleFineGrainedBehavior ) ) (otherlv_44= ',' ( (lv_fineGrainedBehavior_45_0= ruleFineGrainedBehavior ) ) )* otherlv_46= '}' )? otherlv_47= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2428:1: (otherlv_0= 'BasicComponent' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? (otherlv_35= 'passiveResources' otherlv_36= '{' ( (lv_passiveResources_37_0= rulePassiveResourceSpecification ) ) (otherlv_38= ',' ( (lv_passiveResources_39_0= rulePassiveResourceSpecification ) ) )* otherlv_40= '}' )? (otherlv_41= 'fineGrainedBehavior' otherlv_42= '{' ( (lv_fineGrainedBehavior_43_0= ruleFineGrainedBehavior ) ) (otherlv_44= ',' ( (lv_fineGrainedBehavior_45_0= ruleFineGrainedBehavior ) ) )* otherlv_46= '}' )? otherlv_47= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2428:3: otherlv_0= 'BasicComponent' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? (otherlv_35= 'passiveResources' otherlv_36= '{' ( (lv_passiveResources_37_0= rulePassiveResourceSpecification ) ) (otherlv_38= ',' ( (lv_passiveResources_39_0= rulePassiveResourceSpecification ) ) )* otherlv_40= '}' )? (otherlv_41= 'fineGrainedBehavior' otherlv_42= '{' ( (lv_fineGrainedBehavior_43_0= ruleFineGrainedBehavior ) ) (otherlv_44= ',' ( (lv_fineGrainedBehavior_45_0= ruleFineGrainedBehavior ) ) )* otherlv_46= '}' )? otherlv_47= '}' + { + otherlv_0=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleBasicComponent5325); + + newLeafNode(otherlv_0, grammarAccess.getBasicComponentAccess().getBasicComponentKeyword_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2432:1: ( (lv_id_1_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2433:1: (lv_id_1_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2433:1: (lv_id_1_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2434:3: lv_id_1_0= ruleEString + { + + newCompositeNode(grammarAccess.getBasicComponentAccess().getIdEStringParserRuleCall_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBasicComponent5346); + lv_id_1_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBasicComponentRule()); + } + set( + current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBasicComponent5358); + + newLeafNode(otherlv_2, grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_2()); + + otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleBasicComponent5370); + + newLeafNode(otherlv_3, grammarAccess.getBasicComponentAccess().getNameKeyword_3()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2458:1: ( (lv_name_4_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2459:1: (lv_name_4_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2459:1: (lv_name_4_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2460:3: lv_name_4_0= ruleEString + { + + newCompositeNode(grammarAccess.getBasicComponentAccess().getNameEStringParserRuleCall_4_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBasicComponent5391); + lv_name_4_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBasicComponentRule()); + } + set( + current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2476:2: (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? + int alt47=2; + int LA47_0 = input.LA(1); + + if ( (LA47_0==25) ) { + alt47=1; + } + switch (alt47) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2476:4: otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' + { + otherlv_5=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleBasicComponent5404); + + newLeafNode(otherlv_5, grammarAccess.getBasicComponentAccess().getRelationshipKeyword_5_0()); + + otherlv_6=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleBasicComponent5416); + + newLeafNode(otherlv_6, grammarAccess.getBasicComponentAccess().getLeftParenthesisKeyword_5_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2484:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2485:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2485:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2486:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getBasicComponentRule()); + } + + + newCompositeNode(grammarAccess.getBasicComponentAccess().getRelationshipRelationshipCrossReference_5_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBasicComponent5439); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2499:2: (otherlv_8= ',' ( ( ruleEString ) ) )* + loop46: + do { + int alt46=2; + int LA46_0 = input.LA(1); + + if ( (LA46_0==15) ) { + alt46=1; + } + + + switch (alt46) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2499:4: otherlv_8= ',' ( ( ruleEString ) ) + { + otherlv_8=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleBasicComponent5452); + + newLeafNode(otherlv_8, grammarAccess.getBasicComponentAccess().getCommaKeyword_5_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2503:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2504:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2504:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2505:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getBasicComponentRule()); + } + + + newCompositeNode(grammarAccess.getBasicComponentAccess().getRelationshipRelationshipCrossReference_5_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBasicComponent5475); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop46; + } + } while (true); + + otherlv_10=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleBasicComponent5489); + + newLeafNode(otherlv_10, grammarAccess.getBasicComponentAccess().getRightParenthesisKeyword_5_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2522:3: (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? + int alt49=2; + int LA49_0 = input.LA(1); + + if ( (LA49_0==26) ) { + alt49=1; + } + switch (alt49) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2522:5: otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' + { + otherlv_11=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleBasicComponent5504); + + newLeafNode(otherlv_11, grammarAccess.getBasicComponentAccess().getProvidedRolesKeyword_6_0()); + + otherlv_12=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBasicComponent5516); + + newLeafNode(otherlv_12, grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_6_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2530:1: ( (lv_providedRoles_13_0= ruleProvidedRole ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2531:1: (lv_providedRoles_13_0= ruleProvidedRole ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2531:1: (lv_providedRoles_13_0= ruleProvidedRole ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2532:3: lv_providedRoles_13_0= ruleProvidedRole + { + + newCompositeNode(grammarAccess.getBasicComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_6_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleBasicComponent5537); + lv_providedRoles_13_0=ruleProvidedRole(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBasicComponentRule()); + } + add( + current, + "providedRoles", + lv_providedRoles_13_0, + "ProvidedRole"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2548:2: (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* + loop48: + do { + int alt48=2; + int LA48_0 = input.LA(1); + + if ( (LA48_0==15) ) { + alt48=1; + } + + + switch (alt48) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2548:4: otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) + { + otherlv_14=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleBasicComponent5550); + + newLeafNode(otherlv_14, grammarAccess.getBasicComponentAccess().getCommaKeyword_6_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2552:1: ( (lv_providedRoles_15_0= ruleProvidedRole ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2553:1: (lv_providedRoles_15_0= ruleProvidedRole ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2553:1: (lv_providedRoles_15_0= ruleProvidedRole ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2554:3: lv_providedRoles_15_0= ruleProvidedRole + { + + newCompositeNode(grammarAccess.getBasicComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleBasicComponent5571); + lv_providedRoles_15_0=ruleProvidedRole(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBasicComponentRule()); + } + add( + current, + "providedRoles", + lv_providedRoles_15_0, + "ProvidedRole"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop48; + } + } while (true); + + otherlv_16=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBasicComponent5585); + + newLeafNode(otherlv_16, grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_6_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2574:3: (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? + int alt51=2; + int LA51_0 = input.LA(1); + + if ( (LA51_0==27) ) { + alt51=1; + } + switch (alt51) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2574:5: otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' + { + otherlv_17=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleBasicComponent5600); + + newLeafNode(otherlv_17, grammarAccess.getBasicComponentAccess().getBlackBoxBehaviorKeyword_7_0()); + + otherlv_18=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBasicComponent5612); + + newLeafNode(otherlv_18, grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_7_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2582:1: ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2583:1: (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2583:1: (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2584:3: lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior + { + + newCompositeNode(grammarAccess.getBasicComponentAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleBlackBoxBehavior_in_ruleBasicComponent5633); + lv_blackBoxBehavior_19_0=ruleBlackBoxBehavior(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBasicComponentRule()); + } + add( + current, + "blackBoxBehavior", + lv_blackBoxBehavior_19_0, + "BlackBoxBehavior"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2600:2: (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* + loop50: + do { + int alt50=2; + int LA50_0 = input.LA(1); + + if ( (LA50_0==15) ) { + alt50=1; + } + + + switch (alt50) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2600:4: otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) + { + otherlv_20=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleBasicComponent5646); + + newLeafNode(otherlv_20, grammarAccess.getBasicComponentAccess().getCommaKeyword_7_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2604:1: ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2605:1: (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2605:1: (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2606:3: lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior + { + + newCompositeNode(grammarAccess.getBasicComponentAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleBlackBoxBehavior_in_ruleBasicComponent5667); + lv_blackBoxBehavior_21_0=ruleBlackBoxBehavior(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBasicComponentRule()); + } + add( + current, + "blackBoxBehavior", + lv_blackBoxBehavior_21_0, + "BlackBoxBehavior"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop50; + } + } while (true); + + otherlv_22=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBasicComponent5681); + + newLeafNode(otherlv_22, grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_7_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2626:3: (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? + int alt53=2; + int LA53_0 = input.LA(1); + + if ( (LA53_0==28) ) { + alt53=1; + } + switch (alt53) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2626:5: otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' + { + otherlv_23=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruleBasicComponent5696); + + newLeafNode(otherlv_23, grammarAccess.getBasicComponentAccess().getRequiredRolesKeyword_8_0()); + + otherlv_24=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBasicComponent5708); + + newLeafNode(otherlv_24, grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_8_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2634:1: ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2635:1: (lv_requiredRoles_25_0= ruleRequiredRole ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2635:1: (lv_requiredRoles_25_0= ruleRequiredRole ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2636:3: lv_requiredRoles_25_0= ruleRequiredRole + { + + newCompositeNode(grammarAccess.getBasicComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_8_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleBasicComponent5729); + lv_requiredRoles_25_0=ruleRequiredRole(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBasicComponentRule()); + } + add( + current, + "requiredRoles", + lv_requiredRoles_25_0, + "RequiredRole"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2652:2: (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* + loop52: + do { + int alt52=2; + int LA52_0 = input.LA(1); + + if ( (LA52_0==15) ) { + alt52=1; + } + + + switch (alt52) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2652:4: otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) + { + otherlv_26=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleBasicComponent5742); + + newLeafNode(otherlv_26, grammarAccess.getBasicComponentAccess().getCommaKeyword_8_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2656:1: ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2657:1: (lv_requiredRoles_27_0= ruleRequiredRole ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2657:1: (lv_requiredRoles_27_0= ruleRequiredRole ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2658:3: lv_requiredRoles_27_0= ruleRequiredRole + { + + newCompositeNode(grammarAccess.getBasicComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleBasicComponent5763); + lv_requiredRoles_27_0=ruleRequiredRole(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBasicComponentRule()); + } + add( + current, + "requiredRoles", + lv_requiredRoles_27_0, + "RequiredRole"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop52; + } + } while (true); + + otherlv_28=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBasicComponent5777); + + newLeafNode(otherlv_28, grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_8_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2678:3: (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? + int alt55=2; + int LA55_0 = input.LA(1); + + if ( (LA55_0==29) ) { + alt55=1; + } + switch (alt55) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2678:5: otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' + { + otherlv_29=(Token)match(input,29,FollowSets000.FOLLOW_29_in_ruleBasicComponent5792); + + newLeafNode(otherlv_29, grammarAccess.getBasicComponentAccess().getCoarseGrainedBehaviorKeyword_9_0()); + + otherlv_30=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBasicComponent5804); + + newLeafNode(otherlv_30, grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_9_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2686:1: ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2687:1: (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2687:1: (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2688:3: lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior + { + + newCompositeNode(grammarAccess.getBasicComponentAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleCoarseGrainedBehavior_in_ruleBasicComponent5825); + lv_coarseGrainedBehavior_31_0=ruleCoarseGrainedBehavior(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBasicComponentRule()); + } + add( + current, + "coarseGrainedBehavior", + lv_coarseGrainedBehavior_31_0, + "CoarseGrainedBehavior"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2704:2: (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* + loop54: + do { + int alt54=2; + int LA54_0 = input.LA(1); + + if ( (LA54_0==15) ) { + alt54=1; + } + + + switch (alt54) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2704:4: otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) + { + otherlv_32=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleBasicComponent5838); + + newLeafNode(otherlv_32, grammarAccess.getBasicComponentAccess().getCommaKeyword_9_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2708:1: ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2709:1: (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2709:1: (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2710:3: lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior + { + + newCompositeNode(grammarAccess.getBasicComponentAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleCoarseGrainedBehavior_in_ruleBasicComponent5859); + lv_coarseGrainedBehavior_33_0=ruleCoarseGrainedBehavior(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBasicComponentRule()); + } + add( + current, + "coarseGrainedBehavior", + lv_coarseGrainedBehavior_33_0, + "CoarseGrainedBehavior"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop54; + } + } while (true); + + otherlv_34=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBasicComponent5873); + + newLeafNode(otherlv_34, grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_9_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2730:3: (otherlv_35= 'passiveResources' otherlv_36= '{' ( (lv_passiveResources_37_0= rulePassiveResourceSpecification ) ) (otherlv_38= ',' ( (lv_passiveResources_39_0= rulePassiveResourceSpecification ) ) )* otherlv_40= '}' )? + int alt57=2; + int LA57_0 = input.LA(1); + + if ( (LA57_0==56) ) { + alt57=1; + } + switch (alt57) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2730:5: otherlv_35= 'passiveResources' otherlv_36= '{' ( (lv_passiveResources_37_0= rulePassiveResourceSpecification ) ) (otherlv_38= ',' ( (lv_passiveResources_39_0= rulePassiveResourceSpecification ) ) )* otherlv_40= '}' + { + otherlv_35=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleBasicComponent5888); + + newLeafNode(otherlv_35, grammarAccess.getBasicComponentAccess().getPassiveResourcesKeyword_10_0()); + + otherlv_36=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBasicComponent5900); + + newLeafNode(otherlv_36, grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_10_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2738:1: ( (lv_passiveResources_37_0= rulePassiveResourceSpecification ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2739:1: (lv_passiveResources_37_0= rulePassiveResourceSpecification ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2739:1: (lv_passiveResources_37_0= rulePassiveResourceSpecification ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2740:3: lv_passiveResources_37_0= rulePassiveResourceSpecification + { + + newCompositeNode(grammarAccess.getBasicComponentAccess().getPassiveResourcesPassiveResourceSpecificationParserRuleCall_10_2_0()); + + pushFollow(FollowSets000.FOLLOW_rulePassiveResourceSpecification_in_ruleBasicComponent5921); + lv_passiveResources_37_0=rulePassiveResourceSpecification(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBasicComponentRule()); + } + add( + current, + "passiveResources", + lv_passiveResources_37_0, + "PassiveResourceSpecification"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2756:2: (otherlv_38= ',' ( (lv_passiveResources_39_0= rulePassiveResourceSpecification ) ) )* + loop56: + do { + int alt56=2; + int LA56_0 = input.LA(1); + + if ( (LA56_0==15) ) { + alt56=1; + } + + + switch (alt56) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2756:4: otherlv_38= ',' ( (lv_passiveResources_39_0= rulePassiveResourceSpecification ) ) + { + otherlv_38=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleBasicComponent5934); + + newLeafNode(otherlv_38, grammarAccess.getBasicComponentAccess().getCommaKeyword_10_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2760:1: ( (lv_passiveResources_39_0= rulePassiveResourceSpecification ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2761:1: (lv_passiveResources_39_0= rulePassiveResourceSpecification ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2761:1: (lv_passiveResources_39_0= rulePassiveResourceSpecification ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2762:3: lv_passiveResources_39_0= rulePassiveResourceSpecification + { + + newCompositeNode(grammarAccess.getBasicComponentAccess().getPassiveResourcesPassiveResourceSpecificationParserRuleCall_10_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_rulePassiveResourceSpecification_in_ruleBasicComponent5955); + lv_passiveResources_39_0=rulePassiveResourceSpecification(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBasicComponentRule()); + } + add( + current, + "passiveResources", + lv_passiveResources_39_0, + "PassiveResourceSpecification"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop56; + } + } while (true); + + otherlv_40=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBasicComponent5969); + + newLeafNode(otherlv_40, grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_10_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2782:3: (otherlv_41= 'fineGrainedBehavior' otherlv_42= '{' ( (lv_fineGrainedBehavior_43_0= ruleFineGrainedBehavior ) ) (otherlv_44= ',' ( (lv_fineGrainedBehavior_45_0= ruleFineGrainedBehavior ) ) )* otherlv_46= '}' )? + int alt59=2; + int LA59_0 = input.LA(1); + + if ( (LA59_0==57) ) { + alt59=1; + } + switch (alt59) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2782:5: otherlv_41= 'fineGrainedBehavior' otherlv_42= '{' ( (lv_fineGrainedBehavior_43_0= ruleFineGrainedBehavior ) ) (otherlv_44= ',' ( (lv_fineGrainedBehavior_45_0= ruleFineGrainedBehavior ) ) )* otherlv_46= '}' + { + otherlv_41=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleBasicComponent5984); + + newLeafNode(otherlv_41, grammarAccess.getBasicComponentAccess().getFineGrainedBehaviorKeyword_11_0()); + + otherlv_42=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBasicComponent5996); + + newLeafNode(otherlv_42, grammarAccess.getBasicComponentAccess().getLeftCurlyBracketKeyword_11_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2790:1: ( (lv_fineGrainedBehavior_43_0= ruleFineGrainedBehavior ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2791:1: (lv_fineGrainedBehavior_43_0= ruleFineGrainedBehavior ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2791:1: (lv_fineGrainedBehavior_43_0= ruleFineGrainedBehavior ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2792:3: lv_fineGrainedBehavior_43_0= ruleFineGrainedBehavior + { + + newCompositeNode(grammarAccess.getBasicComponentAccess().getFineGrainedBehaviorFineGrainedBehaviorParserRuleCall_11_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleFineGrainedBehavior_in_ruleBasicComponent6017); + lv_fineGrainedBehavior_43_0=ruleFineGrainedBehavior(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBasicComponentRule()); + } + add( + current, + "fineGrainedBehavior", + lv_fineGrainedBehavior_43_0, + "FineGrainedBehavior"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2808:2: (otherlv_44= ',' ( (lv_fineGrainedBehavior_45_0= ruleFineGrainedBehavior ) ) )* + loop58: + do { + int alt58=2; + int LA58_0 = input.LA(1); + + if ( (LA58_0==15) ) { + alt58=1; + } + + + switch (alt58) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2808:4: otherlv_44= ',' ( (lv_fineGrainedBehavior_45_0= ruleFineGrainedBehavior ) ) + { + otherlv_44=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleBasicComponent6030); + + newLeafNode(otherlv_44, grammarAccess.getBasicComponentAccess().getCommaKeyword_11_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2812:1: ( (lv_fineGrainedBehavior_45_0= ruleFineGrainedBehavior ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2813:1: (lv_fineGrainedBehavior_45_0= ruleFineGrainedBehavior ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2813:1: (lv_fineGrainedBehavior_45_0= ruleFineGrainedBehavior ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2814:3: lv_fineGrainedBehavior_45_0= ruleFineGrainedBehavior + { + + newCompositeNode(grammarAccess.getBasicComponentAccess().getFineGrainedBehaviorFineGrainedBehaviorParserRuleCall_11_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleFineGrainedBehavior_in_ruleBasicComponent6051); + lv_fineGrainedBehavior_45_0=ruleFineGrainedBehavior(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBasicComponentRule()); + } + add( + current, + "fineGrainedBehavior", + lv_fineGrainedBehavior_45_0, + "FineGrainedBehavior"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop58; + } + } while (true); + + otherlv_46=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBasicComponent6065); + + newLeafNode(otherlv_46, grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_11_4()); + + + } + break; + + } + + otherlv_47=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBasicComponent6079); + + newLeafNode(otherlv_47, grammarAccess.getBasicComponentAccess().getRightCurlyBracketKeyword_12()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleBasicComponent" + + + // $ANTLR start "entryRuleCompositeComponent" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2846:1: entryRuleCompositeComponent returns [EObject current=null] : iv_ruleCompositeComponent= ruleCompositeComponent EOF ; + public final EObject entryRuleCompositeComponent() throws RecognitionException { + EObject current = null; + + EObject iv_ruleCompositeComponent = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2847:2: (iv_ruleCompositeComponent= ruleCompositeComponent EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2848:2: iv_ruleCompositeComponent= ruleCompositeComponent EOF + { + newCompositeNode(grammarAccess.getCompositeComponentRule()); + pushFollow(FollowSets000.FOLLOW_ruleCompositeComponent_in_entryRuleCompositeComponent6115); + iv_ruleCompositeComponent=ruleCompositeComponent(); + + state._fsp--; + + current =iv_ruleCompositeComponent; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCompositeComponent6125); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleCompositeComponent" + + + // $ANTLR start "ruleCompositeComponent" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2855:1: ruleCompositeComponent returns [EObject current=null] : (otherlv_0= 'CompositeComponent' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? (otherlv_35= 'assemblyContexts' otherlv_36= '{' ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) ) (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )* otherlv_40= '}' )? (otherlv_41= 'assemblyConnectors' otherlv_42= '{' ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) ) (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )* otherlv_46= '}' )? (otherlv_47= 'providedDelegationConnectors' otherlv_48= '{' ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) ) (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )* otherlv_52= '}' )? (otherlv_53= 'requiredDelegationConnectors' otherlv_54= '{' ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) ) (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )* otherlv_58= '}' )? otherlv_59= '}' ) ; + public final EObject ruleCompositeComponent() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_6=null; + Token otherlv_8=null; + Token otherlv_10=null; + Token otherlv_11=null; + Token otherlv_12=null; + Token otherlv_14=null; + Token otherlv_16=null; + Token otherlv_17=null; + Token otherlv_18=null; + Token otherlv_20=null; + Token otherlv_22=null; + Token otherlv_23=null; + Token otherlv_24=null; + Token otherlv_26=null; + Token otherlv_28=null; + Token otherlv_29=null; + Token otherlv_30=null; + Token otherlv_32=null; + Token otherlv_34=null; + Token otherlv_35=null; + Token otherlv_36=null; + Token otherlv_38=null; + Token otherlv_40=null; + Token otherlv_41=null; + Token otherlv_42=null; + Token otherlv_44=null; + Token otherlv_46=null; + Token otherlv_47=null; + Token otherlv_48=null; + Token otherlv_50=null; + Token otherlv_52=null; + Token otherlv_53=null; + Token otherlv_54=null; + Token otherlv_56=null; + Token otherlv_58=null; + Token otherlv_59=null; + AntlrDatatypeRuleToken lv_id_1_0 = null; + + AntlrDatatypeRuleToken lv_name_4_0 = null; + + EObject lv_providedRoles_13_0 = null; + + EObject lv_providedRoles_15_0 = null; + + EObject lv_blackBoxBehavior_19_0 = null; + + EObject lv_blackBoxBehavior_21_0 = null; + + EObject lv_requiredRoles_25_0 = null; + + EObject lv_requiredRoles_27_0 = null; + + EObject lv_coarseGrainedBehavior_31_0 = null; + + EObject lv_coarseGrainedBehavior_33_0 = null; + + EObject lv_assemblyContexts_37_0 = null; + + EObject lv_assemblyContexts_39_0 = null; + + EObject lv_assemblyConnectors_43_0 = null; + + EObject lv_assemblyConnectors_45_0 = null; + + EObject lv_providedDelegationConnectors_49_0 = null; + + EObject lv_providedDelegationConnectors_51_0 = null; + + EObject lv_requiredDelegationConnectors_55_0 = null; + + EObject lv_requiredDelegationConnectors_57_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2858:28: ( (otherlv_0= 'CompositeComponent' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? (otherlv_35= 'assemblyContexts' otherlv_36= '{' ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) ) (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )* otherlv_40= '}' )? (otherlv_41= 'assemblyConnectors' otherlv_42= '{' ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) ) (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )* otherlv_46= '}' )? (otherlv_47= 'providedDelegationConnectors' otherlv_48= '{' ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) ) (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )* otherlv_52= '}' )? (otherlv_53= 'requiredDelegationConnectors' otherlv_54= '{' ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) ) (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )* otherlv_58= '}' )? otherlv_59= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2859:1: (otherlv_0= 'CompositeComponent' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? (otherlv_35= 'assemblyContexts' otherlv_36= '{' ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) ) (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )* otherlv_40= '}' )? (otherlv_41= 'assemblyConnectors' otherlv_42= '{' ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) ) (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )* otherlv_46= '}' )? (otherlv_47= 'providedDelegationConnectors' otherlv_48= '{' ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) ) (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )* otherlv_52= '}' )? (otherlv_53= 'requiredDelegationConnectors' otherlv_54= '{' ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) ) (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )* otherlv_58= '}' )? otherlv_59= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2859:1: (otherlv_0= 'CompositeComponent' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? (otherlv_35= 'assemblyContexts' otherlv_36= '{' ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) ) (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )* otherlv_40= '}' )? (otherlv_41= 'assemblyConnectors' otherlv_42= '{' ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) ) (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )* otherlv_46= '}' )? (otherlv_47= 'providedDelegationConnectors' otherlv_48= '{' ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) ) (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )* otherlv_52= '}' )? (otherlv_53= 'requiredDelegationConnectors' otherlv_54= '{' ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) ) (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )* otherlv_58= '}' )? otherlv_59= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2859:3: otherlv_0= 'CompositeComponent' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? (otherlv_35= 'assemblyContexts' otherlv_36= '{' ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) ) (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )* otherlv_40= '}' )? (otherlv_41= 'assemblyConnectors' otherlv_42= '{' ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) ) (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )* otherlv_46= '}' )? (otherlv_47= 'providedDelegationConnectors' otherlv_48= '{' ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) ) (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )* otherlv_52= '}' )? (otherlv_53= 'requiredDelegationConnectors' otherlv_54= '{' ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) ) (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )* otherlv_58= '}' )? otherlv_59= '}' + { + otherlv_0=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleCompositeComponent6162); + + newLeafNode(otherlv_0, grammarAccess.getCompositeComponentAccess().getCompositeComponentKeyword_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2863:1: ( (lv_id_1_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2864:1: (lv_id_1_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2864:1: (lv_id_1_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2865:3: lv_id_1_0= ruleEString + { + + newCompositeNode(grammarAccess.getCompositeComponentAccess().getIdEStringParserRuleCall_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCompositeComponent6183); + lv_id_1_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + set( + current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCompositeComponent6195); + + newLeafNode(otherlv_2, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_2()); + + otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleCompositeComponent6207); + + newLeafNode(otherlv_3, grammarAccess.getCompositeComponentAccess().getNameKeyword_3()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2889:1: ( (lv_name_4_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2890:1: (lv_name_4_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2890:1: (lv_name_4_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2891:3: lv_name_4_0= ruleEString + { + + newCompositeNode(grammarAccess.getCompositeComponentAccess().getNameEStringParserRuleCall_4_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCompositeComponent6228); + lv_name_4_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + set( + current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2907:2: (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? + int alt61=2; + int LA61_0 = input.LA(1); + + if ( (LA61_0==25) ) { + alt61=1; + } + switch (alt61) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2907:4: otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' + { + otherlv_5=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleCompositeComponent6241); + + newLeafNode(otherlv_5, grammarAccess.getCompositeComponentAccess().getRelationshipKeyword_5_0()); + + otherlv_6=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleCompositeComponent6253); + + newLeafNode(otherlv_6, grammarAccess.getCompositeComponentAccess().getLeftParenthesisKeyword_5_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2915:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2916:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2916:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2917:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getCompositeComponentRule()); + } + + + newCompositeNode(grammarAccess.getCompositeComponentAccess().getRelationshipRelationshipCrossReference_5_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCompositeComponent6276); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2930:2: (otherlv_8= ',' ( ( ruleEString ) ) )* + loop60: + do { + int alt60=2; + int LA60_0 = input.LA(1); + + if ( (LA60_0==15) ) { + alt60=1; + } + + + switch (alt60) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2930:4: otherlv_8= ',' ( ( ruleEString ) ) + { + otherlv_8=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCompositeComponent6289); + + newLeafNode(otherlv_8, grammarAccess.getCompositeComponentAccess().getCommaKeyword_5_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2934:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2935:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2935:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2936:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getCompositeComponentRule()); + } + + + newCompositeNode(grammarAccess.getCompositeComponentAccess().getRelationshipRelationshipCrossReference_5_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCompositeComponent6312); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop60; + } + } while (true); + + otherlv_10=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleCompositeComponent6326); + + newLeafNode(otherlv_10, grammarAccess.getCompositeComponentAccess().getRightParenthesisKeyword_5_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2953:3: (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? + int alt63=2; + int LA63_0 = input.LA(1); + + if ( (LA63_0==26) ) { + alt63=1; + } + switch (alt63) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2953:5: otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' + { + otherlv_11=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleCompositeComponent6341); + + newLeafNode(otherlv_11, grammarAccess.getCompositeComponentAccess().getProvidedRolesKeyword_6_0()); + + otherlv_12=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCompositeComponent6353); + + newLeafNode(otherlv_12, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_6_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2961:1: ( (lv_providedRoles_13_0= ruleProvidedRole ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2962:1: (lv_providedRoles_13_0= ruleProvidedRole ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2962:1: (lv_providedRoles_13_0= ruleProvidedRole ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2963:3: lv_providedRoles_13_0= ruleProvidedRole + { + + newCompositeNode(grammarAccess.getCompositeComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_6_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleCompositeComponent6374); + lv_providedRoles_13_0=ruleProvidedRole(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + current, + "providedRoles", + lv_providedRoles_13_0, + "ProvidedRole"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2979:2: (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* + loop62: + do { + int alt62=2; + int LA62_0 = input.LA(1); + + if ( (LA62_0==15) ) { + alt62=1; + } + + + switch (alt62) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2979:4: otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) + { + otherlv_14=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCompositeComponent6387); + + newLeafNode(otherlv_14, grammarAccess.getCompositeComponentAccess().getCommaKeyword_6_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2983:1: ( (lv_providedRoles_15_0= ruleProvidedRole ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2984:1: (lv_providedRoles_15_0= ruleProvidedRole ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2984:1: (lv_providedRoles_15_0= ruleProvidedRole ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:2985:3: lv_providedRoles_15_0= ruleProvidedRole + { + + newCompositeNode(grammarAccess.getCompositeComponentAccess().getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleCompositeComponent6408); + lv_providedRoles_15_0=ruleProvidedRole(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + current, + "providedRoles", + lv_providedRoles_15_0, + "ProvidedRole"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop62; + } + } while (true); + + otherlv_16=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCompositeComponent6422); + + newLeafNode(otherlv_16, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_6_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3005:3: (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? + int alt65=2; + int LA65_0 = input.LA(1); + + if ( (LA65_0==27) ) { + alt65=1; + } + switch (alt65) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3005:5: otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' + { + otherlv_17=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleCompositeComponent6437); + + newLeafNode(otherlv_17, grammarAccess.getCompositeComponentAccess().getBlackBoxBehaviorKeyword_7_0()); + + otherlv_18=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCompositeComponent6449); + + newLeafNode(otherlv_18, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_7_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3013:1: ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3014:1: (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3014:1: (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3015:3: lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior + { + + newCompositeNode(grammarAccess.getCompositeComponentAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleBlackBoxBehavior_in_ruleCompositeComponent6470); + lv_blackBoxBehavior_19_0=ruleBlackBoxBehavior(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + current, + "blackBoxBehavior", + lv_blackBoxBehavior_19_0, + "BlackBoxBehavior"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3031:2: (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* + loop64: + do { + int alt64=2; + int LA64_0 = input.LA(1); + + if ( (LA64_0==15) ) { + alt64=1; + } + + + switch (alt64) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3031:4: otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) + { + otherlv_20=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCompositeComponent6483); + + newLeafNode(otherlv_20, grammarAccess.getCompositeComponentAccess().getCommaKeyword_7_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3035:1: ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3036:1: (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3036:1: (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3037:3: lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior + { + + newCompositeNode(grammarAccess.getCompositeComponentAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleBlackBoxBehavior_in_ruleCompositeComponent6504); + lv_blackBoxBehavior_21_0=ruleBlackBoxBehavior(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + current, + "blackBoxBehavior", + lv_blackBoxBehavior_21_0, + "BlackBoxBehavior"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop64; + } + } while (true); + + otherlv_22=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCompositeComponent6518); + + newLeafNode(otherlv_22, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_7_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3057:3: (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? + int alt67=2; + int LA67_0 = input.LA(1); + + if ( (LA67_0==28) ) { + alt67=1; + } + switch (alt67) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3057:5: otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' + { + otherlv_23=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruleCompositeComponent6533); + + newLeafNode(otherlv_23, grammarAccess.getCompositeComponentAccess().getRequiredRolesKeyword_8_0()); + + otherlv_24=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCompositeComponent6545); + + newLeafNode(otherlv_24, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_8_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3065:1: ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3066:1: (lv_requiredRoles_25_0= ruleRequiredRole ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3066:1: (lv_requiredRoles_25_0= ruleRequiredRole ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3067:3: lv_requiredRoles_25_0= ruleRequiredRole + { + + newCompositeNode(grammarAccess.getCompositeComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_8_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleCompositeComponent6566); + lv_requiredRoles_25_0=ruleRequiredRole(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + current, + "requiredRoles", + lv_requiredRoles_25_0, + "RequiredRole"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3083:2: (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* + loop66: + do { + int alt66=2; + int LA66_0 = input.LA(1); + + if ( (LA66_0==15) ) { + alt66=1; + } + + + switch (alt66) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3083:4: otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) + { + otherlv_26=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCompositeComponent6579); + + newLeafNode(otherlv_26, grammarAccess.getCompositeComponentAccess().getCommaKeyword_8_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3087:1: ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3088:1: (lv_requiredRoles_27_0= ruleRequiredRole ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3088:1: (lv_requiredRoles_27_0= ruleRequiredRole ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3089:3: lv_requiredRoles_27_0= ruleRequiredRole + { + + newCompositeNode(grammarAccess.getCompositeComponentAccess().getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleCompositeComponent6600); + lv_requiredRoles_27_0=ruleRequiredRole(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + current, + "requiredRoles", + lv_requiredRoles_27_0, + "RequiredRole"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop66; + } + } while (true); + + otherlv_28=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCompositeComponent6614); + + newLeafNode(otherlv_28, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_8_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3109:3: (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? + int alt69=2; + int LA69_0 = input.LA(1); + + if ( (LA69_0==29) ) { + alt69=1; + } + switch (alt69) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3109:5: otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' + { + otherlv_29=(Token)match(input,29,FollowSets000.FOLLOW_29_in_ruleCompositeComponent6629); + + newLeafNode(otherlv_29, grammarAccess.getCompositeComponentAccess().getCoarseGrainedBehaviorKeyword_9_0()); + + otherlv_30=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCompositeComponent6641); + + newLeafNode(otherlv_30, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_9_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3117:1: ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3118:1: (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3118:1: (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3119:3: lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior + { + + newCompositeNode(grammarAccess.getCompositeComponentAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleCoarseGrainedBehavior_in_ruleCompositeComponent6662); + lv_coarseGrainedBehavior_31_0=ruleCoarseGrainedBehavior(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + current, + "coarseGrainedBehavior", + lv_coarseGrainedBehavior_31_0, + "CoarseGrainedBehavior"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3135:2: (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* + loop68: + do { + int alt68=2; + int LA68_0 = input.LA(1); + + if ( (LA68_0==15) ) { + alt68=1; + } + + + switch (alt68) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3135:4: otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) + { + otherlv_32=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCompositeComponent6675); + + newLeafNode(otherlv_32, grammarAccess.getCompositeComponentAccess().getCommaKeyword_9_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3139:1: ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3140:1: (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3140:1: (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3141:3: lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior + { + + newCompositeNode(grammarAccess.getCompositeComponentAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleCoarseGrainedBehavior_in_ruleCompositeComponent6696); + lv_coarseGrainedBehavior_33_0=ruleCoarseGrainedBehavior(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + current, + "coarseGrainedBehavior", + lv_coarseGrainedBehavior_33_0, + "CoarseGrainedBehavior"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop68; + } + } while (true); + + otherlv_34=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCompositeComponent6710); + + newLeafNode(otherlv_34, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_9_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3161:3: (otherlv_35= 'assemblyContexts' otherlv_36= '{' ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) ) (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )* otherlv_40= '}' )? + int alt71=2; + int LA71_0 = input.LA(1); + + if ( (LA71_0==59) ) { + alt71=1; + } + switch (alt71) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3161:5: otherlv_35= 'assemblyContexts' otherlv_36= '{' ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) ) (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )* otherlv_40= '}' + { + otherlv_35=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleCompositeComponent6725); + + newLeafNode(otherlv_35, grammarAccess.getCompositeComponentAccess().getAssemblyContextsKeyword_10_0()); + + otherlv_36=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCompositeComponent6737); + + newLeafNode(otherlv_36, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_10_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3169:1: ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3170:1: (lv_assemblyContexts_37_0= ruleAssemblyContext ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3170:1: (lv_assemblyContexts_37_0= ruleAssemblyContext ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3171:3: lv_assemblyContexts_37_0= ruleAssemblyContext + { + + newCompositeNode(grammarAccess.getCompositeComponentAccess().getAssemblyContextsAssemblyContextParserRuleCall_10_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleAssemblyContext_in_ruleCompositeComponent6758); + lv_assemblyContexts_37_0=ruleAssemblyContext(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + current, + "assemblyContexts", + lv_assemblyContexts_37_0, + "AssemblyContext"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3187:2: (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )* + loop70: + do { + int alt70=2; + int LA70_0 = input.LA(1); + + if ( (LA70_0==15) ) { + alt70=1; + } + + + switch (alt70) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3187:4: otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) + { + otherlv_38=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCompositeComponent6771); + + newLeafNode(otherlv_38, grammarAccess.getCompositeComponentAccess().getCommaKeyword_10_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3191:1: ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3192:1: (lv_assemblyContexts_39_0= ruleAssemblyContext ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3192:1: (lv_assemblyContexts_39_0= ruleAssemblyContext ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3193:3: lv_assemblyContexts_39_0= ruleAssemblyContext + { + + newCompositeNode(grammarAccess.getCompositeComponentAccess().getAssemblyContextsAssemblyContextParserRuleCall_10_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleAssemblyContext_in_ruleCompositeComponent6792); + lv_assemblyContexts_39_0=ruleAssemblyContext(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + current, + "assemblyContexts", + lv_assemblyContexts_39_0, + "AssemblyContext"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop70; + } + } while (true); + + otherlv_40=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCompositeComponent6806); + + newLeafNode(otherlv_40, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_10_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3213:3: (otherlv_41= 'assemblyConnectors' otherlv_42= '{' ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) ) (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )* otherlv_46= '}' )? + int alt73=2; + int LA73_0 = input.LA(1); + + if ( (LA73_0==60) ) { + alt73=1; + } + switch (alt73) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3213:5: otherlv_41= 'assemblyConnectors' otherlv_42= '{' ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) ) (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )* otherlv_46= '}' + { + otherlv_41=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleCompositeComponent6821); + + newLeafNode(otherlv_41, grammarAccess.getCompositeComponentAccess().getAssemblyConnectorsKeyword_11_0()); + + otherlv_42=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCompositeComponent6833); + + newLeafNode(otherlv_42, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_11_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3221:1: ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3222:1: (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3222:1: (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3223:3: lv_assemblyConnectors_43_0= ruleAssemblyConnector + { + + newCompositeNode(grammarAccess.getCompositeComponentAccess().getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleAssemblyConnector_in_ruleCompositeComponent6854); + lv_assemblyConnectors_43_0=ruleAssemblyConnector(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + current, + "assemblyConnectors", + lv_assemblyConnectors_43_0, + "AssemblyConnector"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3239:2: (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )* + loop72: + do { + int alt72=2; + int LA72_0 = input.LA(1); + + if ( (LA72_0==15) ) { + alt72=1; + } + + + switch (alt72) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3239:4: otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) + { + otherlv_44=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCompositeComponent6867); + + newLeafNode(otherlv_44, grammarAccess.getCompositeComponentAccess().getCommaKeyword_11_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3243:1: ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3244:1: (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3244:1: (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3245:3: lv_assemblyConnectors_45_0= ruleAssemblyConnector + { + + newCompositeNode(grammarAccess.getCompositeComponentAccess().getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleAssemblyConnector_in_ruleCompositeComponent6888); + lv_assemblyConnectors_45_0=ruleAssemblyConnector(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + current, + "assemblyConnectors", + lv_assemblyConnectors_45_0, + "AssemblyConnector"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop72; + } + } while (true); + + otherlv_46=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCompositeComponent6902); + + newLeafNode(otherlv_46, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_11_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3265:3: (otherlv_47= 'providedDelegationConnectors' otherlv_48= '{' ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) ) (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )* otherlv_52= '}' )? + int alt75=2; + int LA75_0 = input.LA(1); + + if ( (LA75_0==61) ) { + alt75=1; + } + switch (alt75) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3265:5: otherlv_47= 'providedDelegationConnectors' otherlv_48= '{' ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) ) (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )* otherlv_52= '}' + { + otherlv_47=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleCompositeComponent6917); + + newLeafNode(otherlv_47, grammarAccess.getCompositeComponentAccess().getProvidedDelegationConnectorsKeyword_12_0()); + + otherlv_48=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCompositeComponent6929); + + newLeafNode(otherlv_48, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_12_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3273:1: ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3274:1: (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3274:1: (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3275:3: lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector + { + + newCompositeNode(grammarAccess.getCompositeComponentAccess().getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleProvidedDelegationConnector_in_ruleCompositeComponent6950); + lv_providedDelegationConnectors_49_0=ruleProvidedDelegationConnector(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + current, + "providedDelegationConnectors", + lv_providedDelegationConnectors_49_0, + "ProvidedDelegationConnector"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3291:2: (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )* + loop74: + do { + int alt74=2; + int LA74_0 = input.LA(1); + + if ( (LA74_0==15) ) { + alt74=1; + } + + + switch (alt74) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3291:4: otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) + { + otherlv_50=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCompositeComponent6963); + + newLeafNode(otherlv_50, grammarAccess.getCompositeComponentAccess().getCommaKeyword_12_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3295:1: ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3296:1: (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3296:1: (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3297:3: lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector + { + + newCompositeNode(grammarAccess.getCompositeComponentAccess().getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleProvidedDelegationConnector_in_ruleCompositeComponent6984); + lv_providedDelegationConnectors_51_0=ruleProvidedDelegationConnector(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + current, + "providedDelegationConnectors", + lv_providedDelegationConnectors_51_0, + "ProvidedDelegationConnector"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop74; + } + } while (true); + + otherlv_52=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCompositeComponent6998); + + newLeafNode(otherlv_52, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_12_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3317:3: (otherlv_53= 'requiredDelegationConnectors' otherlv_54= '{' ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) ) (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )* otherlv_58= '}' )? + int alt77=2; + int LA77_0 = input.LA(1); + + if ( (LA77_0==62) ) { + alt77=1; + } + switch (alt77) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3317:5: otherlv_53= 'requiredDelegationConnectors' otherlv_54= '{' ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) ) (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )* otherlv_58= '}' + { + otherlv_53=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleCompositeComponent7013); + + newLeafNode(otherlv_53, grammarAccess.getCompositeComponentAccess().getRequiredDelegationConnectorsKeyword_13_0()); + + otherlv_54=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCompositeComponent7025); + + newLeafNode(otherlv_54, grammarAccess.getCompositeComponentAccess().getLeftCurlyBracketKeyword_13_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3325:1: ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3326:1: (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3326:1: (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3327:3: lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector + { + + newCompositeNode(grammarAccess.getCompositeComponentAccess().getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleRequiredDelegationConnector_in_ruleCompositeComponent7046); + lv_requiredDelegationConnectors_55_0=ruleRequiredDelegationConnector(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + current, + "requiredDelegationConnectors", + lv_requiredDelegationConnectors_55_0, + "RequiredDelegationConnector"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3343:2: (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )* + loop76: + do { + int alt76=2; + int LA76_0 = input.LA(1); + + if ( (LA76_0==15) ) { + alt76=1; + } + + + switch (alt76) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3343:4: otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) + { + otherlv_56=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleCompositeComponent7059); + + newLeafNode(otherlv_56, grammarAccess.getCompositeComponentAccess().getCommaKeyword_13_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3347:1: ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3348:1: (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3348:1: (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3349:3: lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector + { + + newCompositeNode(grammarAccess.getCompositeComponentAccess().getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleRequiredDelegationConnector_in_ruleCompositeComponent7080); + lv_requiredDelegationConnectors_57_0=ruleRequiredDelegationConnector(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCompositeComponentRule()); + } + add( + current, + "requiredDelegationConnectors", + lv_requiredDelegationConnectors_57_0, + "RequiredDelegationConnector"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop76; + } + } while (true); + + otherlv_58=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCompositeComponent7094); + + newLeafNode(otherlv_58, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_13_4()); + + + } + break; + + } + + otherlv_59=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCompositeComponent7108); + + newLeafNode(otherlv_59, grammarAccess.getCompositeComponentAccess().getRightCurlyBracketKeyword_14()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleCompositeComponent" + + + // $ANTLR start "entryRuleSubSystem" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3381:1: entryRuleSubSystem returns [EObject current=null] : iv_ruleSubSystem= ruleSubSystem EOF ; + public final EObject entryRuleSubSystem() throws RecognitionException { + EObject current = null; + + EObject iv_ruleSubSystem = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3382:2: (iv_ruleSubSystem= ruleSubSystem EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3383:2: iv_ruleSubSystem= ruleSubSystem EOF + { + newCompositeNode(grammarAccess.getSubSystemRule()); + pushFollow(FollowSets000.FOLLOW_ruleSubSystem_in_entryRuleSubSystem7144); + iv_ruleSubSystem=ruleSubSystem(); + + state._fsp--; + + current =iv_ruleSubSystem; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSubSystem7154); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleSubSystem" + + + // $ANTLR start "ruleSubSystem" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3390:1: ruleSubSystem returns [EObject current=null] : (otherlv_0= 'SubSystem' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? (otherlv_35= 'assemblyContexts' otherlv_36= '{' ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) ) (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )* otherlv_40= '}' )? (otherlv_41= 'assemblyConnectors' otherlv_42= '{' ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) ) (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )* otherlv_46= '}' )? (otherlv_47= 'providedDelegationConnectors' otherlv_48= '{' ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) ) (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )* otherlv_52= '}' )? (otherlv_53= 'requiredDelegationConnectors' otherlv_54= '{' ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) ) (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )* otherlv_58= '}' )? otherlv_59= '}' ) ; + public final EObject ruleSubSystem() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_6=null; + Token otherlv_8=null; + Token otherlv_10=null; + Token otherlv_11=null; + Token otherlv_12=null; + Token otherlv_14=null; + Token otherlv_16=null; + Token otherlv_17=null; + Token otherlv_18=null; + Token otherlv_20=null; + Token otherlv_22=null; + Token otherlv_23=null; + Token otherlv_24=null; + Token otherlv_26=null; + Token otherlv_28=null; + Token otherlv_29=null; + Token otherlv_30=null; + Token otherlv_32=null; + Token otherlv_34=null; + Token otherlv_35=null; + Token otherlv_36=null; + Token otherlv_38=null; + Token otherlv_40=null; + Token otherlv_41=null; + Token otherlv_42=null; + Token otherlv_44=null; + Token otherlv_46=null; + Token otherlv_47=null; + Token otherlv_48=null; + Token otherlv_50=null; + Token otherlv_52=null; + Token otherlv_53=null; + Token otherlv_54=null; + Token otherlv_56=null; + Token otherlv_58=null; + Token otherlv_59=null; + AntlrDatatypeRuleToken lv_id_1_0 = null; + + AntlrDatatypeRuleToken lv_name_4_0 = null; + + EObject lv_providedRoles_13_0 = null; + + EObject lv_providedRoles_15_0 = null; + + EObject lv_blackBoxBehavior_19_0 = null; + + EObject lv_blackBoxBehavior_21_0 = null; + + EObject lv_requiredRoles_25_0 = null; + + EObject lv_requiredRoles_27_0 = null; + + EObject lv_coarseGrainedBehavior_31_0 = null; + + EObject lv_coarseGrainedBehavior_33_0 = null; + + EObject lv_assemblyContexts_37_0 = null; + + EObject lv_assemblyContexts_39_0 = null; + + EObject lv_assemblyConnectors_43_0 = null; + + EObject lv_assemblyConnectors_45_0 = null; + + EObject lv_providedDelegationConnectors_49_0 = null; + + EObject lv_providedDelegationConnectors_51_0 = null; + + EObject lv_requiredDelegationConnectors_55_0 = null; + + EObject lv_requiredDelegationConnectors_57_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3393:28: ( (otherlv_0= 'SubSystem' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? (otherlv_35= 'assemblyContexts' otherlv_36= '{' ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) ) (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )* otherlv_40= '}' )? (otherlv_41= 'assemblyConnectors' otherlv_42= '{' ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) ) (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )* otherlv_46= '}' )? (otherlv_47= 'providedDelegationConnectors' otherlv_48= '{' ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) ) (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )* otherlv_52= '}' )? (otherlv_53= 'requiredDelegationConnectors' otherlv_54= '{' ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) ) (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )* otherlv_58= '}' )? otherlv_59= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3394:1: (otherlv_0= 'SubSystem' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? (otherlv_35= 'assemblyContexts' otherlv_36= '{' ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) ) (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )* otherlv_40= '}' )? (otherlv_41= 'assemblyConnectors' otherlv_42= '{' ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) ) (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )* otherlv_46= '}' )? (otherlv_47= 'providedDelegationConnectors' otherlv_48= '{' ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) ) (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )* otherlv_52= '}' )? (otherlv_53= 'requiredDelegationConnectors' otherlv_54= '{' ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) ) (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )* otherlv_58= '}' )? otherlv_59= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3394:1: (otherlv_0= 'SubSystem' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? (otherlv_35= 'assemblyContexts' otherlv_36= '{' ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) ) (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )* otherlv_40= '}' )? (otherlv_41= 'assemblyConnectors' otherlv_42= '{' ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) ) (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )* otherlv_46= '}' )? (otherlv_47= 'providedDelegationConnectors' otherlv_48= '{' ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) ) (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )* otherlv_52= '}' )? (otherlv_53= 'requiredDelegationConnectors' otherlv_54= '{' ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) ) (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )* otherlv_58= '}' )? otherlv_59= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3394:3: otherlv_0= 'SubSystem' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? (otherlv_35= 'assemblyContexts' otherlv_36= '{' ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) ) (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )* otherlv_40= '}' )? (otherlv_41= 'assemblyConnectors' otherlv_42= '{' ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) ) (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )* otherlv_46= '}' )? (otherlv_47= 'providedDelegationConnectors' otherlv_48= '{' ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) ) (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )* otherlv_52= '}' )? (otherlv_53= 'requiredDelegationConnectors' otherlv_54= '{' ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) ) (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )* otherlv_58= '}' )? otherlv_59= '}' + { + otherlv_0=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleSubSystem7191); + + newLeafNode(otherlv_0, grammarAccess.getSubSystemAccess().getSubSystemKeyword_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3398:1: ( (lv_id_1_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3399:1: (lv_id_1_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3399:1: (lv_id_1_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3400:3: lv_id_1_0= ruleEString + { + + newCompositeNode(grammarAccess.getSubSystemAccess().getIdEStringParserRuleCall_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSubSystem7212); + lv_id_1_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + set( + current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSubSystem7224); + + newLeafNode(otherlv_2, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_2()); + + otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleSubSystem7236); + + newLeafNode(otherlv_3, grammarAccess.getSubSystemAccess().getNameKeyword_3()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3424:1: ( (lv_name_4_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3425:1: (lv_name_4_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3425:1: (lv_name_4_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3426:3: lv_name_4_0= ruleEString + { + + newCompositeNode(grammarAccess.getSubSystemAccess().getNameEStringParserRuleCall_4_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSubSystem7257); + lv_name_4_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + set( + current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3442:2: (otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' )? + int alt79=2; + int LA79_0 = input.LA(1); + + if ( (LA79_0==25) ) { + alt79=1; + } + switch (alt79) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3442:4: otherlv_5= 'relationship' otherlv_6= '(' ( ( ruleEString ) ) (otherlv_8= ',' ( ( ruleEString ) ) )* otherlv_10= ')' + { + otherlv_5=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleSubSystem7270); + + newLeafNode(otherlv_5, grammarAccess.getSubSystemAccess().getRelationshipKeyword_5_0()); + + otherlv_6=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleSubSystem7282); + + newLeafNode(otherlv_6, grammarAccess.getSubSystemAccess().getLeftParenthesisKeyword_5_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3450:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3451:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3451:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3452:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getSubSystemRule()); + } + + + newCompositeNode(grammarAccess.getSubSystemAccess().getRelationshipRelationshipCrossReference_5_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSubSystem7305); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3465:2: (otherlv_8= ',' ( ( ruleEString ) ) )* + loop78: + do { + int alt78=2; + int LA78_0 = input.LA(1); + + if ( (LA78_0==15) ) { + alt78=1; + } + + + switch (alt78) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3465:4: otherlv_8= ',' ( ( ruleEString ) ) + { + otherlv_8=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleSubSystem7318); + + newLeafNode(otherlv_8, grammarAccess.getSubSystemAccess().getCommaKeyword_5_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3469:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3470:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3470:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3471:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getSubSystemRule()); + } + + + newCompositeNode(grammarAccess.getSubSystemAccess().getRelationshipRelationshipCrossReference_5_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSubSystem7341); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop78; + } + } while (true); + + otherlv_10=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleSubSystem7355); + + newLeafNode(otherlv_10, grammarAccess.getSubSystemAccess().getRightParenthesisKeyword_5_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3488:3: (otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' )? + int alt81=2; + int LA81_0 = input.LA(1); + + if ( (LA81_0==26) ) { + alt81=1; + } + switch (alt81) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3488:5: otherlv_11= 'providedRoles' otherlv_12= '{' ( (lv_providedRoles_13_0= ruleProvidedRole ) ) (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* otherlv_16= '}' + { + otherlv_11=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleSubSystem7370); + + newLeafNode(otherlv_11, grammarAccess.getSubSystemAccess().getProvidedRolesKeyword_6_0()); + + otherlv_12=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSubSystem7382); + + newLeafNode(otherlv_12, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_6_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3496:1: ( (lv_providedRoles_13_0= ruleProvidedRole ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3497:1: (lv_providedRoles_13_0= ruleProvidedRole ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3497:1: (lv_providedRoles_13_0= ruleProvidedRole ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3498:3: lv_providedRoles_13_0= ruleProvidedRole + { + + newCompositeNode(grammarAccess.getSubSystemAccess().getProvidedRolesProvidedRoleParserRuleCall_6_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleSubSystem7403); + lv_providedRoles_13_0=ruleProvidedRole(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + current, + "providedRoles", + lv_providedRoles_13_0, + "ProvidedRole"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3514:2: (otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) )* + loop80: + do { + int alt80=2; + int LA80_0 = input.LA(1); + + if ( (LA80_0==15) ) { + alt80=1; + } + + + switch (alt80) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3514:4: otherlv_14= ',' ( (lv_providedRoles_15_0= ruleProvidedRole ) ) + { + otherlv_14=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleSubSystem7416); + + newLeafNode(otherlv_14, grammarAccess.getSubSystemAccess().getCommaKeyword_6_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3518:1: ( (lv_providedRoles_15_0= ruleProvidedRole ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3519:1: (lv_providedRoles_15_0= ruleProvidedRole ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3519:1: (lv_providedRoles_15_0= ruleProvidedRole ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3520:3: lv_providedRoles_15_0= ruleProvidedRole + { + + newCompositeNode(grammarAccess.getSubSystemAccess().getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleProvidedRole_in_ruleSubSystem7437); + lv_providedRoles_15_0=ruleProvidedRole(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + current, + "providedRoles", + lv_providedRoles_15_0, + "ProvidedRole"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop80; + } + } while (true); + + otherlv_16=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleSubSystem7451); + + newLeafNode(otherlv_16, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_6_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3540:3: (otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' )? + int alt83=2; + int LA83_0 = input.LA(1); + + if ( (LA83_0==27) ) { + alt83=1; + } + switch (alt83) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3540:5: otherlv_17= 'blackBoxBehavior' otherlv_18= '{' ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* otherlv_22= '}' + { + otherlv_17=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleSubSystem7466); + + newLeafNode(otherlv_17, grammarAccess.getSubSystemAccess().getBlackBoxBehaviorKeyword_7_0()); + + otherlv_18=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSubSystem7478); + + newLeafNode(otherlv_18, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_7_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3548:1: ( (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3549:1: (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3549:1: (lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3550:3: lv_blackBoxBehavior_19_0= ruleBlackBoxBehavior + { + + newCompositeNode(grammarAccess.getSubSystemAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleBlackBoxBehavior_in_ruleSubSystem7499); + lv_blackBoxBehavior_19_0=ruleBlackBoxBehavior(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + current, + "blackBoxBehavior", + lv_blackBoxBehavior_19_0, + "BlackBoxBehavior"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3566:2: (otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) )* + loop82: + do { + int alt82=2; + int LA82_0 = input.LA(1); + + if ( (LA82_0==15) ) { + alt82=1; + } + + + switch (alt82) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3566:4: otherlv_20= ',' ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) + { + otherlv_20=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleSubSystem7512); + + newLeafNode(otherlv_20, grammarAccess.getSubSystemAccess().getCommaKeyword_7_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3570:1: ( (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3571:1: (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3571:1: (lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3572:3: lv_blackBoxBehavior_21_0= ruleBlackBoxBehavior + { + + newCompositeNode(grammarAccess.getSubSystemAccess().getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleBlackBoxBehavior_in_ruleSubSystem7533); + lv_blackBoxBehavior_21_0=ruleBlackBoxBehavior(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + current, + "blackBoxBehavior", + lv_blackBoxBehavior_21_0, + "BlackBoxBehavior"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop82; + } + } while (true); + + otherlv_22=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleSubSystem7547); + + newLeafNode(otherlv_22, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_7_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3592:3: (otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' )? + int alt85=2; + int LA85_0 = input.LA(1); + + if ( (LA85_0==28) ) { + alt85=1; + } + switch (alt85) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3592:5: otherlv_23= 'requiredRoles' otherlv_24= '{' ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* otherlv_28= '}' + { + otherlv_23=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruleSubSystem7562); + + newLeafNode(otherlv_23, grammarAccess.getSubSystemAccess().getRequiredRolesKeyword_8_0()); + + otherlv_24=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSubSystem7574); + + newLeafNode(otherlv_24, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_8_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3600:1: ( (lv_requiredRoles_25_0= ruleRequiredRole ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3601:1: (lv_requiredRoles_25_0= ruleRequiredRole ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3601:1: (lv_requiredRoles_25_0= ruleRequiredRole ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3602:3: lv_requiredRoles_25_0= ruleRequiredRole + { + + newCompositeNode(grammarAccess.getSubSystemAccess().getRequiredRolesRequiredRoleParserRuleCall_8_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleSubSystem7595); + lv_requiredRoles_25_0=ruleRequiredRole(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + current, + "requiredRoles", + lv_requiredRoles_25_0, + "RequiredRole"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3618:2: (otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) )* + loop84: + do { + int alt84=2; + int LA84_0 = input.LA(1); + + if ( (LA84_0==15) ) { + alt84=1; + } + + + switch (alt84) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3618:4: otherlv_26= ',' ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) + { + otherlv_26=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleSubSystem7608); + + newLeafNode(otherlv_26, grammarAccess.getSubSystemAccess().getCommaKeyword_8_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3622:1: ( (lv_requiredRoles_27_0= ruleRequiredRole ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3623:1: (lv_requiredRoles_27_0= ruleRequiredRole ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3623:1: (lv_requiredRoles_27_0= ruleRequiredRole ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3624:3: lv_requiredRoles_27_0= ruleRequiredRole + { + + newCompositeNode(grammarAccess.getSubSystemAccess().getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleRequiredRole_in_ruleSubSystem7629); + lv_requiredRoles_27_0=ruleRequiredRole(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + current, + "requiredRoles", + lv_requiredRoles_27_0, + "RequiredRole"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop84; + } + } while (true); + + otherlv_28=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleSubSystem7643); + + newLeafNode(otherlv_28, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_8_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3644:3: (otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' )? + int alt87=2; + int LA87_0 = input.LA(1); + + if ( (LA87_0==29) ) { + alt87=1; + } + switch (alt87) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3644:5: otherlv_29= 'coarseGrainedBehavior' otherlv_30= '{' ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* otherlv_34= '}' + { + otherlv_29=(Token)match(input,29,FollowSets000.FOLLOW_29_in_ruleSubSystem7658); + + newLeafNode(otherlv_29, grammarAccess.getSubSystemAccess().getCoarseGrainedBehaviorKeyword_9_0()); + + otherlv_30=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSubSystem7670); + + newLeafNode(otherlv_30, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_9_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3652:1: ( (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3653:1: (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3653:1: (lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3654:3: lv_coarseGrainedBehavior_31_0= ruleCoarseGrainedBehavior + { + + newCompositeNode(grammarAccess.getSubSystemAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleCoarseGrainedBehavior_in_ruleSubSystem7691); + lv_coarseGrainedBehavior_31_0=ruleCoarseGrainedBehavior(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + current, + "coarseGrainedBehavior", + lv_coarseGrainedBehavior_31_0, + "CoarseGrainedBehavior"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3670:2: (otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) )* + loop86: + do { + int alt86=2; + int LA86_0 = input.LA(1); + + if ( (LA86_0==15) ) { + alt86=1; + } + + + switch (alt86) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3670:4: otherlv_32= ',' ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) + { + otherlv_32=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleSubSystem7704); + + newLeafNode(otherlv_32, grammarAccess.getSubSystemAccess().getCommaKeyword_9_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3674:1: ( (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3675:1: (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3675:1: (lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3676:3: lv_coarseGrainedBehavior_33_0= ruleCoarseGrainedBehavior + { + + newCompositeNode(grammarAccess.getSubSystemAccess().getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleCoarseGrainedBehavior_in_ruleSubSystem7725); + lv_coarseGrainedBehavior_33_0=ruleCoarseGrainedBehavior(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + current, + "coarseGrainedBehavior", + lv_coarseGrainedBehavior_33_0, + "CoarseGrainedBehavior"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop86; + } + } while (true); + + otherlv_34=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleSubSystem7739); + + newLeafNode(otherlv_34, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_9_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3696:3: (otherlv_35= 'assemblyContexts' otherlv_36= '{' ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) ) (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )* otherlv_40= '}' )? + int alt89=2; + int LA89_0 = input.LA(1); + + if ( (LA89_0==59) ) { + alt89=1; + } + switch (alt89) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3696:5: otherlv_35= 'assemblyContexts' otherlv_36= '{' ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) ) (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )* otherlv_40= '}' + { + otherlv_35=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleSubSystem7754); + + newLeafNode(otherlv_35, grammarAccess.getSubSystemAccess().getAssemblyContextsKeyword_10_0()); + + otherlv_36=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSubSystem7766); + + newLeafNode(otherlv_36, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_10_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3704:1: ( (lv_assemblyContexts_37_0= ruleAssemblyContext ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3705:1: (lv_assemblyContexts_37_0= ruleAssemblyContext ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3705:1: (lv_assemblyContexts_37_0= ruleAssemblyContext ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3706:3: lv_assemblyContexts_37_0= ruleAssemblyContext + { + + newCompositeNode(grammarAccess.getSubSystemAccess().getAssemblyContextsAssemblyContextParserRuleCall_10_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleAssemblyContext_in_ruleSubSystem7787); + lv_assemblyContexts_37_0=ruleAssemblyContext(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + current, + "assemblyContexts", + lv_assemblyContexts_37_0, + "AssemblyContext"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3722:2: (otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) )* + loop88: + do { + int alt88=2; + int LA88_0 = input.LA(1); + + if ( (LA88_0==15) ) { + alt88=1; + } + + + switch (alt88) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3722:4: otherlv_38= ',' ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) + { + otherlv_38=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleSubSystem7800); + + newLeafNode(otherlv_38, grammarAccess.getSubSystemAccess().getCommaKeyword_10_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3726:1: ( (lv_assemblyContexts_39_0= ruleAssemblyContext ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3727:1: (lv_assemblyContexts_39_0= ruleAssemblyContext ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3727:1: (lv_assemblyContexts_39_0= ruleAssemblyContext ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3728:3: lv_assemblyContexts_39_0= ruleAssemblyContext + { + + newCompositeNode(grammarAccess.getSubSystemAccess().getAssemblyContextsAssemblyContextParserRuleCall_10_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleAssemblyContext_in_ruleSubSystem7821); + lv_assemblyContexts_39_0=ruleAssemblyContext(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + current, + "assemblyContexts", + lv_assemblyContexts_39_0, + "AssemblyContext"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop88; + } + } while (true); + + otherlv_40=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleSubSystem7835); + + newLeafNode(otherlv_40, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_10_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3748:3: (otherlv_41= 'assemblyConnectors' otherlv_42= '{' ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) ) (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )* otherlv_46= '}' )? + int alt91=2; + int LA91_0 = input.LA(1); + + if ( (LA91_0==60) ) { + alt91=1; + } + switch (alt91) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3748:5: otherlv_41= 'assemblyConnectors' otherlv_42= '{' ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) ) (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )* otherlv_46= '}' + { + otherlv_41=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleSubSystem7850); + + newLeafNode(otherlv_41, grammarAccess.getSubSystemAccess().getAssemblyConnectorsKeyword_11_0()); + + otherlv_42=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSubSystem7862); + + newLeafNode(otherlv_42, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_11_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3756:1: ( (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3757:1: (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3757:1: (lv_assemblyConnectors_43_0= ruleAssemblyConnector ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3758:3: lv_assemblyConnectors_43_0= ruleAssemblyConnector + { + + newCompositeNode(grammarAccess.getSubSystemAccess().getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleAssemblyConnector_in_ruleSubSystem7883); + lv_assemblyConnectors_43_0=ruleAssemblyConnector(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + current, + "assemblyConnectors", + lv_assemblyConnectors_43_0, + "AssemblyConnector"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3774:2: (otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) )* + loop90: + do { + int alt90=2; + int LA90_0 = input.LA(1); + + if ( (LA90_0==15) ) { + alt90=1; + } + + + switch (alt90) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3774:4: otherlv_44= ',' ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) + { + otherlv_44=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleSubSystem7896); + + newLeafNode(otherlv_44, grammarAccess.getSubSystemAccess().getCommaKeyword_11_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3778:1: ( (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3779:1: (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3779:1: (lv_assemblyConnectors_45_0= ruleAssemblyConnector ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3780:3: lv_assemblyConnectors_45_0= ruleAssemblyConnector + { + + newCompositeNode(grammarAccess.getSubSystemAccess().getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleAssemblyConnector_in_ruleSubSystem7917); + lv_assemblyConnectors_45_0=ruleAssemblyConnector(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + current, + "assemblyConnectors", + lv_assemblyConnectors_45_0, + "AssemblyConnector"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop90; + } + } while (true); + + otherlv_46=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleSubSystem7931); + + newLeafNode(otherlv_46, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_11_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3800:3: (otherlv_47= 'providedDelegationConnectors' otherlv_48= '{' ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) ) (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )* otherlv_52= '}' )? + int alt93=2; + int LA93_0 = input.LA(1); + + if ( (LA93_0==61) ) { + alt93=1; + } + switch (alt93) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3800:5: otherlv_47= 'providedDelegationConnectors' otherlv_48= '{' ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) ) (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )* otherlv_52= '}' + { + otherlv_47=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleSubSystem7946); + + newLeafNode(otherlv_47, grammarAccess.getSubSystemAccess().getProvidedDelegationConnectorsKeyword_12_0()); + + otherlv_48=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSubSystem7958); + + newLeafNode(otherlv_48, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_12_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3808:1: ( (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3809:1: (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3809:1: (lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3810:3: lv_providedDelegationConnectors_49_0= ruleProvidedDelegationConnector + { + + newCompositeNode(grammarAccess.getSubSystemAccess().getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleProvidedDelegationConnector_in_ruleSubSystem7979); + lv_providedDelegationConnectors_49_0=ruleProvidedDelegationConnector(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + current, + "providedDelegationConnectors", + lv_providedDelegationConnectors_49_0, + "ProvidedDelegationConnector"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3826:2: (otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) )* + loop92: + do { + int alt92=2; + int LA92_0 = input.LA(1); + + if ( (LA92_0==15) ) { + alt92=1; + } + + + switch (alt92) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3826:4: otherlv_50= ',' ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) + { + otherlv_50=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleSubSystem7992); + + newLeafNode(otherlv_50, grammarAccess.getSubSystemAccess().getCommaKeyword_12_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3830:1: ( (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3831:1: (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3831:1: (lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3832:3: lv_providedDelegationConnectors_51_0= ruleProvidedDelegationConnector + { + + newCompositeNode(grammarAccess.getSubSystemAccess().getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleProvidedDelegationConnector_in_ruleSubSystem8013); + lv_providedDelegationConnectors_51_0=ruleProvidedDelegationConnector(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + current, + "providedDelegationConnectors", + lv_providedDelegationConnectors_51_0, + "ProvidedDelegationConnector"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop92; + } + } while (true); + + otherlv_52=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleSubSystem8027); + + newLeafNode(otherlv_52, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_12_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3852:3: (otherlv_53= 'requiredDelegationConnectors' otherlv_54= '{' ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) ) (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )* otherlv_58= '}' )? + int alt95=2; + int LA95_0 = input.LA(1); + + if ( (LA95_0==62) ) { + alt95=1; + } + switch (alt95) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3852:5: otherlv_53= 'requiredDelegationConnectors' otherlv_54= '{' ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) ) (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )* otherlv_58= '}' + { + otherlv_53=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleSubSystem8042); + + newLeafNode(otherlv_53, grammarAccess.getSubSystemAccess().getRequiredDelegationConnectorsKeyword_13_0()); + + otherlv_54=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSubSystem8054); + + newLeafNode(otherlv_54, grammarAccess.getSubSystemAccess().getLeftCurlyBracketKeyword_13_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3860:1: ( (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3861:1: (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3861:1: (lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3862:3: lv_requiredDelegationConnectors_55_0= ruleRequiredDelegationConnector + { + + newCompositeNode(grammarAccess.getSubSystemAccess().getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleRequiredDelegationConnector_in_ruleSubSystem8075); + lv_requiredDelegationConnectors_55_0=ruleRequiredDelegationConnector(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + current, + "requiredDelegationConnectors", + lv_requiredDelegationConnectors_55_0, + "RequiredDelegationConnector"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3878:2: (otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) )* + loop94: + do { + int alt94=2; + int LA94_0 = input.LA(1); + + if ( (LA94_0==15) ) { + alt94=1; + } + + + switch (alt94) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3878:4: otherlv_56= ',' ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) + { + otherlv_56=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleSubSystem8088); + + newLeafNode(otherlv_56, grammarAccess.getSubSystemAccess().getCommaKeyword_13_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3882:1: ( (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3883:1: (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3883:1: (lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3884:3: lv_requiredDelegationConnectors_57_0= ruleRequiredDelegationConnector + { + + newCompositeNode(grammarAccess.getSubSystemAccess().getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleRequiredDelegationConnector_in_ruleSubSystem8109); + lv_requiredDelegationConnectors_57_0=ruleRequiredDelegationConnector(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSubSystemRule()); + } + add( + current, + "requiredDelegationConnectors", + lv_requiredDelegationConnectors_57_0, + "RequiredDelegationConnector"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop94; + } + } while (true); + + otherlv_58=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleSubSystem8123); + + newLeafNode(otherlv_58, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_13_4()); + + + } + break; + + } + + otherlv_59=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleSubSystem8137); + + newLeafNode(otherlv_59, grammarAccess.getSubSystemAccess().getRightCurlyBracketKeyword_14()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleSubSystem" + + + // $ANTLR start "entryRuleInfluencingParameter_Impl" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3916:1: entryRuleInfluencingParameter_Impl returns [EObject current=null] : iv_ruleInfluencingParameter_Impl= ruleInfluencingParameter_Impl EOF ; + public final EObject entryRuleInfluencingParameter_Impl() throws RecognitionException { + EObject current = null; + + EObject iv_ruleInfluencingParameter_Impl = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3917:2: (iv_ruleInfluencingParameter_Impl= ruleInfluencingParameter_Impl EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3918:2: iv_ruleInfluencingParameter_Impl= ruleInfluencingParameter_Impl EOF + { + newCompositeNode(grammarAccess.getInfluencingParameter_ImplRule()); + pushFollow(FollowSets000.FOLLOW_ruleInfluencingParameter_Impl_in_entryRuleInfluencingParameter_Impl8173); + iv_ruleInfluencingParameter_Impl=ruleInfluencingParameter_Impl(); + + state._fsp--; + + current =iv_ruleInfluencingParameter_Impl; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInfluencingParameter_Impl8183); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleInfluencingParameter_Impl" + + + // $ANTLR start "ruleInfluencingParameter_Impl" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3925:1: ruleInfluencingParameter_Impl returns [EObject current=null] : (otherlv_0= 'InfluencingParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'behavior' ( ( ruleEString ) ) (otherlv_7= 'scope' otherlv_8= '{' ( (lv_scope_9_0= ruleScope ) ) (otherlv_10= ',' ( (lv_scope_11_0= ruleScope ) ) )* otherlv_12= '}' )? otherlv_13= '}' ) ; + public final EObject ruleInfluencingParameter_Impl() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + Token otherlv_8=null; + Token otherlv_10=null; + Token otherlv_12=null; + Token otherlv_13=null; + AntlrDatatypeRuleToken lv_name_1_0 = null; + + AntlrDatatypeRuleToken lv_description_4_0 = null; + + EObject lv_scope_9_0 = null; + + EObject lv_scope_11_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3928:28: ( (otherlv_0= 'InfluencingParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'behavior' ( ( ruleEString ) ) (otherlv_7= 'scope' otherlv_8= '{' ( (lv_scope_9_0= ruleScope ) ) (otherlv_10= ',' ( (lv_scope_11_0= ruleScope ) ) )* otherlv_12= '}' )? otherlv_13= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3929:1: (otherlv_0= 'InfluencingParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'behavior' ( ( ruleEString ) ) (otherlv_7= 'scope' otherlv_8= '{' ( (lv_scope_9_0= ruleScope ) ) (otherlv_10= ',' ( (lv_scope_11_0= ruleScope ) ) )* otherlv_12= '}' )? otherlv_13= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3929:1: (otherlv_0= 'InfluencingParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'behavior' ( ( ruleEString ) ) (otherlv_7= 'scope' otherlv_8= '{' ( (lv_scope_9_0= ruleScope ) ) (otherlv_10= ',' ( (lv_scope_11_0= ruleScope ) ) )* otherlv_12= '}' )? otherlv_13= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3929:3: otherlv_0= 'InfluencingParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'behavior' ( ( ruleEString ) ) (otherlv_7= 'scope' otherlv_8= '{' ( (lv_scope_9_0= ruleScope ) ) (otherlv_10= ',' ( (lv_scope_11_0= ruleScope ) ) )* otherlv_12= '}' )? otherlv_13= '}' + { + otherlv_0=(Token)match(input,64,FollowSets000.FOLLOW_64_in_ruleInfluencingParameter_Impl8220); + + newLeafNode(otherlv_0, grammarAccess.getInfluencingParameter_ImplAccess().getInfluencingParameterKeyword_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3933:1: ( (lv_name_1_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3934:1: (lv_name_1_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3934:1: (lv_name_1_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3935:3: lv_name_1_0= ruleEString + { + + newCompositeNode(grammarAccess.getInfluencingParameter_ImplAccess().getNameEStringParserRuleCall_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInfluencingParameter_Impl8241); + lv_name_1_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getInfluencingParameter_ImplRule()); + } + set( + current, + "name", + lv_name_1_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleInfluencingParameter_Impl8253); + + newLeafNode(otherlv_2, grammarAccess.getInfluencingParameter_ImplAccess().getLeftCurlyBracketKeyword_2()); + + otherlv_3=(Token)match(input,65,FollowSets000.FOLLOW_65_in_ruleInfluencingParameter_Impl8265); + + newLeafNode(otherlv_3, grammarAccess.getInfluencingParameter_ImplAccess().getDescriptionKeyword_3()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3959:1: ( (lv_description_4_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3960:1: (lv_description_4_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3960:1: (lv_description_4_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3961:3: lv_description_4_0= ruleEString + { + + newCompositeNode(grammarAccess.getInfluencingParameter_ImplAccess().getDescriptionEStringParserRuleCall_4_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInfluencingParameter_Impl8286); + lv_description_4_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getInfluencingParameter_ImplRule()); + } + set( + current, + "description", + lv_description_4_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_5=(Token)match(input,66,FollowSets000.FOLLOW_66_in_ruleInfluencingParameter_Impl8298); + + newLeafNode(otherlv_5, grammarAccess.getInfluencingParameter_ImplAccess().getBehaviorKeyword_5()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3981:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3982:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3982:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3983:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getInfluencingParameter_ImplRule()); + } + + + newCompositeNode(grammarAccess.getInfluencingParameter_ImplAccess().getBehaviorServiceBehaviorAbstractionCrossReference_6_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInfluencingParameter_Impl8321); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3996:2: (otherlv_7= 'scope' otherlv_8= '{' ( (lv_scope_9_0= ruleScope ) ) (otherlv_10= ',' ( (lv_scope_11_0= ruleScope ) ) )* otherlv_12= '}' )? + int alt97=2; + int LA97_0 = input.LA(1); + + if ( (LA97_0==67) ) { + alt97=1; + } + switch (alt97) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:3996:4: otherlv_7= 'scope' otherlv_8= '{' ( (lv_scope_9_0= ruleScope ) ) (otherlv_10= ',' ( (lv_scope_11_0= ruleScope ) ) )* otherlv_12= '}' + { + otherlv_7=(Token)match(input,67,FollowSets000.FOLLOW_67_in_ruleInfluencingParameter_Impl8334); + + newLeafNode(otherlv_7, grammarAccess.getInfluencingParameter_ImplAccess().getScopeKeyword_7_0()); + + otherlv_8=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleInfluencingParameter_Impl8346); + + newLeafNode(otherlv_8, grammarAccess.getInfluencingParameter_ImplAccess().getLeftCurlyBracketKeyword_7_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4004:1: ( (lv_scope_9_0= ruleScope ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4005:1: (lv_scope_9_0= ruleScope ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4005:1: (lv_scope_9_0= ruleScope ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4006:3: lv_scope_9_0= ruleScope + { + + newCompositeNode(grammarAccess.getInfluencingParameter_ImplAccess().getScopeScopeParserRuleCall_7_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleScope_in_ruleInfluencingParameter_Impl8367); + lv_scope_9_0=ruleScope(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getInfluencingParameter_ImplRule()); + } + add( + current, + "scope", + lv_scope_9_0, + "Scope"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4022:2: (otherlv_10= ',' ( (lv_scope_11_0= ruleScope ) ) )* + loop96: + do { + int alt96=2; + int LA96_0 = input.LA(1); + + if ( (LA96_0==15) ) { + alt96=1; + } + + + switch (alt96) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4022:4: otherlv_10= ',' ( (lv_scope_11_0= ruleScope ) ) + { + otherlv_10=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleInfluencingParameter_Impl8380); + + newLeafNode(otherlv_10, grammarAccess.getInfluencingParameter_ImplAccess().getCommaKeyword_7_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4026:1: ( (lv_scope_11_0= ruleScope ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4027:1: (lv_scope_11_0= ruleScope ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4027:1: (lv_scope_11_0= ruleScope ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4028:3: lv_scope_11_0= ruleScope + { + + newCompositeNode(grammarAccess.getInfluencingParameter_ImplAccess().getScopeScopeParserRuleCall_7_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleScope_in_ruleInfluencingParameter_Impl8401); + lv_scope_11_0=ruleScope(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getInfluencingParameter_ImplRule()); + } + add( + current, + "scope", + lv_scope_11_0, + "Scope"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop96; + } + } while (true); + + otherlv_12=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleInfluencingParameter_Impl8415); + + newLeafNode(otherlv_12, grammarAccess.getInfluencingParameter_ImplAccess().getRightCurlyBracketKeyword_7_4()); + + + } + break; + + } + + otherlv_13=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleInfluencingParameter_Impl8429); + + newLeafNode(otherlv_13, grammarAccess.getInfluencingParameter_ImplAccess().getRightCurlyBracketKeyword_8()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleInfluencingParameter_Impl" + + + // $ANTLR start "entryRuleResponseTimeSpecification" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4060:1: entryRuleResponseTimeSpecification returns [EObject current=null] : iv_ruleResponseTimeSpecification= ruleResponseTimeSpecification EOF ; + public final EObject entryRuleResponseTimeSpecification() throws RecognitionException { + EObject current = null; + + EObject iv_ruleResponseTimeSpecification = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4061:2: (iv_ruleResponseTimeSpecification= ruleResponseTimeSpecification EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4062:2: iv_ruleResponseTimeSpecification= ruleResponseTimeSpecification EOF + { + newCompositeNode(grammarAccess.getResponseTimeSpecificationRule()); + pushFollow(FollowSets000.FOLLOW_ruleResponseTimeSpecification_in_entryRuleResponseTimeSpecification8465); + iv_ruleResponseTimeSpecification=ruleResponseTimeSpecification(); + + state._fsp--; + + current =iv_ruleResponseTimeSpecification; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleResponseTimeSpecification8475); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleResponseTimeSpecification" + + + // $ANTLR start "ruleResponseTimeSpecification" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4069:1: ruleResponseTimeSpecification returns [EObject current=null] : ( () otherlv_1= 'ResponseTimeSpecification' ) ; + public final EObject ruleResponseTimeSpecification() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4072:28: ( ( () otherlv_1= 'ResponseTimeSpecification' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4073:1: ( () otherlv_1= 'ResponseTimeSpecification' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4073:1: ( () otherlv_1= 'ResponseTimeSpecification' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4073:2: () otherlv_1= 'ResponseTimeSpecification' + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4073:2: () + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4074:5: + { + + current = forceCreateModelElement( + grammarAccess.getResponseTimeSpecificationAccess().getResponseTimeSpecificationAction_0(), + current); + + + } + + otherlv_1=(Token)match(input,68,FollowSets000.FOLLOW_68_in_ruleResponseTimeSpecification8521); + + newLeafNode(otherlv_1, grammarAccess.getResponseTimeSpecificationAccess().getResponseTimeSpecificationKeyword_1()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleResponseTimeSpecification" + + + // $ANTLR start "entryRuleScope" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4091:1: entryRuleScope returns [EObject current=null] : iv_ruleScope= ruleScope EOF ; + public final EObject entryRuleScope() throws RecognitionException { + EObject current = null; + + EObject iv_ruleScope = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4092:2: (iv_ruleScope= ruleScope EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4093:2: iv_ruleScope= ruleScope EOF + { + newCompositeNode(grammarAccess.getScopeRule()); + pushFollow(FollowSets000.FOLLOW_ruleScope_in_entryRuleScope8557); + iv_ruleScope=ruleScope(); + + state._fsp--; + + current =iv_ruleScope; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleScope8567); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleScope" + + + // $ANTLR start "ruleScope" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4100:1: ruleScope returns [EObject current=null] : (otherlv_0= 'Scope' otherlv_1= '{' otherlv_2= 'interfaceProvidingRequiringEntity' ( ( ruleEString ) ) otherlv_4= '}' ) ; + public final EObject ruleScope() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4103:28: ( (otherlv_0= 'Scope' otherlv_1= '{' otherlv_2= 'interfaceProvidingRequiringEntity' ( ( ruleEString ) ) otherlv_4= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4104:1: (otherlv_0= 'Scope' otherlv_1= '{' otherlv_2= 'interfaceProvidingRequiringEntity' ( ( ruleEString ) ) otherlv_4= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4104:1: (otherlv_0= 'Scope' otherlv_1= '{' otherlv_2= 'interfaceProvidingRequiringEntity' ( ( ruleEString ) ) otherlv_4= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4104:3: otherlv_0= 'Scope' otherlv_1= '{' otherlv_2= 'interfaceProvidingRequiringEntity' ( ( ruleEString ) ) otherlv_4= '}' + { + otherlv_0=(Token)match(input,69,FollowSets000.FOLLOW_69_in_ruleScope8604); + + newLeafNode(otherlv_0, grammarAccess.getScopeAccess().getScopeKeyword_0()); + + otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleScope8616); + + newLeafNode(otherlv_1, grammarAccess.getScopeAccess().getLeftCurlyBracketKeyword_1()); + + otherlv_2=(Token)match(input,70,FollowSets000.FOLLOW_70_in_ruleScope8628); + + newLeafNode(otherlv_2, grammarAccess.getScopeAccess().getInterfaceProvidingRequiringEntityKeyword_2()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4116:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4117:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4117:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4118:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getScopeRule()); + } + + + newCompositeNode(grammarAccess.getScopeAccess().getInterfaceProvidingRequiringEntityInterfaceProvidingRequiringEntityCrossReference_3_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleScope8651); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_4=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleScope8663); + + newLeafNode(otherlv_4, grammarAccess.getScopeAccess().getRightCurlyBracketKeyword_4()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleScope" + + + // $ANTLR start "entryRuleServiceInputParameter" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4143:1: entryRuleServiceInputParameter returns [EObject current=null] : iv_ruleServiceInputParameter= ruleServiceInputParameter EOF ; + public final EObject entryRuleServiceInputParameter() throws RecognitionException { + EObject current = null; + + EObject iv_ruleServiceInputParameter = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4144:2: (iv_ruleServiceInputParameter= ruleServiceInputParameter EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4145:2: iv_ruleServiceInputParameter= ruleServiceInputParameter EOF + { + newCompositeNode(grammarAccess.getServiceInputParameterRule()); + pushFollow(FollowSets000.FOLLOW_ruleServiceInputParameter_in_entryRuleServiceInputParameter8699); + iv_ruleServiceInputParameter=ruleServiceInputParameter(); + + state._fsp--; + + current =iv_ruleServiceInputParameter; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleServiceInputParameter8709); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleServiceInputParameter" + + + // $ANTLR start "ruleServiceInputParameter" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4152:1: ruleServiceInputParameter returns [EObject current=null] : (otherlv_0= 'ServiceInputParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'characterization' ( (lv_characterization_6_0= ruleCharacterizationType ) ) otherlv_7= 'behavior' ( ( ruleEString ) ) otherlv_9= 'signature' ( ( ruleEString ) ) (otherlv_11= 'parameter' ( ( ruleEString ) ) )? (otherlv_13= 'returnType' ( ( ruleEString ) ) )? otherlv_15= 'providedRole' ( ( ruleEString ) ) (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? otherlv_23= '}' ) ; + public final EObject ruleServiceInputParameter() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + Token otherlv_9=null; + Token otherlv_11=null; + Token otherlv_13=null; + Token otherlv_15=null; + Token otherlv_17=null; + Token otherlv_18=null; + Token otherlv_20=null; + Token otherlv_22=null; + Token otherlv_23=null; + AntlrDatatypeRuleToken lv_name_1_0 = null; + + AntlrDatatypeRuleToken lv_description_4_0 = null; + + Enumerator lv_characterization_6_0 = null; + + EObject lv_scope_19_0 = null; + + EObject lv_scope_21_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4155:28: ( (otherlv_0= 'ServiceInputParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'characterization' ( (lv_characterization_6_0= ruleCharacterizationType ) ) otherlv_7= 'behavior' ( ( ruleEString ) ) otherlv_9= 'signature' ( ( ruleEString ) ) (otherlv_11= 'parameter' ( ( ruleEString ) ) )? (otherlv_13= 'returnType' ( ( ruleEString ) ) )? otherlv_15= 'providedRole' ( ( ruleEString ) ) (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? otherlv_23= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4156:1: (otherlv_0= 'ServiceInputParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'characterization' ( (lv_characterization_6_0= ruleCharacterizationType ) ) otherlv_7= 'behavior' ( ( ruleEString ) ) otherlv_9= 'signature' ( ( ruleEString ) ) (otherlv_11= 'parameter' ( ( ruleEString ) ) )? (otherlv_13= 'returnType' ( ( ruleEString ) ) )? otherlv_15= 'providedRole' ( ( ruleEString ) ) (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? otherlv_23= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4156:1: (otherlv_0= 'ServiceInputParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'characterization' ( (lv_characterization_6_0= ruleCharacterizationType ) ) otherlv_7= 'behavior' ( ( ruleEString ) ) otherlv_9= 'signature' ( ( ruleEString ) ) (otherlv_11= 'parameter' ( ( ruleEString ) ) )? (otherlv_13= 'returnType' ( ( ruleEString ) ) )? otherlv_15= 'providedRole' ( ( ruleEString ) ) (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? otherlv_23= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4156:3: otherlv_0= 'ServiceInputParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'characterization' ( (lv_characterization_6_0= ruleCharacterizationType ) ) otherlv_7= 'behavior' ( ( ruleEString ) ) otherlv_9= 'signature' ( ( ruleEString ) ) (otherlv_11= 'parameter' ( ( ruleEString ) ) )? (otherlv_13= 'returnType' ( ( ruleEString ) ) )? otherlv_15= 'providedRole' ( ( ruleEString ) ) (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? otherlv_23= '}' + { + otherlv_0=(Token)match(input,71,FollowSets000.FOLLOW_71_in_ruleServiceInputParameter8746); + + newLeafNode(otherlv_0, grammarAccess.getServiceInputParameterAccess().getServiceInputParameterKeyword_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4160:1: ( (lv_name_1_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4161:1: (lv_name_1_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4161:1: (lv_name_1_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4162:3: lv_name_1_0= ruleEString + { + + newCompositeNode(grammarAccess.getServiceInputParameterAccess().getNameEStringParserRuleCall_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleServiceInputParameter8767); + lv_name_1_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getServiceInputParameterRule()); + } + set( + current, + "name", + lv_name_1_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleServiceInputParameter8779); + + newLeafNode(otherlv_2, grammarAccess.getServiceInputParameterAccess().getLeftCurlyBracketKeyword_2()); + + otherlv_3=(Token)match(input,65,FollowSets000.FOLLOW_65_in_ruleServiceInputParameter8791); + + newLeafNode(otherlv_3, grammarAccess.getServiceInputParameterAccess().getDescriptionKeyword_3()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4186:1: ( (lv_description_4_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4187:1: (lv_description_4_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4187:1: (lv_description_4_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4188:3: lv_description_4_0= ruleEString + { + + newCompositeNode(grammarAccess.getServiceInputParameterAccess().getDescriptionEStringParserRuleCall_4_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleServiceInputParameter8812); + lv_description_4_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getServiceInputParameterRule()); + } + set( + current, + "description", + lv_description_4_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_5=(Token)match(input,72,FollowSets000.FOLLOW_72_in_ruleServiceInputParameter8824); + + newLeafNode(otherlv_5, grammarAccess.getServiceInputParameterAccess().getCharacterizationKeyword_5()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4208:1: ( (lv_characterization_6_0= ruleCharacterizationType ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4209:1: (lv_characterization_6_0= ruleCharacterizationType ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4209:1: (lv_characterization_6_0= ruleCharacterizationType ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4210:3: lv_characterization_6_0= ruleCharacterizationType + { + + newCompositeNode(grammarAccess.getServiceInputParameterAccess().getCharacterizationCharacterizationTypeEnumRuleCall_6_0()); + + pushFollow(FollowSets000.FOLLOW_ruleCharacterizationType_in_ruleServiceInputParameter8845); + lv_characterization_6_0=ruleCharacterizationType(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getServiceInputParameterRule()); + } + set( + current, + "characterization", + lv_characterization_6_0, + "CharacterizationType"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_7=(Token)match(input,66,FollowSets000.FOLLOW_66_in_ruleServiceInputParameter8857); + + newLeafNode(otherlv_7, grammarAccess.getServiceInputParameterAccess().getBehaviorKeyword_7()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4230:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4231:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4231:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4232:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getServiceInputParameterRule()); + } + + + newCompositeNode(grammarAccess.getServiceInputParameterAccess().getBehaviorServiceBehaviorAbstractionCrossReference_8_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleServiceInputParameter8880); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_9=(Token)match(input,73,FollowSets000.FOLLOW_73_in_ruleServiceInputParameter8892); + + newLeafNode(otherlv_9, grammarAccess.getServiceInputParameterAccess().getSignatureKeyword_9()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4249:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4250:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4250:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4251:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getServiceInputParameterRule()); + } + + + newCompositeNode(grammarAccess.getServiceInputParameterAccess().getSignatureSignatureCrossReference_10_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleServiceInputParameter8915); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4264:2: (otherlv_11= 'parameter' ( ( ruleEString ) ) )? + int alt98=2; + int LA98_0 = input.LA(1); + + if ( (LA98_0==74) ) { + alt98=1; + } + switch (alt98) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4264:4: otherlv_11= 'parameter' ( ( ruleEString ) ) + { + otherlv_11=(Token)match(input,74,FollowSets000.FOLLOW_74_in_ruleServiceInputParameter8928); + + newLeafNode(otherlv_11, grammarAccess.getServiceInputParameterAccess().getParameterKeyword_11_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4268:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4269:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4269:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4270:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getServiceInputParameterRule()); + } + + + newCompositeNode(grammarAccess.getServiceInputParameterAccess().getParameterParameterCrossReference_11_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleServiceInputParameter8951); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4283:4: (otherlv_13= 'returnType' ( ( ruleEString ) ) )? + int alt99=2; + int LA99_0 = input.LA(1); + + if ( (LA99_0==40) ) { + alt99=1; + } + switch (alt99) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4283:6: otherlv_13= 'returnType' ( ( ruleEString ) ) + { + otherlv_13=(Token)match(input,40,FollowSets000.FOLLOW_40_in_ruleServiceInputParameter8966); + + newLeafNode(otherlv_13, grammarAccess.getServiceInputParameterAccess().getReturnTypeKeyword_12_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4287:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4288:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4288:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4289:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getServiceInputParameterRule()); + } + + + newCompositeNode(grammarAccess.getServiceInputParameterAccess().getReturnTypeDataTypeCrossReference_12_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleServiceInputParameter8989); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + otherlv_15=(Token)match(input,75,FollowSets000.FOLLOW_75_in_ruleServiceInputParameter9003); + + newLeafNode(otherlv_15, grammarAccess.getServiceInputParameterAccess().getProvidedRoleKeyword_13()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4306:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4307:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4307:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4308:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getServiceInputParameterRule()); + } + + + newCompositeNode(grammarAccess.getServiceInputParameterAccess().getProvidedRoleProvidedRoleCrossReference_14_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleServiceInputParameter9026); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4321:2: (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? + int alt101=2; + int LA101_0 = input.LA(1); + + if ( (LA101_0==67) ) { + alt101=1; + } + switch (alt101) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4321:4: otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' + { + otherlv_17=(Token)match(input,67,FollowSets000.FOLLOW_67_in_ruleServiceInputParameter9039); + + newLeafNode(otherlv_17, grammarAccess.getServiceInputParameterAccess().getScopeKeyword_15_0()); + + otherlv_18=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleServiceInputParameter9051); + + newLeafNode(otherlv_18, grammarAccess.getServiceInputParameterAccess().getLeftCurlyBracketKeyword_15_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4329:1: ( (lv_scope_19_0= ruleScope ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4330:1: (lv_scope_19_0= ruleScope ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4330:1: (lv_scope_19_0= ruleScope ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4331:3: lv_scope_19_0= ruleScope + { + + newCompositeNode(grammarAccess.getServiceInputParameterAccess().getScopeScopeParserRuleCall_15_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleScope_in_ruleServiceInputParameter9072); + lv_scope_19_0=ruleScope(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getServiceInputParameterRule()); + } + add( + current, + "scope", + lv_scope_19_0, + "Scope"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4347:2: (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* + loop100: + do { + int alt100=2; + int LA100_0 = input.LA(1); + + if ( (LA100_0==15) ) { + alt100=1; + } + + + switch (alt100) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4347:4: otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) + { + otherlv_20=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleServiceInputParameter9085); + + newLeafNode(otherlv_20, grammarAccess.getServiceInputParameterAccess().getCommaKeyword_15_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4351:1: ( (lv_scope_21_0= ruleScope ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4352:1: (lv_scope_21_0= ruleScope ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4352:1: (lv_scope_21_0= ruleScope ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4353:3: lv_scope_21_0= ruleScope + { + + newCompositeNode(grammarAccess.getServiceInputParameterAccess().getScopeScopeParserRuleCall_15_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleScope_in_ruleServiceInputParameter9106); + lv_scope_21_0=ruleScope(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getServiceInputParameterRule()); + } + add( + current, + "scope", + lv_scope_21_0, + "Scope"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop100; + } + } while (true); + + otherlv_22=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleServiceInputParameter9120); + + newLeafNode(otherlv_22, grammarAccess.getServiceInputParameterAccess().getRightCurlyBracketKeyword_15_4()); + + + } + break; + + } + + otherlv_23=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleServiceInputParameter9134); + + newLeafNode(otherlv_23, grammarAccess.getServiceInputParameterAccess().getRightCurlyBracketKeyword_16()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleServiceInputParameter" + + + // $ANTLR start "entryRuleExternalCallReturnParameter" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4385:1: entryRuleExternalCallReturnParameter returns [EObject current=null] : iv_ruleExternalCallReturnParameter= ruleExternalCallReturnParameter EOF ; + public final EObject entryRuleExternalCallReturnParameter() throws RecognitionException { + EObject current = null; + + EObject iv_ruleExternalCallReturnParameter = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4386:2: (iv_ruleExternalCallReturnParameter= ruleExternalCallReturnParameter EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4387:2: iv_ruleExternalCallReturnParameter= ruleExternalCallReturnParameter EOF + { + newCompositeNode(grammarAccess.getExternalCallReturnParameterRule()); + pushFollow(FollowSets000.FOLLOW_ruleExternalCallReturnParameter_in_entryRuleExternalCallReturnParameter9170); + iv_ruleExternalCallReturnParameter=ruleExternalCallReturnParameter(); + + state._fsp--; + + current =iv_ruleExternalCallReturnParameter; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExternalCallReturnParameter9180); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleExternalCallReturnParameter" + + + // $ANTLR start "ruleExternalCallReturnParameter" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4394:1: ruleExternalCallReturnParameter returns [EObject current=null] : (otherlv_0= 'ExternalCallReturnParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'characterization' ( (lv_characterization_6_0= ruleCharacterizationType ) ) otherlv_7= 'behavior' ( ( ruleEString ) ) otherlv_9= 'signature' ( ( ruleEString ) ) (otherlv_11= 'parameter' ( ( ruleEString ) ) )? (otherlv_13= 'returnType' ( ( ruleEString ) ) )? otherlv_15= 'externalCall' ( ( ruleEString ) ) (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? otherlv_23= '}' ) ; + public final EObject ruleExternalCallReturnParameter() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + Token otherlv_9=null; + Token otherlv_11=null; + Token otherlv_13=null; + Token otherlv_15=null; + Token otherlv_17=null; + Token otherlv_18=null; + Token otherlv_20=null; + Token otherlv_22=null; + Token otherlv_23=null; + AntlrDatatypeRuleToken lv_name_1_0 = null; + + AntlrDatatypeRuleToken lv_description_4_0 = null; + + Enumerator lv_characterization_6_0 = null; + + EObject lv_scope_19_0 = null; + + EObject lv_scope_21_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4397:28: ( (otherlv_0= 'ExternalCallReturnParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'characterization' ( (lv_characterization_6_0= ruleCharacterizationType ) ) otherlv_7= 'behavior' ( ( ruleEString ) ) otherlv_9= 'signature' ( ( ruleEString ) ) (otherlv_11= 'parameter' ( ( ruleEString ) ) )? (otherlv_13= 'returnType' ( ( ruleEString ) ) )? otherlv_15= 'externalCall' ( ( ruleEString ) ) (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? otherlv_23= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4398:1: (otherlv_0= 'ExternalCallReturnParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'characterization' ( (lv_characterization_6_0= ruleCharacterizationType ) ) otherlv_7= 'behavior' ( ( ruleEString ) ) otherlv_9= 'signature' ( ( ruleEString ) ) (otherlv_11= 'parameter' ( ( ruleEString ) ) )? (otherlv_13= 'returnType' ( ( ruleEString ) ) )? otherlv_15= 'externalCall' ( ( ruleEString ) ) (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? otherlv_23= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4398:1: (otherlv_0= 'ExternalCallReturnParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'characterization' ( (lv_characterization_6_0= ruleCharacterizationType ) ) otherlv_7= 'behavior' ( ( ruleEString ) ) otherlv_9= 'signature' ( ( ruleEString ) ) (otherlv_11= 'parameter' ( ( ruleEString ) ) )? (otherlv_13= 'returnType' ( ( ruleEString ) ) )? otherlv_15= 'externalCall' ( ( ruleEString ) ) (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? otherlv_23= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4398:3: otherlv_0= 'ExternalCallReturnParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'characterization' ( (lv_characterization_6_0= ruleCharacterizationType ) ) otherlv_7= 'behavior' ( ( ruleEString ) ) otherlv_9= 'signature' ( ( ruleEString ) ) (otherlv_11= 'parameter' ( ( ruleEString ) ) )? (otherlv_13= 'returnType' ( ( ruleEString ) ) )? otherlv_15= 'externalCall' ( ( ruleEString ) ) (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? otherlv_23= '}' + { + otherlv_0=(Token)match(input,76,FollowSets000.FOLLOW_76_in_ruleExternalCallReturnParameter9217); + + newLeafNode(otherlv_0, grammarAccess.getExternalCallReturnParameterAccess().getExternalCallReturnParameterKeyword_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4402:1: ( (lv_name_1_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4403:1: (lv_name_1_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4403:1: (lv_name_1_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4404:3: lv_name_1_0= ruleEString + { + + newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getNameEStringParserRuleCall_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallReturnParameter9238); + lv_name_1_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExternalCallReturnParameterRule()); + } + set( + current, + "name", + lv_name_1_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleExternalCallReturnParameter9250); + + newLeafNode(otherlv_2, grammarAccess.getExternalCallReturnParameterAccess().getLeftCurlyBracketKeyword_2()); + + otherlv_3=(Token)match(input,65,FollowSets000.FOLLOW_65_in_ruleExternalCallReturnParameter9262); + + newLeafNode(otherlv_3, grammarAccess.getExternalCallReturnParameterAccess().getDescriptionKeyword_3()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4428:1: ( (lv_description_4_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4429:1: (lv_description_4_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4429:1: (lv_description_4_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4430:3: lv_description_4_0= ruleEString + { + + newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getDescriptionEStringParserRuleCall_4_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallReturnParameter9283); + lv_description_4_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExternalCallReturnParameterRule()); + } + set( + current, + "description", + lv_description_4_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_5=(Token)match(input,72,FollowSets000.FOLLOW_72_in_ruleExternalCallReturnParameter9295); + + newLeafNode(otherlv_5, grammarAccess.getExternalCallReturnParameterAccess().getCharacterizationKeyword_5()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4450:1: ( (lv_characterization_6_0= ruleCharacterizationType ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4451:1: (lv_characterization_6_0= ruleCharacterizationType ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4451:1: (lv_characterization_6_0= ruleCharacterizationType ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4452:3: lv_characterization_6_0= ruleCharacterizationType + { + + newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getCharacterizationCharacterizationTypeEnumRuleCall_6_0()); + + pushFollow(FollowSets000.FOLLOW_ruleCharacterizationType_in_ruleExternalCallReturnParameter9316); + lv_characterization_6_0=ruleCharacterizationType(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExternalCallReturnParameterRule()); + } + set( + current, + "characterization", + lv_characterization_6_0, + "CharacterizationType"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_7=(Token)match(input,66,FollowSets000.FOLLOW_66_in_ruleExternalCallReturnParameter9328); + + newLeafNode(otherlv_7, grammarAccess.getExternalCallReturnParameterAccess().getBehaviorKeyword_7()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4472:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4473:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4473:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4474:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getExternalCallReturnParameterRule()); + } + + + newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getBehaviorServiceBehaviorAbstractionCrossReference_8_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallReturnParameter9351); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_9=(Token)match(input,73,FollowSets000.FOLLOW_73_in_ruleExternalCallReturnParameter9363); + + newLeafNode(otherlv_9, grammarAccess.getExternalCallReturnParameterAccess().getSignatureKeyword_9()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4491:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4492:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4492:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4493:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getExternalCallReturnParameterRule()); + } + + + newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getSignatureSignatureCrossReference_10_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallReturnParameter9386); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4506:2: (otherlv_11= 'parameter' ( ( ruleEString ) ) )? + int alt102=2; + int LA102_0 = input.LA(1); + + if ( (LA102_0==74) ) { + alt102=1; + } + switch (alt102) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4506:4: otherlv_11= 'parameter' ( ( ruleEString ) ) + { + otherlv_11=(Token)match(input,74,FollowSets000.FOLLOW_74_in_ruleExternalCallReturnParameter9399); + + newLeafNode(otherlv_11, grammarAccess.getExternalCallReturnParameterAccess().getParameterKeyword_11_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4510:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4511:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4511:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4512:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getExternalCallReturnParameterRule()); + } + + + newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getParameterParameterCrossReference_11_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallReturnParameter9422); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4525:4: (otherlv_13= 'returnType' ( ( ruleEString ) ) )? + int alt103=2; + int LA103_0 = input.LA(1); + + if ( (LA103_0==40) ) { + alt103=1; + } + switch (alt103) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4525:6: otherlv_13= 'returnType' ( ( ruleEString ) ) + { + otherlv_13=(Token)match(input,40,FollowSets000.FOLLOW_40_in_ruleExternalCallReturnParameter9437); + + newLeafNode(otherlv_13, grammarAccess.getExternalCallReturnParameterAccess().getReturnTypeKeyword_12_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4529:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4530:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4530:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4531:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getExternalCallReturnParameterRule()); + } + + + newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getReturnTypeDataTypeCrossReference_12_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallReturnParameter9460); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + otherlv_15=(Token)match(input,77,FollowSets000.FOLLOW_77_in_ruleExternalCallReturnParameter9474); + + newLeafNode(otherlv_15, grammarAccess.getExternalCallReturnParameterAccess().getExternalCallKeyword_13()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4548:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4549:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4549:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4550:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getExternalCallReturnParameterRule()); + } + + + newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getExternalCallExternalCallCrossReference_14_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallReturnParameter9497); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4563:2: (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? + int alt105=2; + int LA105_0 = input.LA(1); + + if ( (LA105_0==67) ) { + alt105=1; + } + switch (alt105) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4563:4: otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' + { + otherlv_17=(Token)match(input,67,FollowSets000.FOLLOW_67_in_ruleExternalCallReturnParameter9510); + + newLeafNode(otherlv_17, grammarAccess.getExternalCallReturnParameterAccess().getScopeKeyword_15_0()); + + otherlv_18=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleExternalCallReturnParameter9522); + + newLeafNode(otherlv_18, grammarAccess.getExternalCallReturnParameterAccess().getLeftCurlyBracketKeyword_15_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4571:1: ( (lv_scope_19_0= ruleScope ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4572:1: (lv_scope_19_0= ruleScope ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4572:1: (lv_scope_19_0= ruleScope ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4573:3: lv_scope_19_0= ruleScope + { + + newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getScopeScopeParserRuleCall_15_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleScope_in_ruleExternalCallReturnParameter9543); + lv_scope_19_0=ruleScope(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExternalCallReturnParameterRule()); + } + add( + current, + "scope", + lv_scope_19_0, + "Scope"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4589:2: (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* + loop104: + do { + int alt104=2; + int LA104_0 = input.LA(1); + + if ( (LA104_0==15) ) { + alt104=1; + } + + + switch (alt104) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4589:4: otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) + { + otherlv_20=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleExternalCallReturnParameter9556); + + newLeafNode(otherlv_20, grammarAccess.getExternalCallReturnParameterAccess().getCommaKeyword_15_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4593:1: ( (lv_scope_21_0= ruleScope ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4594:1: (lv_scope_21_0= ruleScope ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4594:1: (lv_scope_21_0= ruleScope ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4595:3: lv_scope_21_0= ruleScope + { + + newCompositeNode(grammarAccess.getExternalCallReturnParameterAccess().getScopeScopeParserRuleCall_15_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleScope_in_ruleExternalCallReturnParameter9577); + lv_scope_21_0=ruleScope(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExternalCallReturnParameterRule()); + } + add( + current, + "scope", + lv_scope_21_0, + "Scope"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop104; + } + } while (true); + + otherlv_22=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleExternalCallReturnParameter9591); + + newLeafNode(otherlv_22, grammarAccess.getExternalCallReturnParameterAccess().getRightCurlyBracketKeyword_15_4()); + + + } + break; + + } + + otherlv_23=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleExternalCallReturnParameter9605); + + newLeafNode(otherlv_23, grammarAccess.getExternalCallReturnParameterAccess().getRightCurlyBracketKeyword_16()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleExternalCallReturnParameter" + + + // $ANTLR start "entryRuleExternalCallParameter" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4627:1: entryRuleExternalCallParameter returns [EObject current=null] : iv_ruleExternalCallParameter= ruleExternalCallParameter EOF ; + public final EObject entryRuleExternalCallParameter() throws RecognitionException { + EObject current = null; + + EObject iv_ruleExternalCallParameter = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4628:2: (iv_ruleExternalCallParameter= ruleExternalCallParameter EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4629:2: iv_ruleExternalCallParameter= ruleExternalCallParameter EOF + { + newCompositeNode(grammarAccess.getExternalCallParameterRule()); + pushFollow(FollowSets000.FOLLOW_ruleExternalCallParameter_in_entryRuleExternalCallParameter9641); + iv_ruleExternalCallParameter=ruleExternalCallParameter(); + + state._fsp--; + + current =iv_ruleExternalCallParameter; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExternalCallParameter9651); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleExternalCallParameter" + + + // $ANTLR start "ruleExternalCallParameter" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4636:1: ruleExternalCallParameter returns [EObject current=null] : (otherlv_0= 'ExternalCallParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'characterization' ( (lv_characterization_6_0= ruleCharacterizationType ) ) otherlv_7= 'behavior' ( ( ruleEString ) ) otherlv_9= 'signature' ( ( ruleEString ) ) (otherlv_11= 'parameter' ( ( ruleEString ) ) )? (otherlv_13= 'returnType' ( ( ruleEString ) ) )? otherlv_15= 'externallCall' ( ( ruleEString ) ) (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? otherlv_23= '}' ) ; + public final EObject ruleExternalCallParameter() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + Token otherlv_9=null; + Token otherlv_11=null; + Token otherlv_13=null; + Token otherlv_15=null; + Token otherlv_17=null; + Token otherlv_18=null; + Token otherlv_20=null; + Token otherlv_22=null; + Token otherlv_23=null; + AntlrDatatypeRuleToken lv_name_1_0 = null; + + AntlrDatatypeRuleToken lv_description_4_0 = null; + + Enumerator lv_characterization_6_0 = null; + + EObject lv_scope_19_0 = null; + + EObject lv_scope_21_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4639:28: ( (otherlv_0= 'ExternalCallParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'characterization' ( (lv_characterization_6_0= ruleCharacterizationType ) ) otherlv_7= 'behavior' ( ( ruleEString ) ) otherlv_9= 'signature' ( ( ruleEString ) ) (otherlv_11= 'parameter' ( ( ruleEString ) ) )? (otherlv_13= 'returnType' ( ( ruleEString ) ) )? otherlv_15= 'externallCall' ( ( ruleEString ) ) (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? otherlv_23= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4640:1: (otherlv_0= 'ExternalCallParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'characterization' ( (lv_characterization_6_0= ruleCharacterizationType ) ) otherlv_7= 'behavior' ( ( ruleEString ) ) otherlv_9= 'signature' ( ( ruleEString ) ) (otherlv_11= 'parameter' ( ( ruleEString ) ) )? (otherlv_13= 'returnType' ( ( ruleEString ) ) )? otherlv_15= 'externallCall' ( ( ruleEString ) ) (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? otherlv_23= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4640:1: (otherlv_0= 'ExternalCallParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'characterization' ( (lv_characterization_6_0= ruleCharacterizationType ) ) otherlv_7= 'behavior' ( ( ruleEString ) ) otherlv_9= 'signature' ( ( ruleEString ) ) (otherlv_11= 'parameter' ( ( ruleEString ) ) )? (otherlv_13= 'returnType' ( ( ruleEString ) ) )? otherlv_15= 'externallCall' ( ( ruleEString ) ) (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? otherlv_23= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4640:3: otherlv_0= 'ExternalCallParameter' ( (lv_name_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'description' ( (lv_description_4_0= ruleEString ) ) otherlv_5= 'characterization' ( (lv_characterization_6_0= ruleCharacterizationType ) ) otherlv_7= 'behavior' ( ( ruleEString ) ) otherlv_9= 'signature' ( ( ruleEString ) ) (otherlv_11= 'parameter' ( ( ruleEString ) ) )? (otherlv_13= 'returnType' ( ( ruleEString ) ) )? otherlv_15= 'externallCall' ( ( ruleEString ) ) (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? otherlv_23= '}' + { + otherlv_0=(Token)match(input,78,FollowSets000.FOLLOW_78_in_ruleExternalCallParameter9688); + + newLeafNode(otherlv_0, grammarAccess.getExternalCallParameterAccess().getExternalCallParameterKeyword_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4644:1: ( (lv_name_1_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4645:1: (lv_name_1_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4645:1: (lv_name_1_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4646:3: lv_name_1_0= ruleEString + { + + newCompositeNode(grammarAccess.getExternalCallParameterAccess().getNameEStringParserRuleCall_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallParameter9709); + lv_name_1_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExternalCallParameterRule()); + } + set( + current, + "name", + lv_name_1_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleExternalCallParameter9721); + + newLeafNode(otherlv_2, grammarAccess.getExternalCallParameterAccess().getLeftCurlyBracketKeyword_2()); + + otherlv_3=(Token)match(input,65,FollowSets000.FOLLOW_65_in_ruleExternalCallParameter9733); + + newLeafNode(otherlv_3, grammarAccess.getExternalCallParameterAccess().getDescriptionKeyword_3()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4670:1: ( (lv_description_4_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4671:1: (lv_description_4_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4671:1: (lv_description_4_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4672:3: lv_description_4_0= ruleEString + { + + newCompositeNode(grammarAccess.getExternalCallParameterAccess().getDescriptionEStringParserRuleCall_4_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallParameter9754); + lv_description_4_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExternalCallParameterRule()); + } + set( + current, + "description", + lv_description_4_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_5=(Token)match(input,72,FollowSets000.FOLLOW_72_in_ruleExternalCallParameter9766); + + newLeafNode(otherlv_5, grammarAccess.getExternalCallParameterAccess().getCharacterizationKeyword_5()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4692:1: ( (lv_characterization_6_0= ruleCharacterizationType ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4693:1: (lv_characterization_6_0= ruleCharacterizationType ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4693:1: (lv_characterization_6_0= ruleCharacterizationType ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4694:3: lv_characterization_6_0= ruleCharacterizationType + { + + newCompositeNode(grammarAccess.getExternalCallParameterAccess().getCharacterizationCharacterizationTypeEnumRuleCall_6_0()); + + pushFollow(FollowSets000.FOLLOW_ruleCharacterizationType_in_ruleExternalCallParameter9787); + lv_characterization_6_0=ruleCharacterizationType(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExternalCallParameterRule()); + } + set( + current, + "characterization", + lv_characterization_6_0, + "CharacterizationType"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_7=(Token)match(input,66,FollowSets000.FOLLOW_66_in_ruleExternalCallParameter9799); + + newLeafNode(otherlv_7, grammarAccess.getExternalCallParameterAccess().getBehaviorKeyword_7()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4714:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4715:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4715:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4716:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getExternalCallParameterRule()); + } + + + newCompositeNode(grammarAccess.getExternalCallParameterAccess().getBehaviorServiceBehaviorAbstractionCrossReference_8_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallParameter9822); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_9=(Token)match(input,73,FollowSets000.FOLLOW_73_in_ruleExternalCallParameter9834); + + newLeafNode(otherlv_9, grammarAccess.getExternalCallParameterAccess().getSignatureKeyword_9()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4733:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4734:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4734:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4735:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getExternalCallParameterRule()); + } + + + newCompositeNode(grammarAccess.getExternalCallParameterAccess().getSignatureSignatureCrossReference_10_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallParameter9857); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4748:2: (otherlv_11= 'parameter' ( ( ruleEString ) ) )? + int alt106=2; + int LA106_0 = input.LA(1); + + if ( (LA106_0==74) ) { + alt106=1; + } + switch (alt106) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4748:4: otherlv_11= 'parameter' ( ( ruleEString ) ) + { + otherlv_11=(Token)match(input,74,FollowSets000.FOLLOW_74_in_ruleExternalCallParameter9870); + + newLeafNode(otherlv_11, grammarAccess.getExternalCallParameterAccess().getParameterKeyword_11_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4752:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4753:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4753:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4754:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getExternalCallParameterRule()); + } + + + newCompositeNode(grammarAccess.getExternalCallParameterAccess().getParameterParameterCrossReference_11_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallParameter9893); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4767:4: (otherlv_13= 'returnType' ( ( ruleEString ) ) )? + int alt107=2; + int LA107_0 = input.LA(1); + + if ( (LA107_0==40) ) { + alt107=1; + } + switch (alt107) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4767:6: otherlv_13= 'returnType' ( ( ruleEString ) ) + { + otherlv_13=(Token)match(input,40,FollowSets000.FOLLOW_40_in_ruleExternalCallParameter9908); + + newLeafNode(otherlv_13, grammarAccess.getExternalCallParameterAccess().getReturnTypeKeyword_12_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4771:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4772:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4772:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4773:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getExternalCallParameterRule()); + } + + + newCompositeNode(grammarAccess.getExternalCallParameterAccess().getReturnTypeDataTypeCrossReference_12_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallParameter9931); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + otherlv_15=(Token)match(input,79,FollowSets000.FOLLOW_79_in_ruleExternalCallParameter9945); + + newLeafNode(otherlv_15, grammarAccess.getExternalCallParameterAccess().getExternallCallKeyword_13()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4790:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4791:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4791:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4792:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getExternalCallParameterRule()); + } + + + newCompositeNode(grammarAccess.getExternalCallParameterAccess().getExternallCallExternalCallCrossReference_14_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallParameter9968); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4805:2: (otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' )? + int alt109=2; + int LA109_0 = input.LA(1); + + if ( (LA109_0==67) ) { + alt109=1; + } + switch (alt109) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4805:4: otherlv_17= 'scope' otherlv_18= '{' ( (lv_scope_19_0= ruleScope ) ) (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* otherlv_22= '}' + { + otherlv_17=(Token)match(input,67,FollowSets000.FOLLOW_67_in_ruleExternalCallParameter9981); + + newLeafNode(otherlv_17, grammarAccess.getExternalCallParameterAccess().getScopeKeyword_15_0()); + + otherlv_18=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleExternalCallParameter9993); + + newLeafNode(otherlv_18, grammarAccess.getExternalCallParameterAccess().getLeftCurlyBracketKeyword_15_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4813:1: ( (lv_scope_19_0= ruleScope ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4814:1: (lv_scope_19_0= ruleScope ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4814:1: (lv_scope_19_0= ruleScope ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4815:3: lv_scope_19_0= ruleScope + { + + newCompositeNode(grammarAccess.getExternalCallParameterAccess().getScopeScopeParserRuleCall_15_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleScope_in_ruleExternalCallParameter10014); + lv_scope_19_0=ruleScope(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExternalCallParameterRule()); + } + add( + current, + "scope", + lv_scope_19_0, + "Scope"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4831:2: (otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) )* + loop108: + do { + int alt108=2; + int LA108_0 = input.LA(1); + + if ( (LA108_0==15) ) { + alt108=1; + } + + + switch (alt108) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4831:4: otherlv_20= ',' ( (lv_scope_21_0= ruleScope ) ) + { + otherlv_20=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleExternalCallParameter10027); + + newLeafNode(otherlv_20, grammarAccess.getExternalCallParameterAccess().getCommaKeyword_15_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4835:1: ( (lv_scope_21_0= ruleScope ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4836:1: (lv_scope_21_0= ruleScope ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4836:1: (lv_scope_21_0= ruleScope ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4837:3: lv_scope_21_0= ruleScope + { + + newCompositeNode(grammarAccess.getExternalCallParameterAccess().getScopeScopeParserRuleCall_15_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleScope_in_ruleExternalCallParameter10048); + lv_scope_21_0=ruleScope(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExternalCallParameterRule()); + } + add( + current, + "scope", + lv_scope_21_0, + "Scope"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop108; + } + } while (true); + + otherlv_22=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleExternalCallParameter10062); + + newLeafNode(otherlv_22, grammarAccess.getExternalCallParameterAccess().getRightCurlyBracketKeyword_15_4()); + + + } + break; + + } + + otherlv_23=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleExternalCallParameter10076); + + newLeafNode(otherlv_23, grammarAccess.getExternalCallParameterAccess().getRightCurlyBracketKeyword_16()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleExternalCallParameter" + + + // $ANTLR start "entryRuleFineGrainedBehavior" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4869:1: entryRuleFineGrainedBehavior returns [EObject current=null] : iv_ruleFineGrainedBehavior= ruleFineGrainedBehavior EOF ; + public final EObject entryRuleFineGrainedBehavior() throws RecognitionException { + EObject current = null; + + EObject iv_ruleFineGrainedBehavior = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4870:2: (iv_ruleFineGrainedBehavior= ruleFineGrainedBehavior EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4871:2: iv_ruleFineGrainedBehavior= ruleFineGrainedBehavior EOF + { + newCompositeNode(grammarAccess.getFineGrainedBehaviorRule()); + pushFollow(FollowSets000.FOLLOW_ruleFineGrainedBehavior_in_entryRuleFineGrainedBehavior10112); + iv_ruleFineGrainedBehavior=ruleFineGrainedBehavior(); + + state._fsp--; + + current =iv_ruleFineGrainedBehavior; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleFineGrainedBehavior10122); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleFineGrainedBehavior" + + + // $ANTLR start "ruleFineGrainedBehavior" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4878:1: ruleFineGrainedBehavior returns [EObject current=null] : (otherlv_0= 'FineGrainedBehavior' otherlv_1= '{' (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? otherlv_4= 'basicComponent' ( ( ruleEString ) ) (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? (otherlv_12= 'actions' otherlv_13= '{' ( (lv_actions_14_0= ruleAbstractAction ) ) (otherlv_15= ',' ( (lv_actions_16_0= ruleAbstractAction ) ) )* otherlv_17= '}' )? otherlv_18= 'behavior' ( (lv_behavior_19_0= ruleComponentInternalBehavior ) ) otherlv_20= '}' ) ; + public final EObject ruleFineGrainedBehavior() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_7=null; + Token otherlv_9=null; + Token otherlv_11=null; + Token otherlv_12=null; + Token otherlv_13=null; + Token otherlv_15=null; + Token otherlv_17=null; + Token otherlv_18=null; + Token otherlv_20=null; + EObject lv_influencingParameter_8_0 = null; + + EObject lv_influencingParameter_10_0 = null; + + EObject lv_actions_14_0 = null; + + EObject lv_actions_16_0 = null; + + EObject lv_behavior_19_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4881:28: ( (otherlv_0= 'FineGrainedBehavior' otherlv_1= '{' (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? otherlv_4= 'basicComponent' ( ( ruleEString ) ) (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? (otherlv_12= 'actions' otherlv_13= '{' ( (lv_actions_14_0= ruleAbstractAction ) ) (otherlv_15= ',' ( (lv_actions_16_0= ruleAbstractAction ) ) )* otherlv_17= '}' )? otherlv_18= 'behavior' ( (lv_behavior_19_0= ruleComponentInternalBehavior ) ) otherlv_20= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4882:1: (otherlv_0= 'FineGrainedBehavior' otherlv_1= '{' (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? otherlv_4= 'basicComponent' ( ( ruleEString ) ) (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? (otherlv_12= 'actions' otherlv_13= '{' ( (lv_actions_14_0= ruleAbstractAction ) ) (otherlv_15= ',' ( (lv_actions_16_0= ruleAbstractAction ) ) )* otherlv_17= '}' )? otherlv_18= 'behavior' ( (lv_behavior_19_0= ruleComponentInternalBehavior ) ) otherlv_20= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4882:1: (otherlv_0= 'FineGrainedBehavior' otherlv_1= '{' (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? otherlv_4= 'basicComponent' ( ( ruleEString ) ) (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? (otherlv_12= 'actions' otherlv_13= '{' ( (lv_actions_14_0= ruleAbstractAction ) ) (otherlv_15= ',' ( (lv_actions_16_0= ruleAbstractAction ) ) )* otherlv_17= '}' )? otherlv_18= 'behavior' ( (lv_behavior_19_0= ruleComponentInternalBehavior ) ) otherlv_20= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4882:3: otherlv_0= 'FineGrainedBehavior' otherlv_1= '{' (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? otherlv_4= 'basicComponent' ( ( ruleEString ) ) (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? (otherlv_12= 'actions' otherlv_13= '{' ( (lv_actions_14_0= ruleAbstractAction ) ) (otherlv_15= ',' ( (lv_actions_16_0= ruleAbstractAction ) ) )* otherlv_17= '}' )? otherlv_18= 'behavior' ( (lv_behavior_19_0= ruleComponentInternalBehavior ) ) otherlv_20= '}' + { + otherlv_0=(Token)match(input,80,FollowSets000.FOLLOW_80_in_ruleFineGrainedBehavior10159); + + newLeafNode(otherlv_0, grammarAccess.getFineGrainedBehaviorAccess().getFineGrainedBehaviorKeyword_0()); + + otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleFineGrainedBehavior10171); + + newLeafNode(otherlv_1, grammarAccess.getFineGrainedBehaviorAccess().getLeftCurlyBracketKeyword_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4890:1: (otherlv_2= 'describedSignature' ( ( ruleEString ) ) )? + int alt110=2; + int LA110_0 = input.LA(1); + + if ( (LA110_0==47) ) { + alt110=1; + } + switch (alt110) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4890:3: otherlv_2= 'describedSignature' ( ( ruleEString ) ) + { + otherlv_2=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleFineGrainedBehavior10184); + + newLeafNode(otherlv_2, grammarAccess.getFineGrainedBehaviorAccess().getDescribedSignatureKeyword_2_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4894:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4895:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4895:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4896:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getFineGrainedBehaviorRule()); + } + + + newCompositeNode(grammarAccess.getFineGrainedBehaviorAccess().getDescribedSignatureSignatureCrossReference_2_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleFineGrainedBehavior10207); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + otherlv_4=(Token)match(input,81,FollowSets000.FOLLOW_81_in_ruleFineGrainedBehavior10221); + + newLeafNode(otherlv_4, grammarAccess.getFineGrainedBehaviorAccess().getBasicComponentKeyword_3()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4913:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4914:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4914:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4915:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getFineGrainedBehaviorRule()); + } + + + newCompositeNode(grammarAccess.getFineGrainedBehaviorAccess().getBasicComponentBasicComponentCrossReference_4_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleFineGrainedBehavior10244); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4928:2: (otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' )? + int alt112=2; + int LA112_0 = input.LA(1); + + if ( (LA112_0==49) ) { + alt112=1; + } + switch (alt112) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4928:4: otherlv_6= 'influencingParameter' otherlv_7= '{' ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* otherlv_11= '}' + { + otherlv_6=(Token)match(input,49,FollowSets000.FOLLOW_49_in_ruleFineGrainedBehavior10257); + + newLeafNode(otherlv_6, grammarAccess.getFineGrainedBehaviorAccess().getInfluencingParameterKeyword_5_0()); + + otherlv_7=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleFineGrainedBehavior10269); + + newLeafNode(otherlv_7, grammarAccess.getFineGrainedBehaviorAccess().getLeftCurlyBracketKeyword_5_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4936:1: ( (lv_influencingParameter_8_0= ruleInfluencingParameter ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4937:1: (lv_influencingParameter_8_0= ruleInfluencingParameter ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4937:1: (lv_influencingParameter_8_0= ruleInfluencingParameter ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4938:3: lv_influencingParameter_8_0= ruleInfluencingParameter + { + + newCompositeNode(grammarAccess.getFineGrainedBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleInfluencingParameter_in_ruleFineGrainedBehavior10290); + lv_influencingParameter_8_0=ruleInfluencingParameter(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getFineGrainedBehaviorRule()); + } + add( + current, + "influencingParameter", + lv_influencingParameter_8_0, + "InfluencingParameter"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4954:2: (otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) )* + loop111: + do { + int alt111=2; + int LA111_0 = input.LA(1); + + if ( (LA111_0==15) ) { + alt111=1; + } + + + switch (alt111) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4954:4: otherlv_9= ',' ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) + { + otherlv_9=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleFineGrainedBehavior10303); + + newLeafNode(otherlv_9, grammarAccess.getFineGrainedBehaviorAccess().getCommaKeyword_5_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4958:1: ( (lv_influencingParameter_10_0= ruleInfluencingParameter ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4959:1: (lv_influencingParameter_10_0= ruleInfluencingParameter ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4959:1: (lv_influencingParameter_10_0= ruleInfluencingParameter ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4960:3: lv_influencingParameter_10_0= ruleInfluencingParameter + { + + newCompositeNode(grammarAccess.getFineGrainedBehaviorAccess().getInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleInfluencingParameter_in_ruleFineGrainedBehavior10324); + lv_influencingParameter_10_0=ruleInfluencingParameter(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getFineGrainedBehaviorRule()); + } + add( + current, + "influencingParameter", + lv_influencingParameter_10_0, + "InfluencingParameter"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop111; + } + } while (true); + + otherlv_11=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleFineGrainedBehavior10338); + + newLeafNode(otherlv_11, grammarAccess.getFineGrainedBehaviorAccess().getRightCurlyBracketKeyword_5_4()); + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4980:3: (otherlv_12= 'actions' otherlv_13= '{' ( (lv_actions_14_0= ruleAbstractAction ) ) (otherlv_15= ',' ( (lv_actions_16_0= ruleAbstractAction ) ) )* otherlv_17= '}' )? + int alt114=2; + int LA114_0 = input.LA(1); + + if ( (LA114_0==82) ) { + alt114=1; + } + switch (alt114) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4980:5: otherlv_12= 'actions' otherlv_13= '{' ( (lv_actions_14_0= ruleAbstractAction ) ) (otherlv_15= ',' ( (lv_actions_16_0= ruleAbstractAction ) ) )* otherlv_17= '}' + { + otherlv_12=(Token)match(input,82,FollowSets000.FOLLOW_82_in_ruleFineGrainedBehavior10353); + + newLeafNode(otherlv_12, grammarAccess.getFineGrainedBehaviorAccess().getActionsKeyword_6_0()); + + otherlv_13=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleFineGrainedBehavior10365); + + newLeafNode(otherlv_13, grammarAccess.getFineGrainedBehaviorAccess().getLeftCurlyBracketKeyword_6_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4988:1: ( (lv_actions_14_0= ruleAbstractAction ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4989:1: (lv_actions_14_0= ruleAbstractAction ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4989:1: (lv_actions_14_0= ruleAbstractAction ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:4990:3: lv_actions_14_0= ruleAbstractAction + { + + newCompositeNode(grammarAccess.getFineGrainedBehaviorAccess().getActionsAbstractActionParserRuleCall_6_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleAbstractAction_in_ruleFineGrainedBehavior10386); + lv_actions_14_0=ruleAbstractAction(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getFineGrainedBehaviorRule()); + } + add( + current, + "actions", + lv_actions_14_0, + "AbstractAction"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5006:2: (otherlv_15= ',' ( (lv_actions_16_0= ruleAbstractAction ) ) )* + loop113: + do { + int alt113=2; + int LA113_0 = input.LA(1); + + if ( (LA113_0==15) ) { + alt113=1; + } + + + switch (alt113) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5006:4: otherlv_15= ',' ( (lv_actions_16_0= ruleAbstractAction ) ) + { + otherlv_15=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleFineGrainedBehavior10399); + + newLeafNode(otherlv_15, grammarAccess.getFineGrainedBehaviorAccess().getCommaKeyword_6_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5010:1: ( (lv_actions_16_0= ruleAbstractAction ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5011:1: (lv_actions_16_0= ruleAbstractAction ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5011:1: (lv_actions_16_0= ruleAbstractAction ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5012:3: lv_actions_16_0= ruleAbstractAction + { + + newCompositeNode(grammarAccess.getFineGrainedBehaviorAccess().getActionsAbstractActionParserRuleCall_6_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleAbstractAction_in_ruleFineGrainedBehavior10420); + lv_actions_16_0=ruleAbstractAction(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getFineGrainedBehaviorRule()); + } + add( + current, + "actions", + lv_actions_16_0, + "AbstractAction"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop113; + } + } while (true); + + otherlv_17=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleFineGrainedBehavior10434); + + newLeafNode(otherlv_17, grammarAccess.getFineGrainedBehaviorAccess().getRightCurlyBracketKeyword_6_4()); + + + } + break; + + } + + otherlv_18=(Token)match(input,66,FollowSets000.FOLLOW_66_in_ruleFineGrainedBehavior10448); + + newLeafNode(otherlv_18, grammarAccess.getFineGrainedBehaviorAccess().getBehaviorKeyword_7()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5036:1: ( (lv_behavior_19_0= ruleComponentInternalBehavior ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5037:1: (lv_behavior_19_0= ruleComponentInternalBehavior ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5037:1: (lv_behavior_19_0= ruleComponentInternalBehavior ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5038:3: lv_behavior_19_0= ruleComponentInternalBehavior + { + + newCompositeNode(grammarAccess.getFineGrainedBehaviorAccess().getBehaviorComponentInternalBehaviorParserRuleCall_8_0()); + + pushFollow(FollowSets000.FOLLOW_ruleComponentInternalBehavior_in_ruleFineGrainedBehavior10469); + lv_behavior_19_0=ruleComponentInternalBehavior(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getFineGrainedBehaviorRule()); + } + set( + current, + "behavior", + lv_behavior_19_0, + "ComponentInternalBehavior"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_20=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleFineGrainedBehavior10481); + + newLeafNode(otherlv_20, grammarAccess.getFineGrainedBehaviorAccess().getRightCurlyBracketKeyword_9()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleFineGrainedBehavior" + + + // $ANTLR start "entryRuleAbstractAction_Impl" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5066:1: entryRuleAbstractAction_Impl returns [EObject current=null] : iv_ruleAbstractAction_Impl= ruleAbstractAction_Impl EOF ; + public final EObject entryRuleAbstractAction_Impl() throws RecognitionException { + EObject current = null; + + EObject iv_ruleAbstractAction_Impl = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5067:2: (iv_ruleAbstractAction_Impl= ruleAbstractAction_Impl EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5068:2: iv_ruleAbstractAction_Impl= ruleAbstractAction_Impl EOF + { + newCompositeNode(grammarAccess.getAbstractAction_ImplRule()); + pushFollow(FollowSets000.FOLLOW_ruleAbstractAction_Impl_in_entryRuleAbstractAction_Impl10517); + iv_ruleAbstractAction_Impl=ruleAbstractAction_Impl(); + + state._fsp--; + + current =iv_ruleAbstractAction_Impl; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAbstractAction_Impl10527); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleAbstractAction_Impl" + + + // $ANTLR start "ruleAbstractAction_Impl" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5075:1: ruleAbstractAction_Impl returns [EObject current=null] : ( () otherlv_1= 'AbstractAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= '}' ) ; + public final EObject ruleAbstractAction_Impl() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5078:28: ( ( () otherlv_1= 'AbstractAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5079:1: ( () otherlv_1= 'AbstractAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5079:1: ( () otherlv_1= 'AbstractAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5079:2: () otherlv_1= 'AbstractAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= '}' + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5079:2: () + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5080:5: + { + + current = forceCreateModelElement( + grammarAccess.getAbstractAction_ImplAccess().getAbstractActionAction_0(), + current); + + + } + + otherlv_1=(Token)match(input,83,FollowSets000.FOLLOW_83_in_ruleAbstractAction_Impl10573); + + newLeafNode(otherlv_1, grammarAccess.getAbstractAction_ImplAccess().getAbstractActionKeyword_1()); + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleAbstractAction_Impl10585); + + newLeafNode(otherlv_2, grammarAccess.getAbstractAction_ImplAccess().getLeftCurlyBracketKeyword_2()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5093:1: (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? + int alt115=2; + int LA115_0 = input.LA(1); + + if ( (LA115_0==84) ) { + alt115=1; + } + switch (alt115) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5093:3: otherlv_3= 'predecessor' ( ( ruleEString ) ) + { + otherlv_3=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleAbstractAction_Impl10598); + + newLeafNode(otherlv_3, grammarAccess.getAbstractAction_ImplAccess().getPredecessorKeyword_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5097:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5098:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5098:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5099:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getAbstractAction_ImplRule()); + } + + + newCompositeNode(grammarAccess.getAbstractAction_ImplAccess().getPredecessorAbstractActionCrossReference_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAbstractAction_Impl10621); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5112:4: (otherlv_5= 'successor' ( ( ruleEString ) ) )? + int alt116=2; + int LA116_0 = input.LA(1); + + if ( (LA116_0==85) ) { + alt116=1; + } + switch (alt116) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5112:6: otherlv_5= 'successor' ( ( ruleEString ) ) + { + otherlv_5=(Token)match(input,85,FollowSets000.FOLLOW_85_in_ruleAbstractAction_Impl10636); + + newLeafNode(otherlv_5, grammarAccess.getAbstractAction_ImplAccess().getSuccessorKeyword_4_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5116:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5117:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5117:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5118:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getAbstractAction_ImplRule()); + } + + + newCompositeNode(grammarAccess.getAbstractAction_ImplAccess().getSuccessorAbstractActionCrossReference_4_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAbstractAction_Impl10659); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + otherlv_7=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleAbstractAction_Impl10673); + + newLeafNode(otherlv_7, grammarAccess.getAbstractAction_ImplAccess().getRightCurlyBracketKeyword_5()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleAbstractAction_Impl" + + + // $ANTLR start "entryRuleComponentInternalBehavior_Impl" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5143:1: entryRuleComponentInternalBehavior_Impl returns [EObject current=null] : iv_ruleComponentInternalBehavior_Impl= ruleComponentInternalBehavior_Impl EOF ; + public final EObject entryRuleComponentInternalBehavior_Impl() throws RecognitionException { + EObject current = null; + + EObject iv_ruleComponentInternalBehavior_Impl = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5144:2: (iv_ruleComponentInternalBehavior_Impl= ruleComponentInternalBehavior_Impl EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5145:2: iv_ruleComponentInternalBehavior_Impl= ruleComponentInternalBehavior_Impl EOF + { + newCompositeNode(grammarAccess.getComponentInternalBehavior_ImplRule()); + pushFollow(FollowSets000.FOLLOW_ruleComponentInternalBehavior_Impl_in_entryRuleComponentInternalBehavior_Impl10709); + iv_ruleComponentInternalBehavior_Impl=ruleComponentInternalBehavior_Impl(); + + state._fsp--; + + current =iv_ruleComponentInternalBehavior_Impl; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleComponentInternalBehavior_Impl10719); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleComponentInternalBehavior_Impl" + + + // $ANTLR start "ruleComponentInternalBehavior_Impl" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5152:1: ruleComponentInternalBehavior_Impl returns [EObject current=null] : ( () otherlv_1= 'ComponentInternalBehavior' otherlv_2= '{' (otherlv_3= 'actions' otherlv_4= '{' ( (lv_actions_5_0= ruleAbstractAction ) ) (otherlv_6= ',' ( (lv_actions_7_0= ruleAbstractAction ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ; + public final EObject ruleComponentInternalBehavior_Impl() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_8=null; + Token otherlv_9=null; + EObject lv_actions_5_0 = null; + + EObject lv_actions_7_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5155:28: ( ( () otherlv_1= 'ComponentInternalBehavior' otherlv_2= '{' (otherlv_3= 'actions' otherlv_4= '{' ( (lv_actions_5_0= ruleAbstractAction ) ) (otherlv_6= ',' ( (lv_actions_7_0= ruleAbstractAction ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5156:1: ( () otherlv_1= 'ComponentInternalBehavior' otherlv_2= '{' (otherlv_3= 'actions' otherlv_4= '{' ( (lv_actions_5_0= ruleAbstractAction ) ) (otherlv_6= ',' ( (lv_actions_7_0= ruleAbstractAction ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5156:1: ( () otherlv_1= 'ComponentInternalBehavior' otherlv_2= '{' (otherlv_3= 'actions' otherlv_4= '{' ( (lv_actions_5_0= ruleAbstractAction ) ) (otherlv_6= ',' ( (lv_actions_7_0= ruleAbstractAction ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5156:2: () otherlv_1= 'ComponentInternalBehavior' otherlv_2= '{' (otherlv_3= 'actions' otherlv_4= '{' ( (lv_actions_5_0= ruleAbstractAction ) ) (otherlv_6= ',' ( (lv_actions_7_0= ruleAbstractAction ) ) )* otherlv_8= '}' )? otherlv_9= '}' + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5156:2: () + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5157:5: + { + + current = forceCreateModelElement( + grammarAccess.getComponentInternalBehavior_ImplAccess().getComponentInternalBehaviorAction_0(), + current); + + + } + + otherlv_1=(Token)match(input,86,FollowSets000.FOLLOW_86_in_ruleComponentInternalBehavior_Impl10765); + + newLeafNode(otherlv_1, grammarAccess.getComponentInternalBehavior_ImplAccess().getComponentInternalBehaviorKeyword_1()); + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleComponentInternalBehavior_Impl10777); + + newLeafNode(otherlv_2, grammarAccess.getComponentInternalBehavior_ImplAccess().getLeftCurlyBracketKeyword_2()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5170:1: (otherlv_3= 'actions' otherlv_4= '{' ( (lv_actions_5_0= ruleAbstractAction ) ) (otherlv_6= ',' ( (lv_actions_7_0= ruleAbstractAction ) ) )* otherlv_8= '}' )? + int alt118=2; + int LA118_0 = input.LA(1); + + if ( (LA118_0==82) ) { + alt118=1; + } + switch (alt118) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5170:3: otherlv_3= 'actions' otherlv_4= '{' ( (lv_actions_5_0= ruleAbstractAction ) ) (otherlv_6= ',' ( (lv_actions_7_0= ruleAbstractAction ) ) )* otherlv_8= '}' + { + otherlv_3=(Token)match(input,82,FollowSets000.FOLLOW_82_in_ruleComponentInternalBehavior_Impl10790); + + newLeafNode(otherlv_3, grammarAccess.getComponentInternalBehavior_ImplAccess().getActionsKeyword_3_0()); + + otherlv_4=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleComponentInternalBehavior_Impl10802); + + newLeafNode(otherlv_4, grammarAccess.getComponentInternalBehavior_ImplAccess().getLeftCurlyBracketKeyword_3_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5178:1: ( (lv_actions_5_0= ruleAbstractAction ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5179:1: (lv_actions_5_0= ruleAbstractAction ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5179:1: (lv_actions_5_0= ruleAbstractAction ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5180:3: lv_actions_5_0= ruleAbstractAction + { + + newCompositeNode(grammarAccess.getComponentInternalBehavior_ImplAccess().getActionsAbstractActionParserRuleCall_3_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleAbstractAction_in_ruleComponentInternalBehavior_Impl10823); + lv_actions_5_0=ruleAbstractAction(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComponentInternalBehavior_ImplRule()); + } + add( + current, + "actions", + lv_actions_5_0, + "AbstractAction"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5196:2: (otherlv_6= ',' ( (lv_actions_7_0= ruleAbstractAction ) ) )* + loop117: + do { + int alt117=2; + int LA117_0 = input.LA(1); + + if ( (LA117_0==15) ) { + alt117=1; + } + + + switch (alt117) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5196:4: otherlv_6= ',' ( (lv_actions_7_0= ruleAbstractAction ) ) + { + otherlv_6=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleComponentInternalBehavior_Impl10836); + + newLeafNode(otherlv_6, grammarAccess.getComponentInternalBehavior_ImplAccess().getCommaKeyword_3_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5200:1: ( (lv_actions_7_0= ruleAbstractAction ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5201:1: (lv_actions_7_0= ruleAbstractAction ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5201:1: (lv_actions_7_0= ruleAbstractAction ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5202:3: lv_actions_7_0= ruleAbstractAction + { + + newCompositeNode(grammarAccess.getComponentInternalBehavior_ImplAccess().getActionsAbstractActionParserRuleCall_3_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleAbstractAction_in_ruleComponentInternalBehavior_Impl10857); + lv_actions_7_0=ruleAbstractAction(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComponentInternalBehavior_ImplRule()); + } + add( + current, + "actions", + lv_actions_7_0, + "AbstractAction"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop117; + } + } while (true); + + otherlv_8=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleComponentInternalBehavior_Impl10871); + + newLeafNode(otherlv_8, grammarAccess.getComponentInternalBehavior_ImplAccess().getRightCurlyBracketKeyword_3_4()); + + + } + break; + + } + + otherlv_9=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleComponentInternalBehavior_Impl10885); + + newLeafNode(otherlv_9, grammarAccess.getComponentInternalBehavior_ImplAccess().getRightCurlyBracketKeyword_4()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleComponentInternalBehavior_Impl" + + + // $ANTLR start "entryRuleStartAction" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5234:1: entryRuleStartAction returns [EObject current=null] : iv_ruleStartAction= ruleStartAction EOF ; + public final EObject entryRuleStartAction() throws RecognitionException { + EObject current = null; + + EObject iv_ruleStartAction = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5235:2: (iv_ruleStartAction= ruleStartAction EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5236:2: iv_ruleStartAction= ruleStartAction EOF + { + newCompositeNode(grammarAccess.getStartActionRule()); + pushFollow(FollowSets000.FOLLOW_ruleStartAction_in_entryRuleStartAction10921); + iv_ruleStartAction=ruleStartAction(); + + state._fsp--; + + current =iv_ruleStartAction; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStartAction10931); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleStartAction" + + + // $ANTLR start "ruleStartAction" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5243:1: ruleStartAction returns [EObject current=null] : ( () otherlv_1= 'StartAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= '}' ) ; + public final EObject ruleStartAction() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5246:28: ( ( () otherlv_1= 'StartAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5247:1: ( () otherlv_1= 'StartAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5247:1: ( () otherlv_1= 'StartAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5247:2: () otherlv_1= 'StartAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= '}' + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5247:2: () + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5248:5: + { + + current = forceCreateModelElement( + grammarAccess.getStartActionAccess().getStartActionAction_0(), + current); + + + } + + otherlv_1=(Token)match(input,87,FollowSets000.FOLLOW_87_in_ruleStartAction10977); + + newLeafNode(otherlv_1, grammarAccess.getStartActionAccess().getStartActionKeyword_1()); + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleStartAction10989); + + newLeafNode(otherlv_2, grammarAccess.getStartActionAccess().getLeftCurlyBracketKeyword_2()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5261:1: (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? + int alt119=2; + int LA119_0 = input.LA(1); + + if ( (LA119_0==84) ) { + alt119=1; + } + switch (alt119) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5261:3: otherlv_3= 'predecessor' ( ( ruleEString ) ) + { + otherlv_3=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleStartAction11002); + + newLeafNode(otherlv_3, grammarAccess.getStartActionAccess().getPredecessorKeyword_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5265:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5266:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5266:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5267:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getStartActionRule()); + } + + + newCompositeNode(grammarAccess.getStartActionAccess().getPredecessorAbstractActionCrossReference_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleStartAction11025); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5280:4: (otherlv_5= 'successor' ( ( ruleEString ) ) )? + int alt120=2; + int LA120_0 = input.LA(1); + + if ( (LA120_0==85) ) { + alt120=1; + } + switch (alt120) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5280:6: otherlv_5= 'successor' ( ( ruleEString ) ) + { + otherlv_5=(Token)match(input,85,FollowSets000.FOLLOW_85_in_ruleStartAction11040); + + newLeafNode(otherlv_5, grammarAccess.getStartActionAccess().getSuccessorKeyword_4_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5284:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5285:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5285:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5286:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getStartActionRule()); + } + + + newCompositeNode(grammarAccess.getStartActionAccess().getSuccessorAbstractActionCrossReference_4_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleStartAction11063); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + otherlv_7=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleStartAction11077); + + newLeafNode(otherlv_7, grammarAccess.getStartActionAccess().getRightCurlyBracketKeyword_5()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleStartAction" + + + // $ANTLR start "entryRuleStopAction" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5311:1: entryRuleStopAction returns [EObject current=null] : iv_ruleStopAction= ruleStopAction EOF ; + public final EObject entryRuleStopAction() throws RecognitionException { + EObject current = null; + + EObject iv_ruleStopAction = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5312:2: (iv_ruleStopAction= ruleStopAction EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5313:2: iv_ruleStopAction= ruleStopAction EOF + { + newCompositeNode(grammarAccess.getStopActionRule()); + pushFollow(FollowSets000.FOLLOW_ruleStopAction_in_entryRuleStopAction11113); + iv_ruleStopAction=ruleStopAction(); + + state._fsp--; + + current =iv_ruleStopAction; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStopAction11123); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleStopAction" + + + // $ANTLR start "ruleStopAction" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5320:1: ruleStopAction returns [EObject current=null] : ( () otherlv_1= 'StopAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= '}' ) ; + public final EObject ruleStopAction() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5323:28: ( ( () otherlv_1= 'StopAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5324:1: ( () otherlv_1= 'StopAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5324:1: ( () otherlv_1= 'StopAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5324:2: () otherlv_1= 'StopAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? otherlv_7= '}' + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5324:2: () + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5325:5: + { + + current = forceCreateModelElement( + grammarAccess.getStopActionAccess().getStopActionAction_0(), + current); + + + } + + otherlv_1=(Token)match(input,88,FollowSets000.FOLLOW_88_in_ruleStopAction11169); + + newLeafNode(otherlv_1, grammarAccess.getStopActionAccess().getStopActionKeyword_1()); + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleStopAction11181); + + newLeafNode(otherlv_2, grammarAccess.getStopActionAccess().getLeftCurlyBracketKeyword_2()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5338:1: (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? + int alt121=2; + int LA121_0 = input.LA(1); + + if ( (LA121_0==84) ) { + alt121=1; + } + switch (alt121) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5338:3: otherlv_3= 'predecessor' ( ( ruleEString ) ) + { + otherlv_3=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleStopAction11194); + + newLeafNode(otherlv_3, grammarAccess.getStopActionAccess().getPredecessorKeyword_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5342:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5343:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5343:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5344:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getStopActionRule()); + } + + + newCompositeNode(grammarAccess.getStopActionAccess().getPredecessorAbstractActionCrossReference_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleStopAction11217); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5357:4: (otherlv_5= 'successor' ( ( ruleEString ) ) )? + int alt122=2; + int LA122_0 = input.LA(1); + + if ( (LA122_0==85) ) { + alt122=1; + } + switch (alt122) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5357:6: otherlv_5= 'successor' ( ( ruleEString ) ) + { + otherlv_5=(Token)match(input,85,FollowSets000.FOLLOW_85_in_ruleStopAction11232); + + newLeafNode(otherlv_5, grammarAccess.getStopActionAccess().getSuccessorKeyword_4_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5361:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5362:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5362:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5363:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getStopActionRule()); + } + + + newCompositeNode(grammarAccess.getStopActionAccess().getSuccessorAbstractActionCrossReference_4_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleStopAction11255); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + otherlv_7=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleStopAction11269); + + newLeafNode(otherlv_7, grammarAccess.getStopActionAccess().getRightCurlyBracketKeyword_5()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleStopAction" + + + // $ANTLR start "entryRuleAcquireAction" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5388:1: entryRuleAcquireAction returns [EObject current=null] : iv_ruleAcquireAction= ruleAcquireAction EOF ; + public final EObject entryRuleAcquireAction() throws RecognitionException { + EObject current = null; + + EObject iv_ruleAcquireAction = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5389:2: (iv_ruleAcquireAction= ruleAcquireAction EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5390:2: iv_ruleAcquireAction= ruleAcquireAction EOF + { + newCompositeNode(grammarAccess.getAcquireActionRule()); + pushFollow(FollowSets000.FOLLOW_ruleAcquireAction_in_entryRuleAcquireAction11305); + iv_ruleAcquireAction=ruleAcquireAction(); + + state._fsp--; + + current =iv_ruleAcquireAction; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAcquireAction11315); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleAcquireAction" + + + // $ANTLR start "ruleAcquireAction" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5397:1: ruleAcquireAction returns [EObject current=null] : (otherlv_0= 'AcquireAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'passiveResource' ( ( ruleEString ) ) otherlv_8= '}' ) ; + public final EObject ruleAcquireAction() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_8=null; + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5400:28: ( (otherlv_0= 'AcquireAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'passiveResource' ( ( ruleEString ) ) otherlv_8= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5401:1: (otherlv_0= 'AcquireAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'passiveResource' ( ( ruleEString ) ) otherlv_8= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5401:1: (otherlv_0= 'AcquireAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'passiveResource' ( ( ruleEString ) ) otherlv_8= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5401:3: otherlv_0= 'AcquireAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'passiveResource' ( ( ruleEString ) ) otherlv_8= '}' + { + otherlv_0=(Token)match(input,89,FollowSets000.FOLLOW_89_in_ruleAcquireAction11352); + + newLeafNode(otherlv_0, grammarAccess.getAcquireActionAccess().getAcquireActionKeyword_0()); + + otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleAcquireAction11364); + + newLeafNode(otherlv_1, grammarAccess.getAcquireActionAccess().getLeftCurlyBracketKeyword_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5409:1: (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? + int alt123=2; + int LA123_0 = input.LA(1); + + if ( (LA123_0==84) ) { + alt123=1; + } + switch (alt123) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5409:3: otherlv_2= 'predecessor' ( ( ruleEString ) ) + { + otherlv_2=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleAcquireAction11377); + + newLeafNode(otherlv_2, grammarAccess.getAcquireActionAccess().getPredecessorKeyword_2_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5413:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5414:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5414:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5415:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getAcquireActionRule()); + } + + + newCompositeNode(grammarAccess.getAcquireActionAccess().getPredecessorAbstractActionCrossReference_2_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAcquireAction11400); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5428:4: (otherlv_4= 'successor' ( ( ruleEString ) ) )? + int alt124=2; + int LA124_0 = input.LA(1); + + if ( (LA124_0==85) ) { + alt124=1; + } + switch (alt124) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5428:6: otherlv_4= 'successor' ( ( ruleEString ) ) + { + otherlv_4=(Token)match(input,85,FollowSets000.FOLLOW_85_in_ruleAcquireAction11415); + + newLeafNode(otherlv_4, grammarAccess.getAcquireActionAccess().getSuccessorKeyword_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5432:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5433:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5433:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5434:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getAcquireActionRule()); + } + + + newCompositeNode(grammarAccess.getAcquireActionAccess().getSuccessorAbstractActionCrossReference_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAcquireAction11438); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + otherlv_6=(Token)match(input,90,FollowSets000.FOLLOW_90_in_ruleAcquireAction11452); + + newLeafNode(otherlv_6, grammarAccess.getAcquireActionAccess().getPassiveResourceKeyword_4()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5451:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5452:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5452:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5453:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getAcquireActionRule()); + } + + + newCompositeNode(grammarAccess.getAcquireActionAccess().getPassiveResourcePassiveResourceSpecificationCrossReference_5_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAcquireAction11475); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_8=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleAcquireAction11487); + + newLeafNode(otherlv_8, grammarAccess.getAcquireActionAccess().getRightCurlyBracketKeyword_6()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleAcquireAction" + + + // $ANTLR start "entryRuleReleaseAction" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5478:1: entryRuleReleaseAction returns [EObject current=null] : iv_ruleReleaseAction= ruleReleaseAction EOF ; + public final EObject entryRuleReleaseAction() throws RecognitionException { + EObject current = null; + + EObject iv_ruleReleaseAction = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5479:2: (iv_ruleReleaseAction= ruleReleaseAction EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5480:2: iv_ruleReleaseAction= ruleReleaseAction EOF + { + newCompositeNode(grammarAccess.getReleaseActionRule()); + pushFollow(FollowSets000.FOLLOW_ruleReleaseAction_in_entryRuleReleaseAction11523); + iv_ruleReleaseAction=ruleReleaseAction(); + + state._fsp--; + + current =iv_ruleReleaseAction; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleReleaseAction11533); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleReleaseAction" + + + // $ANTLR start "ruleReleaseAction" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5487:1: ruleReleaseAction returns [EObject current=null] : (otherlv_0= 'ReleaseAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'passiveResource' ( ( ruleEString ) ) otherlv_8= '}' ) ; + public final EObject ruleReleaseAction() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_8=null; + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5490:28: ( (otherlv_0= 'ReleaseAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'passiveResource' ( ( ruleEString ) ) otherlv_8= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5491:1: (otherlv_0= 'ReleaseAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'passiveResource' ( ( ruleEString ) ) otherlv_8= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5491:1: (otherlv_0= 'ReleaseAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'passiveResource' ( ( ruleEString ) ) otherlv_8= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5491:3: otherlv_0= 'ReleaseAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'passiveResource' ( ( ruleEString ) ) otherlv_8= '}' + { + otherlv_0=(Token)match(input,91,FollowSets000.FOLLOW_91_in_ruleReleaseAction11570); + + newLeafNode(otherlv_0, grammarAccess.getReleaseActionAccess().getReleaseActionKeyword_0()); + + otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleReleaseAction11582); + + newLeafNode(otherlv_1, grammarAccess.getReleaseActionAccess().getLeftCurlyBracketKeyword_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5499:1: (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? + int alt125=2; + int LA125_0 = input.LA(1); + + if ( (LA125_0==84) ) { + alt125=1; + } + switch (alt125) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5499:3: otherlv_2= 'predecessor' ( ( ruleEString ) ) + { + otherlv_2=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleReleaseAction11595); + + newLeafNode(otherlv_2, grammarAccess.getReleaseActionAccess().getPredecessorKeyword_2_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5503:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5504:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5504:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5505:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getReleaseActionRule()); + } + + + newCompositeNode(grammarAccess.getReleaseActionAccess().getPredecessorAbstractActionCrossReference_2_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleReleaseAction11618); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5518:4: (otherlv_4= 'successor' ( ( ruleEString ) ) )? + int alt126=2; + int LA126_0 = input.LA(1); + + if ( (LA126_0==85) ) { + alt126=1; + } + switch (alt126) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5518:6: otherlv_4= 'successor' ( ( ruleEString ) ) + { + otherlv_4=(Token)match(input,85,FollowSets000.FOLLOW_85_in_ruleReleaseAction11633); + + newLeafNode(otherlv_4, grammarAccess.getReleaseActionAccess().getSuccessorKeyword_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5522:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5523:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5523:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5524:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getReleaseActionRule()); + } + + + newCompositeNode(grammarAccess.getReleaseActionAccess().getSuccessorAbstractActionCrossReference_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleReleaseAction11656); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + otherlv_6=(Token)match(input,90,FollowSets000.FOLLOW_90_in_ruleReleaseAction11670); + + newLeafNode(otherlv_6, grammarAccess.getReleaseActionAccess().getPassiveResourceKeyword_4()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5541:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5542:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5542:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5543:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getReleaseActionRule()); + } + + + newCompositeNode(grammarAccess.getReleaseActionAccess().getPassiveResourcePassiveResourceSpecificationCrossReference_5_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleReleaseAction11693); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_8=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleReleaseAction11705); + + newLeafNode(otherlv_8, grammarAccess.getReleaseActionAccess().getRightCurlyBracketKeyword_6()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleReleaseAction" + + + // $ANTLR start "entryRuleInternalAction" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5568:1: entryRuleInternalAction returns [EObject current=null] : iv_ruleInternalAction= ruleInternalAction EOF ; + public final EObject entryRuleInternalAction() throws RecognitionException { + EObject current = null; + + EObject iv_ruleInternalAction = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5569:2: (iv_ruleInternalAction= ruleInternalAction EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5570:2: iv_ruleInternalAction= ruleInternalAction EOF + { + newCompositeNode(grammarAccess.getInternalActionRule()); + pushFollow(FollowSets000.FOLLOW_ruleInternalAction_in_entryRuleInternalAction11741); + iv_ruleInternalAction=ruleInternalAction(); + + state._fsp--; + + current =iv_ruleInternalAction; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInternalAction11751); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleInternalAction" + + + // $ANTLR start "ruleInternalAction" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5577:1: ruleInternalAction returns [EObject current=null] : ( () otherlv_1= 'InternalAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? (otherlv_7= 'resourceDemandSpecification' otherlv_8= '{' ( (lv_resourceDemandSpecification_9_0= ruleResourceDemandSpecification ) ) (otherlv_10= ',' ( (lv_resourceDemandSpecification_11_0= ruleResourceDemandSpecification ) ) )* otherlv_12= '}' )? otherlv_13= '}' ) ; + public final EObject ruleInternalAction() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + Token otherlv_8=null; + Token otherlv_10=null; + Token otherlv_12=null; + Token otherlv_13=null; + EObject lv_resourceDemandSpecification_9_0 = null; + + EObject lv_resourceDemandSpecification_11_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5580:28: ( ( () otherlv_1= 'InternalAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? (otherlv_7= 'resourceDemandSpecification' otherlv_8= '{' ( (lv_resourceDemandSpecification_9_0= ruleResourceDemandSpecification ) ) (otherlv_10= ',' ( (lv_resourceDemandSpecification_11_0= ruleResourceDemandSpecification ) ) )* otherlv_12= '}' )? otherlv_13= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5581:1: ( () otherlv_1= 'InternalAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? (otherlv_7= 'resourceDemandSpecification' otherlv_8= '{' ( (lv_resourceDemandSpecification_9_0= ruleResourceDemandSpecification ) ) (otherlv_10= ',' ( (lv_resourceDemandSpecification_11_0= ruleResourceDemandSpecification ) ) )* otherlv_12= '}' )? otherlv_13= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5581:1: ( () otherlv_1= 'InternalAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? (otherlv_7= 'resourceDemandSpecification' otherlv_8= '{' ( (lv_resourceDemandSpecification_9_0= ruleResourceDemandSpecification ) ) (otherlv_10= ',' ( (lv_resourceDemandSpecification_11_0= ruleResourceDemandSpecification ) ) )* otherlv_12= '}' )? otherlv_13= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5581:2: () otherlv_1= 'InternalAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? (otherlv_7= 'resourceDemandSpecification' otherlv_8= '{' ( (lv_resourceDemandSpecification_9_0= ruleResourceDemandSpecification ) ) (otherlv_10= ',' ( (lv_resourceDemandSpecification_11_0= ruleResourceDemandSpecification ) ) )* otherlv_12= '}' )? otherlv_13= '}' + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5581:2: () + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5582:5: + { + + current = forceCreateModelElement( + grammarAccess.getInternalActionAccess().getInternalActionAction_0(), + current); + + + } + + otherlv_1=(Token)match(input,92,FollowSets000.FOLLOW_92_in_ruleInternalAction11797); + + newLeafNode(otherlv_1, grammarAccess.getInternalActionAccess().getInternalActionKeyword_1()); + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleInternalAction11809); + + newLeafNode(otherlv_2, grammarAccess.getInternalActionAccess().getLeftCurlyBracketKeyword_2()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5595:1: (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? + int alt127=2; + int LA127_0 = input.LA(1); + + if ( (LA127_0==84) ) { + alt127=1; + } + switch (alt127) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5595:3: otherlv_3= 'predecessor' ( ( ruleEString ) ) + { + otherlv_3=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleInternalAction11822); + + newLeafNode(otherlv_3, grammarAccess.getInternalActionAccess().getPredecessorKeyword_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5599:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5600:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5600:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5601:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getInternalActionRule()); + } + + + newCompositeNode(grammarAccess.getInternalActionAccess().getPredecessorAbstractActionCrossReference_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInternalAction11845); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5614:4: (otherlv_5= 'successor' ( ( ruleEString ) ) )? + int alt128=2; + int LA128_0 = input.LA(1); + + if ( (LA128_0==85) ) { + alt128=1; + } + switch (alt128) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5614:6: otherlv_5= 'successor' ( ( ruleEString ) ) + { + otherlv_5=(Token)match(input,85,FollowSets000.FOLLOW_85_in_ruleInternalAction11860); + + newLeafNode(otherlv_5, grammarAccess.getInternalActionAccess().getSuccessorKeyword_4_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5618:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5619:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5619:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5620:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getInternalActionRule()); + } + + + newCompositeNode(grammarAccess.getInternalActionAccess().getSuccessorAbstractActionCrossReference_4_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleInternalAction11883); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5633:4: (otherlv_7= 'resourceDemandSpecification' otherlv_8= '{' ( (lv_resourceDemandSpecification_9_0= ruleResourceDemandSpecification ) ) (otherlv_10= ',' ( (lv_resourceDemandSpecification_11_0= ruleResourceDemandSpecification ) ) )* otherlv_12= '}' )? + int alt130=2; + int LA130_0 = input.LA(1); + + if ( (LA130_0==54) ) { + alt130=1; + } + switch (alt130) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5633:6: otherlv_7= 'resourceDemandSpecification' otherlv_8= '{' ( (lv_resourceDemandSpecification_9_0= ruleResourceDemandSpecification ) ) (otherlv_10= ',' ( (lv_resourceDemandSpecification_11_0= ruleResourceDemandSpecification ) ) )* otherlv_12= '}' + { + otherlv_7=(Token)match(input,54,FollowSets000.FOLLOW_54_in_ruleInternalAction11898); + + newLeafNode(otherlv_7, grammarAccess.getInternalActionAccess().getResourceDemandSpecificationKeyword_5_0()); + + otherlv_8=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleInternalAction11910); + + newLeafNode(otherlv_8, grammarAccess.getInternalActionAccess().getLeftCurlyBracketKeyword_5_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5641:1: ( (lv_resourceDemandSpecification_9_0= ruleResourceDemandSpecification ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5642:1: (lv_resourceDemandSpecification_9_0= ruleResourceDemandSpecification ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5642:1: (lv_resourceDemandSpecification_9_0= ruleResourceDemandSpecification ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5643:3: lv_resourceDemandSpecification_9_0= ruleResourceDemandSpecification + { + + newCompositeNode(grammarAccess.getInternalActionAccess().getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_5_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleResourceDemandSpecification_in_ruleInternalAction11931); + lv_resourceDemandSpecification_9_0=ruleResourceDemandSpecification(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getInternalActionRule()); + } + add( + current, + "resourceDemandSpecification", + lv_resourceDemandSpecification_9_0, + "ResourceDemandSpecification"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5659:2: (otherlv_10= ',' ( (lv_resourceDemandSpecification_11_0= ruleResourceDemandSpecification ) ) )* + loop129: + do { + int alt129=2; + int LA129_0 = input.LA(1); + + if ( (LA129_0==15) ) { + alt129=1; + } + + + switch (alt129) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5659:4: otherlv_10= ',' ( (lv_resourceDemandSpecification_11_0= ruleResourceDemandSpecification ) ) + { + otherlv_10=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleInternalAction11944); + + newLeafNode(otherlv_10, grammarAccess.getInternalActionAccess().getCommaKeyword_5_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5663:1: ( (lv_resourceDemandSpecification_11_0= ruleResourceDemandSpecification ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5664:1: (lv_resourceDemandSpecification_11_0= ruleResourceDemandSpecification ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5664:1: (lv_resourceDemandSpecification_11_0= ruleResourceDemandSpecification ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5665:3: lv_resourceDemandSpecification_11_0= ruleResourceDemandSpecification + { + + newCompositeNode(grammarAccess.getInternalActionAccess().getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_5_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleResourceDemandSpecification_in_ruleInternalAction11965); + lv_resourceDemandSpecification_11_0=ruleResourceDemandSpecification(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getInternalActionRule()); + } + add( + current, + "resourceDemandSpecification", + lv_resourceDemandSpecification_11_0, + "ResourceDemandSpecification"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop129; + } + } while (true); + + otherlv_12=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleInternalAction11979); + + newLeafNode(otherlv_12, grammarAccess.getInternalActionAccess().getRightCurlyBracketKeyword_5_4()); + + + } + break; + + } + + otherlv_13=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleInternalAction11993); + + newLeafNode(otherlv_13, grammarAccess.getInternalActionAccess().getRightCurlyBracketKeyword_6()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleInternalAction" + + + // $ANTLR start "entryRuleForkAction" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5697:1: entryRuleForkAction returns [EObject current=null] : iv_ruleForkAction= ruleForkAction EOF ; + public final EObject entryRuleForkAction() throws RecognitionException { + EObject current = null; + + EObject iv_ruleForkAction = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5698:2: (iv_ruleForkAction= ruleForkAction EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5699:2: iv_ruleForkAction= ruleForkAction EOF + { + newCompositeNode(grammarAccess.getForkActionRule()); + pushFollow(FollowSets000.FOLLOW_ruleForkAction_in_entryRuleForkAction12029); + iv_ruleForkAction=ruleForkAction(); + + state._fsp--; + + current =iv_ruleForkAction; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleForkAction12039); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleForkAction" + + + // $ANTLR start "ruleForkAction" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5706:1: ruleForkAction returns [EObject current=null] : ( ( (lv_withSynchronizationBarrier_0_0= 'withSynchronizationBarrier' ) ) otherlv_1= 'ForkAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? (otherlv_7= 'forkedBehaviors' otherlv_8= '{' ( (lv_forkedBehaviors_9_0= ruleComponentInternalBehavior ) ) (otherlv_10= ',' ( (lv_forkedBehaviors_11_0= ruleComponentInternalBehavior ) ) )* otherlv_12= '}' )? otherlv_13= '}' ) ; + public final EObject ruleForkAction() throws RecognitionException { + EObject current = null; + + Token lv_withSynchronizationBarrier_0_0=null; + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + Token otherlv_8=null; + Token otherlv_10=null; + Token otherlv_12=null; + Token otherlv_13=null; + EObject lv_forkedBehaviors_9_0 = null; + + EObject lv_forkedBehaviors_11_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5709:28: ( ( ( (lv_withSynchronizationBarrier_0_0= 'withSynchronizationBarrier' ) ) otherlv_1= 'ForkAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? (otherlv_7= 'forkedBehaviors' otherlv_8= '{' ( (lv_forkedBehaviors_9_0= ruleComponentInternalBehavior ) ) (otherlv_10= ',' ( (lv_forkedBehaviors_11_0= ruleComponentInternalBehavior ) ) )* otherlv_12= '}' )? otherlv_13= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5710:1: ( ( (lv_withSynchronizationBarrier_0_0= 'withSynchronizationBarrier' ) ) otherlv_1= 'ForkAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? (otherlv_7= 'forkedBehaviors' otherlv_8= '{' ( (lv_forkedBehaviors_9_0= ruleComponentInternalBehavior ) ) (otherlv_10= ',' ( (lv_forkedBehaviors_11_0= ruleComponentInternalBehavior ) ) )* otherlv_12= '}' )? otherlv_13= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5710:1: ( ( (lv_withSynchronizationBarrier_0_0= 'withSynchronizationBarrier' ) ) otherlv_1= 'ForkAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? (otherlv_7= 'forkedBehaviors' otherlv_8= '{' ( (lv_forkedBehaviors_9_0= ruleComponentInternalBehavior ) ) (otherlv_10= ',' ( (lv_forkedBehaviors_11_0= ruleComponentInternalBehavior ) ) )* otherlv_12= '}' )? otherlv_13= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5710:2: ( (lv_withSynchronizationBarrier_0_0= 'withSynchronizationBarrier' ) ) otherlv_1= 'ForkAction' otherlv_2= '{' (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? (otherlv_5= 'successor' ( ( ruleEString ) ) )? (otherlv_7= 'forkedBehaviors' otherlv_8= '{' ( (lv_forkedBehaviors_9_0= ruleComponentInternalBehavior ) ) (otherlv_10= ',' ( (lv_forkedBehaviors_11_0= ruleComponentInternalBehavior ) ) )* otherlv_12= '}' )? otherlv_13= '}' + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5710:2: ( (lv_withSynchronizationBarrier_0_0= 'withSynchronizationBarrier' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5711:1: (lv_withSynchronizationBarrier_0_0= 'withSynchronizationBarrier' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5711:1: (lv_withSynchronizationBarrier_0_0= 'withSynchronizationBarrier' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5712:3: lv_withSynchronizationBarrier_0_0= 'withSynchronizationBarrier' + { + lv_withSynchronizationBarrier_0_0=(Token)match(input,93,FollowSets000.FOLLOW_93_in_ruleForkAction12082); + + newLeafNode(lv_withSynchronizationBarrier_0_0, grammarAccess.getForkActionAccess().getWithSynchronizationBarrierWithSynchronizationBarrierKeyword_0_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getForkActionRule()); + } + setWithLastConsumed(current, "withSynchronizationBarrier", true, "withSynchronizationBarrier"); + + + } + + + } + + otherlv_1=(Token)match(input,94,FollowSets000.FOLLOW_94_in_ruleForkAction12107); + + newLeafNode(otherlv_1, grammarAccess.getForkActionAccess().getForkActionKeyword_1()); + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleForkAction12119); + + newLeafNode(otherlv_2, grammarAccess.getForkActionAccess().getLeftCurlyBracketKeyword_2()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5733:1: (otherlv_3= 'predecessor' ( ( ruleEString ) ) )? + int alt131=2; + int LA131_0 = input.LA(1); + + if ( (LA131_0==84) ) { + alt131=1; + } + switch (alt131) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5733:3: otherlv_3= 'predecessor' ( ( ruleEString ) ) + { + otherlv_3=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleForkAction12132); + + newLeafNode(otherlv_3, grammarAccess.getForkActionAccess().getPredecessorKeyword_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5737:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5738:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5738:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5739:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getForkActionRule()); + } + + + newCompositeNode(grammarAccess.getForkActionAccess().getPredecessorAbstractActionCrossReference_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleForkAction12155); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5752:4: (otherlv_5= 'successor' ( ( ruleEString ) ) )? + int alt132=2; + int LA132_0 = input.LA(1); + + if ( (LA132_0==85) ) { + alt132=1; + } + switch (alt132) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5752:6: otherlv_5= 'successor' ( ( ruleEString ) ) + { + otherlv_5=(Token)match(input,85,FollowSets000.FOLLOW_85_in_ruleForkAction12170); + + newLeafNode(otherlv_5, grammarAccess.getForkActionAccess().getSuccessorKeyword_4_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5756:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5757:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5757:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5758:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getForkActionRule()); + } + + + newCompositeNode(grammarAccess.getForkActionAccess().getSuccessorAbstractActionCrossReference_4_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleForkAction12193); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5771:4: (otherlv_7= 'forkedBehaviors' otherlv_8= '{' ( (lv_forkedBehaviors_9_0= ruleComponentInternalBehavior ) ) (otherlv_10= ',' ( (lv_forkedBehaviors_11_0= ruleComponentInternalBehavior ) ) )* otherlv_12= '}' )? + int alt134=2; + int LA134_0 = input.LA(1); + + if ( (LA134_0==95) ) { + alt134=1; + } + switch (alt134) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5771:6: otherlv_7= 'forkedBehaviors' otherlv_8= '{' ( (lv_forkedBehaviors_9_0= ruleComponentInternalBehavior ) ) (otherlv_10= ',' ( (lv_forkedBehaviors_11_0= ruleComponentInternalBehavior ) ) )* otherlv_12= '}' + { + otherlv_7=(Token)match(input,95,FollowSets000.FOLLOW_95_in_ruleForkAction12208); + + newLeafNode(otherlv_7, grammarAccess.getForkActionAccess().getForkedBehaviorsKeyword_5_0()); + + otherlv_8=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleForkAction12220); + + newLeafNode(otherlv_8, grammarAccess.getForkActionAccess().getLeftCurlyBracketKeyword_5_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5779:1: ( (lv_forkedBehaviors_9_0= ruleComponentInternalBehavior ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5780:1: (lv_forkedBehaviors_9_0= ruleComponentInternalBehavior ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5780:1: (lv_forkedBehaviors_9_0= ruleComponentInternalBehavior ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5781:3: lv_forkedBehaviors_9_0= ruleComponentInternalBehavior + { + + newCompositeNode(grammarAccess.getForkActionAccess().getForkedBehaviorsComponentInternalBehaviorParserRuleCall_5_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleComponentInternalBehavior_in_ruleForkAction12241); + lv_forkedBehaviors_9_0=ruleComponentInternalBehavior(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getForkActionRule()); + } + add( + current, + "forkedBehaviors", + lv_forkedBehaviors_9_0, + "ComponentInternalBehavior"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5797:2: (otherlv_10= ',' ( (lv_forkedBehaviors_11_0= ruleComponentInternalBehavior ) ) )* + loop133: + do { + int alt133=2; + int LA133_0 = input.LA(1); + + if ( (LA133_0==15) ) { + alt133=1; + } + + + switch (alt133) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5797:4: otherlv_10= ',' ( (lv_forkedBehaviors_11_0= ruleComponentInternalBehavior ) ) + { + otherlv_10=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleForkAction12254); + + newLeafNode(otherlv_10, grammarAccess.getForkActionAccess().getCommaKeyword_5_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5801:1: ( (lv_forkedBehaviors_11_0= ruleComponentInternalBehavior ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5802:1: (lv_forkedBehaviors_11_0= ruleComponentInternalBehavior ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5802:1: (lv_forkedBehaviors_11_0= ruleComponentInternalBehavior ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5803:3: lv_forkedBehaviors_11_0= ruleComponentInternalBehavior + { + + newCompositeNode(grammarAccess.getForkActionAccess().getForkedBehaviorsComponentInternalBehaviorParserRuleCall_5_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleComponentInternalBehavior_in_ruleForkAction12275); + lv_forkedBehaviors_11_0=ruleComponentInternalBehavior(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getForkActionRule()); + } + add( + current, + "forkedBehaviors", + lv_forkedBehaviors_11_0, + "ComponentInternalBehavior"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop133; + } + } while (true); + + otherlv_12=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleForkAction12289); + + newLeafNode(otherlv_12, grammarAccess.getForkActionAccess().getRightCurlyBracketKeyword_5_4()); + + + } + break; + + } + + otherlv_13=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleForkAction12303); + + newLeafNode(otherlv_13, grammarAccess.getForkActionAccess().getRightCurlyBracketKeyword_6()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleForkAction" + + + // $ANTLR start "entryRuleBranchAction" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5835:1: entryRuleBranchAction returns [EObject current=null] : iv_ruleBranchAction= ruleBranchAction EOF ; + public final EObject entryRuleBranchAction() throws RecognitionException { + EObject current = null; + + EObject iv_ruleBranchAction = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5836:2: (iv_ruleBranchAction= ruleBranchAction EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5837:2: iv_ruleBranchAction= ruleBranchAction EOF + { + newCompositeNode(grammarAccess.getBranchActionRule()); + pushFollow(FollowSets000.FOLLOW_ruleBranchAction_in_entryRuleBranchAction12339); + iv_ruleBranchAction=ruleBranchAction(); + + state._fsp--; + + current =iv_ruleBranchAction; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBranchAction12349); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleBranchAction" + + + // $ANTLR start "ruleBranchAction" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5844:1: ruleBranchAction returns [EObject current=null] : (otherlv_0= 'BranchAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? (otherlv_6= 'branches' otherlv_7= '{' ( (lv_branches_8_0= ruleBranchTransition ) ) (otherlv_9= ',' ( (lv_branches_10_0= ruleBranchTransition ) ) )* otherlv_11= '}' )? otherlv_12= 'branchProbabilities' ( (lv_branchProbabilities_13_0= ruleBranchProbabilities ) ) otherlv_14= '}' ) ; + public final EObject ruleBranchAction() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_7=null; + Token otherlv_9=null; + Token otherlv_11=null; + Token otherlv_12=null; + Token otherlv_14=null; + EObject lv_branches_8_0 = null; + + EObject lv_branches_10_0 = null; + + EObject lv_branchProbabilities_13_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5847:28: ( (otherlv_0= 'BranchAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? (otherlv_6= 'branches' otherlv_7= '{' ( (lv_branches_8_0= ruleBranchTransition ) ) (otherlv_9= ',' ( (lv_branches_10_0= ruleBranchTransition ) ) )* otherlv_11= '}' )? otherlv_12= 'branchProbabilities' ( (lv_branchProbabilities_13_0= ruleBranchProbabilities ) ) otherlv_14= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5848:1: (otherlv_0= 'BranchAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? (otherlv_6= 'branches' otherlv_7= '{' ( (lv_branches_8_0= ruleBranchTransition ) ) (otherlv_9= ',' ( (lv_branches_10_0= ruleBranchTransition ) ) )* otherlv_11= '}' )? otherlv_12= 'branchProbabilities' ( (lv_branchProbabilities_13_0= ruleBranchProbabilities ) ) otherlv_14= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5848:1: (otherlv_0= 'BranchAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? (otherlv_6= 'branches' otherlv_7= '{' ( (lv_branches_8_0= ruleBranchTransition ) ) (otherlv_9= ',' ( (lv_branches_10_0= ruleBranchTransition ) ) )* otherlv_11= '}' )? otherlv_12= 'branchProbabilities' ( (lv_branchProbabilities_13_0= ruleBranchProbabilities ) ) otherlv_14= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5848:3: otherlv_0= 'BranchAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? (otherlv_6= 'branches' otherlv_7= '{' ( (lv_branches_8_0= ruleBranchTransition ) ) (otherlv_9= ',' ( (lv_branches_10_0= ruleBranchTransition ) ) )* otherlv_11= '}' )? otherlv_12= 'branchProbabilities' ( (lv_branchProbabilities_13_0= ruleBranchProbabilities ) ) otherlv_14= '}' + { + otherlv_0=(Token)match(input,96,FollowSets000.FOLLOW_96_in_ruleBranchAction12386); + + newLeafNode(otherlv_0, grammarAccess.getBranchActionAccess().getBranchActionKeyword_0()); + + otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBranchAction12398); + + newLeafNode(otherlv_1, grammarAccess.getBranchActionAccess().getLeftCurlyBracketKeyword_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5856:1: (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? + int alt135=2; + int LA135_0 = input.LA(1); + + if ( (LA135_0==84) ) { + alt135=1; + } + switch (alt135) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5856:3: otherlv_2= 'predecessor' ( ( ruleEString ) ) + { + otherlv_2=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleBranchAction12411); + + newLeafNode(otherlv_2, grammarAccess.getBranchActionAccess().getPredecessorKeyword_2_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5860:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5861:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5861:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5862:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getBranchActionRule()); + } + + + newCompositeNode(grammarAccess.getBranchActionAccess().getPredecessorAbstractActionCrossReference_2_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBranchAction12434); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5875:4: (otherlv_4= 'successor' ( ( ruleEString ) ) )? + int alt136=2; + int LA136_0 = input.LA(1); + + if ( (LA136_0==85) ) { + alt136=1; + } + switch (alt136) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5875:6: otherlv_4= 'successor' ( ( ruleEString ) ) + { + otherlv_4=(Token)match(input,85,FollowSets000.FOLLOW_85_in_ruleBranchAction12449); + + newLeafNode(otherlv_4, grammarAccess.getBranchActionAccess().getSuccessorKeyword_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5879:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5880:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5880:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5881:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getBranchActionRule()); + } + + + newCompositeNode(grammarAccess.getBranchActionAccess().getSuccessorAbstractActionCrossReference_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBranchAction12472); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5894:4: (otherlv_6= 'branches' otherlv_7= '{' ( (lv_branches_8_0= ruleBranchTransition ) ) (otherlv_9= ',' ( (lv_branches_10_0= ruleBranchTransition ) ) )* otherlv_11= '}' )? + int alt138=2; + int LA138_0 = input.LA(1); + + if ( (LA138_0==97) ) { + alt138=1; + } + switch (alt138) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5894:6: otherlv_6= 'branches' otherlv_7= '{' ( (lv_branches_8_0= ruleBranchTransition ) ) (otherlv_9= ',' ( (lv_branches_10_0= ruleBranchTransition ) ) )* otherlv_11= '}' + { + otherlv_6=(Token)match(input,97,FollowSets000.FOLLOW_97_in_ruleBranchAction12487); + + newLeafNode(otherlv_6, grammarAccess.getBranchActionAccess().getBranchesKeyword_4_0()); + + otherlv_7=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBranchAction12499); + + newLeafNode(otherlv_7, grammarAccess.getBranchActionAccess().getLeftCurlyBracketKeyword_4_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5902:1: ( (lv_branches_8_0= ruleBranchTransition ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5903:1: (lv_branches_8_0= ruleBranchTransition ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5903:1: (lv_branches_8_0= ruleBranchTransition ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5904:3: lv_branches_8_0= ruleBranchTransition + { + + newCompositeNode(grammarAccess.getBranchActionAccess().getBranchesBranchTransitionParserRuleCall_4_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleBranchTransition_in_ruleBranchAction12520); + lv_branches_8_0=ruleBranchTransition(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBranchActionRule()); + } + add( + current, + "branches", + lv_branches_8_0, + "BranchTransition"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5920:2: (otherlv_9= ',' ( (lv_branches_10_0= ruleBranchTransition ) ) )* + loop137: + do { + int alt137=2; + int LA137_0 = input.LA(1); + + if ( (LA137_0==15) ) { + alt137=1; + } + + + switch (alt137) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5920:4: otherlv_9= ',' ( (lv_branches_10_0= ruleBranchTransition ) ) + { + otherlv_9=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleBranchAction12533); + + newLeafNode(otherlv_9, grammarAccess.getBranchActionAccess().getCommaKeyword_4_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5924:1: ( (lv_branches_10_0= ruleBranchTransition ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5925:1: (lv_branches_10_0= ruleBranchTransition ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5925:1: (lv_branches_10_0= ruleBranchTransition ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5926:3: lv_branches_10_0= ruleBranchTransition + { + + newCompositeNode(grammarAccess.getBranchActionAccess().getBranchesBranchTransitionParserRuleCall_4_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleBranchTransition_in_ruleBranchAction12554); + lv_branches_10_0=ruleBranchTransition(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBranchActionRule()); + } + add( + current, + "branches", + lv_branches_10_0, + "BranchTransition"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop137; + } + } while (true); + + otherlv_11=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBranchAction12568); + + newLeafNode(otherlv_11, grammarAccess.getBranchActionAccess().getRightCurlyBracketKeyword_4_4()); + + + } + break; + + } + + otherlv_12=(Token)match(input,98,FollowSets000.FOLLOW_98_in_ruleBranchAction12582); + + newLeafNode(otherlv_12, grammarAccess.getBranchActionAccess().getBranchProbabilitiesKeyword_5()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5950:1: ( (lv_branchProbabilities_13_0= ruleBranchProbabilities ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5951:1: (lv_branchProbabilities_13_0= ruleBranchProbabilities ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5951:1: (lv_branchProbabilities_13_0= ruleBranchProbabilities ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5952:3: lv_branchProbabilities_13_0= ruleBranchProbabilities + { + + newCompositeNode(grammarAccess.getBranchActionAccess().getBranchProbabilitiesBranchProbabilitiesParserRuleCall_6_0()); + + pushFollow(FollowSets000.FOLLOW_ruleBranchProbabilities_in_ruleBranchAction12603); + lv_branchProbabilities_13_0=ruleBranchProbabilities(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBranchActionRule()); + } + set( + current, + "branchProbabilities", + lv_branchProbabilities_13_0, + "BranchProbabilities"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_14=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBranchAction12615); + + newLeafNode(otherlv_14, grammarAccess.getBranchActionAccess().getRightCurlyBracketKeyword_7()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleBranchAction" + + + // $ANTLR start "entryRuleLoopAction" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5980:1: entryRuleLoopAction returns [EObject current=null] : iv_ruleLoopAction= ruleLoopAction EOF ; + public final EObject entryRuleLoopAction() throws RecognitionException { + EObject current = null; + + EObject iv_ruleLoopAction = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5981:2: (iv_ruleLoopAction= ruleLoopAction EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5982:2: iv_ruleLoopAction= ruleLoopAction EOF + { + newCompositeNode(grammarAccess.getLoopActionRule()); + pushFollow(FollowSets000.FOLLOW_ruleLoopAction_in_entryRuleLoopAction12651); + iv_ruleLoopAction=ruleLoopAction(); + + state._fsp--; + + current =iv_ruleLoopAction; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLoopAction12661); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleLoopAction" + + + // $ANTLR start "ruleLoopAction" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5989:1: ruleLoopAction returns [EObject current=null] : (otherlv_0= 'LoopAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'loopBodyBehavior' ( (lv_loopBodyBehavior_7_0= ruleComponentInternalBehavior ) ) otherlv_8= 'loopIterationCountDistribution' ( (lv_loopIterationCountDistribution_9_0= ruleLoopIterationCountDistribution ) ) otherlv_10= '}' ) ; + public final EObject ruleLoopAction() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_8=null; + Token otherlv_10=null; + EObject lv_loopBodyBehavior_7_0 = null; + + EObject lv_loopIterationCountDistribution_9_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5992:28: ( (otherlv_0= 'LoopAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'loopBodyBehavior' ( (lv_loopBodyBehavior_7_0= ruleComponentInternalBehavior ) ) otherlv_8= 'loopIterationCountDistribution' ( (lv_loopIterationCountDistribution_9_0= ruleLoopIterationCountDistribution ) ) otherlv_10= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5993:1: (otherlv_0= 'LoopAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'loopBodyBehavior' ( (lv_loopBodyBehavior_7_0= ruleComponentInternalBehavior ) ) otherlv_8= 'loopIterationCountDistribution' ( (lv_loopIterationCountDistribution_9_0= ruleLoopIterationCountDistribution ) ) otherlv_10= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5993:1: (otherlv_0= 'LoopAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'loopBodyBehavior' ( (lv_loopBodyBehavior_7_0= ruleComponentInternalBehavior ) ) otherlv_8= 'loopIterationCountDistribution' ( (lv_loopIterationCountDistribution_9_0= ruleLoopIterationCountDistribution ) ) otherlv_10= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:5993:3: otherlv_0= 'LoopAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'loopBodyBehavior' ( (lv_loopBodyBehavior_7_0= ruleComponentInternalBehavior ) ) otherlv_8= 'loopIterationCountDistribution' ( (lv_loopIterationCountDistribution_9_0= ruleLoopIterationCountDistribution ) ) otherlv_10= '}' + { + otherlv_0=(Token)match(input,99,FollowSets000.FOLLOW_99_in_ruleLoopAction12698); + + newLeafNode(otherlv_0, grammarAccess.getLoopActionAccess().getLoopActionKeyword_0()); + + otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleLoopAction12710); + + newLeafNode(otherlv_1, grammarAccess.getLoopActionAccess().getLeftCurlyBracketKeyword_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6001:1: (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? + int alt139=2; + int LA139_0 = input.LA(1); + + if ( (LA139_0==84) ) { + alt139=1; + } + switch (alt139) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6001:3: otherlv_2= 'predecessor' ( ( ruleEString ) ) + { + otherlv_2=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleLoopAction12723); + + newLeafNode(otherlv_2, grammarAccess.getLoopActionAccess().getPredecessorKeyword_2_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6005:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6006:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6006:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6007:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getLoopActionRule()); + } + + + newCompositeNode(grammarAccess.getLoopActionAccess().getPredecessorAbstractActionCrossReference_2_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleLoopAction12746); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6020:4: (otherlv_4= 'successor' ( ( ruleEString ) ) )? + int alt140=2; + int LA140_0 = input.LA(1); + + if ( (LA140_0==85) ) { + alt140=1; + } + switch (alt140) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6020:6: otherlv_4= 'successor' ( ( ruleEString ) ) + { + otherlv_4=(Token)match(input,85,FollowSets000.FOLLOW_85_in_ruleLoopAction12761); + + newLeafNode(otherlv_4, grammarAccess.getLoopActionAccess().getSuccessorKeyword_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6024:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6025:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6025:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6026:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getLoopActionRule()); + } + + + newCompositeNode(grammarAccess.getLoopActionAccess().getSuccessorAbstractActionCrossReference_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleLoopAction12784); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + otherlv_6=(Token)match(input,100,FollowSets000.FOLLOW_100_in_ruleLoopAction12798); + + newLeafNode(otherlv_6, grammarAccess.getLoopActionAccess().getLoopBodyBehaviorKeyword_4()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6043:1: ( (lv_loopBodyBehavior_7_0= ruleComponentInternalBehavior ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6044:1: (lv_loopBodyBehavior_7_0= ruleComponentInternalBehavior ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6044:1: (lv_loopBodyBehavior_7_0= ruleComponentInternalBehavior ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6045:3: lv_loopBodyBehavior_7_0= ruleComponentInternalBehavior + { + + newCompositeNode(grammarAccess.getLoopActionAccess().getLoopBodyBehaviorComponentInternalBehaviorParserRuleCall_5_0()); + + pushFollow(FollowSets000.FOLLOW_ruleComponentInternalBehavior_in_ruleLoopAction12819); + lv_loopBodyBehavior_7_0=ruleComponentInternalBehavior(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getLoopActionRule()); + } + set( + current, + "loopBodyBehavior", + lv_loopBodyBehavior_7_0, + "ComponentInternalBehavior"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_8=(Token)match(input,101,FollowSets000.FOLLOW_101_in_ruleLoopAction12831); + + newLeafNode(otherlv_8, grammarAccess.getLoopActionAccess().getLoopIterationCountDistributionKeyword_6()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6065:1: ( (lv_loopIterationCountDistribution_9_0= ruleLoopIterationCountDistribution ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6066:1: (lv_loopIterationCountDistribution_9_0= ruleLoopIterationCountDistribution ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6066:1: (lv_loopIterationCountDistribution_9_0= ruleLoopIterationCountDistribution ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6067:3: lv_loopIterationCountDistribution_9_0= ruleLoopIterationCountDistribution + { + + newCompositeNode(grammarAccess.getLoopActionAccess().getLoopIterationCountDistributionLoopIterationCountDistributionParserRuleCall_7_0()); + + pushFollow(FollowSets000.FOLLOW_ruleLoopIterationCountDistribution_in_ruleLoopAction12852); + lv_loopIterationCountDistribution_9_0=ruleLoopIterationCountDistribution(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getLoopActionRule()); + } + set( + current, + "loopIterationCountDistribution", + lv_loopIterationCountDistribution_9_0, + "LoopIterationCountDistribution"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_10=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleLoopAction12864); + + newLeafNode(otherlv_10, grammarAccess.getLoopActionAccess().getRightCurlyBracketKeyword_8()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleLoopAction" + + + // $ANTLR start "entryRuleExternalCallAction" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6095:1: entryRuleExternalCallAction returns [EObject current=null] : iv_ruleExternalCallAction= ruleExternalCallAction EOF ; + public final EObject entryRuleExternalCallAction() throws RecognitionException { + EObject current = null; + + EObject iv_ruleExternalCallAction = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6096:2: (iv_ruleExternalCallAction= ruleExternalCallAction EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6097:2: iv_ruleExternalCallAction= ruleExternalCallAction EOF + { + newCompositeNode(grammarAccess.getExternalCallActionRule()); + pushFollow(FollowSets000.FOLLOW_ruleExternalCallAction_in_entryRuleExternalCallAction12900); + iv_ruleExternalCallAction=ruleExternalCallAction(); + + state._fsp--; + + current =iv_ruleExternalCallAction; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExternalCallAction12910); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleExternalCallAction" + + + // $ANTLR start "ruleExternalCallAction" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6104:1: ruleExternalCallAction returns [EObject current=null] : (otherlv_0= 'ExternalCallAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'signature' ( ( ruleEString ) ) otherlv_8= 'requiredRole' ( ( ruleEString ) ) otherlv_10= '}' ) ; + public final EObject ruleExternalCallAction() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_8=null; + Token otherlv_10=null; + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6107:28: ( (otherlv_0= 'ExternalCallAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'signature' ( ( ruleEString ) ) otherlv_8= 'requiredRole' ( ( ruleEString ) ) otherlv_10= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6108:1: (otherlv_0= 'ExternalCallAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'signature' ( ( ruleEString ) ) otherlv_8= 'requiredRole' ( ( ruleEString ) ) otherlv_10= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6108:1: (otherlv_0= 'ExternalCallAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'signature' ( ( ruleEString ) ) otherlv_8= 'requiredRole' ( ( ruleEString ) ) otherlv_10= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6108:3: otherlv_0= 'ExternalCallAction' otherlv_1= '{' (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? (otherlv_4= 'successor' ( ( ruleEString ) ) )? otherlv_6= 'signature' ( ( ruleEString ) ) otherlv_8= 'requiredRole' ( ( ruleEString ) ) otherlv_10= '}' + { + otherlv_0=(Token)match(input,102,FollowSets000.FOLLOW_102_in_ruleExternalCallAction12947); + + newLeafNode(otherlv_0, grammarAccess.getExternalCallActionAccess().getExternalCallActionKeyword_0()); + + otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleExternalCallAction12959); + + newLeafNode(otherlv_1, grammarAccess.getExternalCallActionAccess().getLeftCurlyBracketKeyword_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6116:1: (otherlv_2= 'predecessor' ( ( ruleEString ) ) )? + int alt141=2; + int LA141_0 = input.LA(1); + + if ( (LA141_0==84) ) { + alt141=1; + } + switch (alt141) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6116:3: otherlv_2= 'predecessor' ( ( ruleEString ) ) + { + otherlv_2=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleExternalCallAction12972); + + newLeafNode(otherlv_2, grammarAccess.getExternalCallActionAccess().getPredecessorKeyword_2_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6120:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6121:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6121:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6122:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getExternalCallActionRule()); + } + + + newCompositeNode(grammarAccess.getExternalCallActionAccess().getPredecessorAbstractActionCrossReference_2_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallAction12995); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6135:4: (otherlv_4= 'successor' ( ( ruleEString ) ) )? + int alt142=2; + int LA142_0 = input.LA(1); + + if ( (LA142_0==85) ) { + alt142=1; + } + switch (alt142) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6135:6: otherlv_4= 'successor' ( ( ruleEString ) ) + { + otherlv_4=(Token)match(input,85,FollowSets000.FOLLOW_85_in_ruleExternalCallAction13010); + + newLeafNode(otherlv_4, grammarAccess.getExternalCallActionAccess().getSuccessorKeyword_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6139:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6140:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6140:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6141:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getExternalCallActionRule()); + } + + + newCompositeNode(grammarAccess.getExternalCallActionAccess().getSuccessorAbstractActionCrossReference_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallAction13033); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + otherlv_6=(Token)match(input,73,FollowSets000.FOLLOW_73_in_ruleExternalCallAction13047); + + newLeafNode(otherlv_6, grammarAccess.getExternalCallActionAccess().getSignatureKeyword_4()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6158:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6159:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6159:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6160:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getExternalCallActionRule()); + } + + + newCompositeNode(grammarAccess.getExternalCallActionAccess().getSignatureSignatureCrossReference_5_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallAction13070); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_8=(Token)match(input,103,FollowSets000.FOLLOW_103_in_ruleExternalCallAction13082); + + newLeafNode(otherlv_8, grammarAccess.getExternalCallActionAccess().getRequiredRoleKeyword_6()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6177:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6178:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6178:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6179:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getExternalCallActionRule()); + } + + + newCompositeNode(grammarAccess.getExternalCallActionAccess().getRequiredRoleRequiredRoleCrossReference_7_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCallAction13105); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_10=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleExternalCallAction13117); + + newLeafNode(otherlv_10, grammarAccess.getExternalCallActionAccess().getRightCurlyBracketKeyword_8()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleExternalCallAction" + + + // $ANTLR start "entryRulePassiveResourceSpecification" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6204:1: entryRulePassiveResourceSpecification returns [EObject current=null] : iv_rulePassiveResourceSpecification= rulePassiveResourceSpecification EOF ; + public final EObject entryRulePassiveResourceSpecification() throws RecognitionException { + EObject current = null; + + EObject iv_rulePassiveResourceSpecification = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6205:2: (iv_rulePassiveResourceSpecification= rulePassiveResourceSpecification EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6206:2: iv_rulePassiveResourceSpecification= rulePassiveResourceSpecification EOF + { + newCompositeNode(grammarAccess.getPassiveResourceSpecificationRule()); + pushFollow(FollowSets000.FOLLOW_rulePassiveResourceSpecification_in_entryRulePassiveResourceSpecification13153); + iv_rulePassiveResourceSpecification=rulePassiveResourceSpecification(); + + state._fsp--; + + current =iv_rulePassiveResourceSpecification; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePassiveResourceSpecification13163); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRulePassiveResourceSpecification" + + + // $ANTLR start "rulePassiveResourceSpecification" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6213:1: rulePassiveResourceSpecification returns [EObject current=null] : (otherlv_0= 'PassiveResourceSpecification' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'passiveResourceType' ( ( ruleEString ) ) otherlv_7= 'capacity' ( (lv_capacity_8_0= rulePassiveResourceCapacity ) ) otherlv_9= '}' ) ; + public final EObject rulePassiveResourceSpecification() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + Token otherlv_9=null; + AntlrDatatypeRuleToken lv_id_1_0 = null; + + AntlrDatatypeRuleToken lv_name_4_0 = null; + + EObject lv_capacity_8_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6216:28: ( (otherlv_0= 'PassiveResourceSpecification' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'passiveResourceType' ( ( ruleEString ) ) otherlv_7= 'capacity' ( (lv_capacity_8_0= rulePassiveResourceCapacity ) ) otherlv_9= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6217:1: (otherlv_0= 'PassiveResourceSpecification' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'passiveResourceType' ( ( ruleEString ) ) otherlv_7= 'capacity' ( (lv_capacity_8_0= rulePassiveResourceCapacity ) ) otherlv_9= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6217:1: (otherlv_0= 'PassiveResourceSpecification' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'passiveResourceType' ( ( ruleEString ) ) otherlv_7= 'capacity' ( (lv_capacity_8_0= rulePassiveResourceCapacity ) ) otherlv_9= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6217:3: otherlv_0= 'PassiveResourceSpecification' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'passiveResourceType' ( ( ruleEString ) ) otherlv_7= 'capacity' ( (lv_capacity_8_0= rulePassiveResourceCapacity ) ) otherlv_9= '}' + { + otherlv_0=(Token)match(input,104,FollowSets000.FOLLOW_104_in_rulePassiveResourceSpecification13200); + + newLeafNode(otherlv_0, grammarAccess.getPassiveResourceSpecificationAccess().getPassiveResourceSpecificationKeyword_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6221:1: ( (lv_id_1_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6222:1: (lv_id_1_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6222:1: (lv_id_1_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6223:3: lv_id_1_0= ruleEString + { + + newCompositeNode(grammarAccess.getPassiveResourceSpecificationAccess().getIdEStringParserRuleCall_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_rulePassiveResourceSpecification13221); + lv_id_1_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPassiveResourceSpecificationRule()); + } + set( + current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_rulePassiveResourceSpecification13233); + + newLeafNode(otherlv_2, grammarAccess.getPassiveResourceSpecificationAccess().getLeftCurlyBracketKeyword_2()); + + otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_rulePassiveResourceSpecification13245); + + newLeafNode(otherlv_3, grammarAccess.getPassiveResourceSpecificationAccess().getNameKeyword_3()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6247:1: ( (lv_name_4_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6248:1: (lv_name_4_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6248:1: (lv_name_4_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6249:3: lv_name_4_0= ruleEString + { + + newCompositeNode(grammarAccess.getPassiveResourceSpecificationAccess().getNameEStringParserRuleCall_4_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_rulePassiveResourceSpecification13266); + lv_name_4_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPassiveResourceSpecificationRule()); + } + set( + current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_5=(Token)match(input,105,FollowSets000.FOLLOW_105_in_rulePassiveResourceSpecification13278); + + newLeafNode(otherlv_5, grammarAccess.getPassiveResourceSpecificationAccess().getPassiveResourceTypeKeyword_5()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6269:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6270:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6270:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6271:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getPassiveResourceSpecificationRule()); + } + + + newCompositeNode(grammarAccess.getPassiveResourceSpecificationAccess().getPassiveResourceTypePassiveResourceTypeCrossReference_6_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_rulePassiveResourceSpecification13301); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_7=(Token)match(input,106,FollowSets000.FOLLOW_106_in_rulePassiveResourceSpecification13313); + + newLeafNode(otherlv_7, grammarAccess.getPassiveResourceSpecificationAccess().getCapacityKeyword_7()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6288:1: ( (lv_capacity_8_0= rulePassiveResourceCapacity ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6289:1: (lv_capacity_8_0= rulePassiveResourceCapacity ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6289:1: (lv_capacity_8_0= rulePassiveResourceCapacity ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6290:3: lv_capacity_8_0= rulePassiveResourceCapacity + { + + newCompositeNode(grammarAccess.getPassiveResourceSpecificationAccess().getCapacityPassiveResourceCapacityParserRuleCall_8_0()); + + pushFollow(FollowSets000.FOLLOW_rulePassiveResourceCapacity_in_rulePassiveResourceSpecification13334); + lv_capacity_8_0=rulePassiveResourceCapacity(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPassiveResourceSpecificationRule()); + } + set( + current, + "capacity", + lv_capacity_8_0, + "PassiveResourceCapacity"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_9=(Token)match(input,16,FollowSets000.FOLLOW_16_in_rulePassiveResourceSpecification13346); + + newLeafNode(otherlv_9, grammarAccess.getPassiveResourceSpecificationAccess().getRightCurlyBracketKeyword_9()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "rulePassiveResourceSpecification" + + + // $ANTLR start "entryRulePassiveResourceCapacity" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6318:1: entryRulePassiveResourceCapacity returns [EObject current=null] : iv_rulePassiveResourceCapacity= rulePassiveResourceCapacity EOF ; + public final EObject entryRulePassiveResourceCapacity() throws RecognitionException { + EObject current = null; + + EObject iv_rulePassiveResourceCapacity = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6319:2: (iv_rulePassiveResourceCapacity= rulePassiveResourceCapacity EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6320:2: iv_rulePassiveResourceCapacity= rulePassiveResourceCapacity EOF + { + newCompositeNode(grammarAccess.getPassiveResourceCapacityRule()); + pushFollow(FollowSets000.FOLLOW_rulePassiveResourceCapacity_in_entryRulePassiveResourceCapacity13382); + iv_rulePassiveResourceCapacity=rulePassiveResourceCapacity(); + + state._fsp--; + + current =iv_rulePassiveResourceCapacity; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePassiveResourceCapacity13392); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRulePassiveResourceCapacity" + + + // $ANTLR start "rulePassiveResourceCapacity" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6327:1: rulePassiveResourceCapacity returns [EObject current=null] : (otherlv_0= 'PassiveResourceCapacity' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'capacity' ( (lv_capacity_6_0= ruleEBigInteger ) ) otherlv_7= '}' ) ; + public final EObject rulePassiveResourceCapacity() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + AntlrDatatypeRuleToken lv_id_1_0 = null; + + AntlrDatatypeRuleToken lv_name_4_0 = null; + + AntlrDatatypeRuleToken lv_capacity_6_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6330:28: ( (otherlv_0= 'PassiveResourceCapacity' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'capacity' ( (lv_capacity_6_0= ruleEBigInteger ) ) otherlv_7= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6331:1: (otherlv_0= 'PassiveResourceCapacity' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'capacity' ( (lv_capacity_6_0= ruleEBigInteger ) ) otherlv_7= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6331:1: (otherlv_0= 'PassiveResourceCapacity' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'capacity' ( (lv_capacity_6_0= ruleEBigInteger ) ) otherlv_7= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6331:3: otherlv_0= 'PassiveResourceCapacity' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'capacity' ( (lv_capacity_6_0= ruleEBigInteger ) ) otherlv_7= '}' + { + otherlv_0=(Token)match(input,107,FollowSets000.FOLLOW_107_in_rulePassiveResourceCapacity13429); + + newLeafNode(otherlv_0, grammarAccess.getPassiveResourceCapacityAccess().getPassiveResourceCapacityKeyword_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6335:1: ( (lv_id_1_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6336:1: (lv_id_1_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6336:1: (lv_id_1_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6337:3: lv_id_1_0= ruleEString + { + + newCompositeNode(grammarAccess.getPassiveResourceCapacityAccess().getIdEStringParserRuleCall_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_rulePassiveResourceCapacity13450); + lv_id_1_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPassiveResourceCapacityRule()); + } + set( + current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_rulePassiveResourceCapacity13462); + + newLeafNode(otherlv_2, grammarAccess.getPassiveResourceCapacityAccess().getLeftCurlyBracketKeyword_2()); + + otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_rulePassiveResourceCapacity13474); + + newLeafNode(otherlv_3, grammarAccess.getPassiveResourceCapacityAccess().getNameKeyword_3()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6361:1: ( (lv_name_4_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6362:1: (lv_name_4_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6362:1: (lv_name_4_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6363:3: lv_name_4_0= ruleEString + { + + newCompositeNode(grammarAccess.getPassiveResourceCapacityAccess().getNameEStringParserRuleCall_4_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_rulePassiveResourceCapacity13495); + lv_name_4_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPassiveResourceCapacityRule()); + } + set( + current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_5=(Token)match(input,106,FollowSets000.FOLLOW_106_in_rulePassiveResourceCapacity13507); + + newLeafNode(otherlv_5, grammarAccess.getPassiveResourceCapacityAccess().getCapacityKeyword_5()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6383:1: ( (lv_capacity_6_0= ruleEBigInteger ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6384:1: (lv_capacity_6_0= ruleEBigInteger ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6384:1: (lv_capacity_6_0= ruleEBigInteger ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6385:3: lv_capacity_6_0= ruleEBigInteger + { + + newCompositeNode(grammarAccess.getPassiveResourceCapacityAccess().getCapacityEBigIntegerParserRuleCall_6_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEBigInteger_in_rulePassiveResourceCapacity13528); + lv_capacity_6_0=ruleEBigInteger(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPassiveResourceCapacityRule()); + } + set( + current, + "capacity", + lv_capacity_6_0, + "EBigInteger"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_7=(Token)match(input,16,FollowSets000.FOLLOW_16_in_rulePassiveResourceCapacity13540); + + newLeafNode(otherlv_7, grammarAccess.getPassiveResourceCapacityAccess().getRightCurlyBracketKeyword_7()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "rulePassiveResourceCapacity" + + + // $ANTLR start "entryRuleEBigInteger" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6415:1: entryRuleEBigInteger returns [String current=null] : iv_ruleEBigInteger= ruleEBigInteger EOF ; + public final String entryRuleEBigInteger() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleEBigInteger = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6416:2: (iv_ruleEBigInteger= ruleEBigInteger EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6417:2: iv_ruleEBigInteger= ruleEBigInteger EOF + { + newCompositeNode(grammarAccess.getEBigIntegerRule()); + pushFollow(FollowSets000.FOLLOW_ruleEBigInteger_in_entryRuleEBigInteger13579); + iv_ruleEBigInteger=ruleEBigInteger(); + + state._fsp--; + + current =iv_ruleEBigInteger.getText(); + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEBigInteger13590); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleEBigInteger" + + + // $ANTLR start "ruleEBigInteger" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6424:1: ruleEBigInteger returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '-' )? this_INT_1= RULE_INT ) ; + public final AntlrDatatypeRuleToken ruleEBigInteger() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token kw=null; + Token this_INT_1=null; + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6427:28: ( ( (kw= '-' )? this_INT_1= RULE_INT ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6428:1: ( (kw= '-' )? this_INT_1= RULE_INT ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6428:1: ( (kw= '-' )? this_INT_1= RULE_INT ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6428:2: (kw= '-' )? this_INT_1= RULE_INT + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6428:2: (kw= '-' )? + int alt143=2; + int LA143_0 = input.LA(1); + + if ( (LA143_0==108) ) { + alt143=1; + } + switch (alt143) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6429:2: kw= '-' + { + kw=(Token)match(input,108,FollowSets000.FOLLOW_108_in_ruleEBigInteger13629); + + current.merge(kw); + newLeafNode(kw, grammarAccess.getEBigIntegerAccess().getHyphenMinusKeyword_0()); + + + } + break; + + } + + this_INT_1=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleEBigInteger13646); + + current.merge(this_INT_1); + + + newLeafNode(this_INT_1, grammarAccess.getEBigIntegerAccess().getINTTerminalRuleCall_1()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleEBigInteger" + + + // $ANTLR start "entryRuleResourceDemandSpecification" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6449:1: entryRuleResourceDemandSpecification returns [EObject current=null] : iv_ruleResourceDemandSpecification= ruleResourceDemandSpecification EOF ; + public final EObject entryRuleResourceDemandSpecification() throws RecognitionException { + EObject current = null; + + EObject iv_ruleResourceDemandSpecification = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6450:2: (iv_ruleResourceDemandSpecification= ruleResourceDemandSpecification EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6451:2: iv_ruleResourceDemandSpecification= ruleResourceDemandSpecification EOF + { + newCompositeNode(grammarAccess.getResourceDemandSpecificationRule()); + pushFollow(FollowSets000.FOLLOW_ruleResourceDemandSpecification_in_entryRuleResourceDemandSpecification13691); + iv_ruleResourceDemandSpecification=ruleResourceDemandSpecification(); + + state._fsp--; + + current =iv_ruleResourceDemandSpecification; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleResourceDemandSpecification13701); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleResourceDemandSpecification" + + + // $ANTLR start "ruleResourceDemandSpecification" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6458:1: ruleResourceDemandSpecification returns [EObject current=null] : (otherlv_0= 'ResourceDemandSpecification' otherlv_1= '{' otherlv_2= 'processingResourceType' ( ( ruleEString ) ) otherlv_4= '}' ) ; + public final EObject ruleResourceDemandSpecification() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6461:28: ( (otherlv_0= 'ResourceDemandSpecification' otherlv_1= '{' otherlv_2= 'processingResourceType' ( ( ruleEString ) ) otherlv_4= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6462:1: (otherlv_0= 'ResourceDemandSpecification' otherlv_1= '{' otherlv_2= 'processingResourceType' ( ( ruleEString ) ) otherlv_4= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6462:1: (otherlv_0= 'ResourceDemandSpecification' otherlv_1= '{' otherlv_2= 'processingResourceType' ( ( ruleEString ) ) otherlv_4= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6462:3: otherlv_0= 'ResourceDemandSpecification' otherlv_1= '{' otherlv_2= 'processingResourceType' ( ( ruleEString ) ) otherlv_4= '}' + { + otherlv_0=(Token)match(input,109,FollowSets000.FOLLOW_109_in_ruleResourceDemandSpecification13738); + + newLeafNode(otherlv_0, grammarAccess.getResourceDemandSpecificationAccess().getResourceDemandSpecificationKeyword_0()); + + otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleResourceDemandSpecification13750); + + newLeafNode(otherlv_1, grammarAccess.getResourceDemandSpecificationAccess().getLeftCurlyBracketKeyword_1()); + + otherlv_2=(Token)match(input,110,FollowSets000.FOLLOW_110_in_ruleResourceDemandSpecification13762); + + newLeafNode(otherlv_2, grammarAccess.getResourceDemandSpecificationAccess().getProcessingResourceTypeKeyword_2()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6474:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6475:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6475:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6476:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getResourceDemandSpecificationRule()); + } + + + newCompositeNode(grammarAccess.getResourceDemandSpecificationAccess().getProcessingResourceTypeProcessingResourceTypeCrossReference_3_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleResourceDemandSpecification13785); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_4=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleResourceDemandSpecification13797); + + newLeafNode(otherlv_4, grammarAccess.getResourceDemandSpecificationAccess().getRightCurlyBracketKeyword_4()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleResourceDemandSpecification" + + + // $ANTLR start "entryRuleProcessingResourceType_Impl" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6501:1: entryRuleProcessingResourceType_Impl returns [EObject current=null] : iv_ruleProcessingResourceType_Impl= ruleProcessingResourceType_Impl EOF ; + public final EObject entryRuleProcessingResourceType_Impl() throws RecognitionException { + EObject current = null; + + EObject iv_ruleProcessingResourceType_Impl = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6502:2: (iv_ruleProcessingResourceType_Impl= ruleProcessingResourceType_Impl EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6503:2: iv_ruleProcessingResourceType_Impl= ruleProcessingResourceType_Impl EOF + { + newCompositeNode(grammarAccess.getProcessingResourceType_ImplRule()); + pushFollow(FollowSets000.FOLLOW_ruleProcessingResourceType_Impl_in_entryRuleProcessingResourceType_Impl13833); + iv_ruleProcessingResourceType_Impl=ruleProcessingResourceType_Impl(); + + state._fsp--; + + current =iv_ruleProcessingResourceType_Impl; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleProcessingResourceType_Impl13843); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleProcessingResourceType_Impl" + + + // $ANTLR start "ruleProcessingResourceType_Impl" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6510:1: ruleProcessingResourceType_Impl returns [EObject current=null] : (otherlv_0= 'ProcessingResourceType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= '}' ) ; + public final EObject ruleProcessingResourceType_Impl() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_5=null; + AntlrDatatypeRuleToken lv_id_1_0 = null; + + AntlrDatatypeRuleToken lv_name_4_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6513:28: ( (otherlv_0= 'ProcessingResourceType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6514:1: (otherlv_0= 'ProcessingResourceType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6514:1: (otherlv_0= 'ProcessingResourceType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6514:3: otherlv_0= 'ProcessingResourceType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= '}' + { + otherlv_0=(Token)match(input,111,FollowSets000.FOLLOW_111_in_ruleProcessingResourceType_Impl13880); + + newLeafNode(otherlv_0, grammarAccess.getProcessingResourceType_ImplAccess().getProcessingResourceTypeKeyword_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6518:1: ( (lv_id_1_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6519:1: (lv_id_1_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6519:1: (lv_id_1_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6520:3: lv_id_1_0= ruleEString + { + + newCompositeNode(grammarAccess.getProcessingResourceType_ImplAccess().getIdEStringParserRuleCall_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleProcessingResourceType_Impl13901); + lv_id_1_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getProcessingResourceType_ImplRule()); + } + set( + current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleProcessingResourceType_Impl13913); + + newLeafNode(otherlv_2, grammarAccess.getProcessingResourceType_ImplAccess().getLeftCurlyBracketKeyword_2()); + + otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleProcessingResourceType_Impl13925); + + newLeafNode(otherlv_3, grammarAccess.getProcessingResourceType_ImplAccess().getNameKeyword_3()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6544:1: ( (lv_name_4_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6545:1: (lv_name_4_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6545:1: (lv_name_4_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6546:3: lv_name_4_0= ruleEString + { + + newCompositeNode(grammarAccess.getProcessingResourceType_ImplAccess().getNameEStringParserRuleCall_4_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleProcessingResourceType_Impl13946); + lv_name_4_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getProcessingResourceType_ImplRule()); + } + set( + current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_5=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleProcessingResourceType_Impl13958); + + newLeafNode(otherlv_5, grammarAccess.getProcessingResourceType_ImplAccess().getRightCurlyBracketKeyword_5()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleProcessingResourceType_Impl" + + + // $ANTLR start "entryRuleCommunicationLinkResourceType" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6574:1: entryRuleCommunicationLinkResourceType returns [EObject current=null] : iv_ruleCommunicationLinkResourceType= ruleCommunicationLinkResourceType EOF ; + public final EObject entryRuleCommunicationLinkResourceType() throws RecognitionException { + EObject current = null; + + EObject iv_ruleCommunicationLinkResourceType = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6575:2: (iv_ruleCommunicationLinkResourceType= ruleCommunicationLinkResourceType EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6576:2: iv_ruleCommunicationLinkResourceType= ruleCommunicationLinkResourceType EOF + { + newCompositeNode(grammarAccess.getCommunicationLinkResourceTypeRule()); + pushFollow(FollowSets000.FOLLOW_ruleCommunicationLinkResourceType_in_entryRuleCommunicationLinkResourceType13994); + iv_ruleCommunicationLinkResourceType=ruleCommunicationLinkResourceType(); + + state._fsp--; + + current =iv_ruleCommunicationLinkResourceType; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCommunicationLinkResourceType14004); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleCommunicationLinkResourceType" + + + // $ANTLR start "ruleCommunicationLinkResourceType" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6583:1: ruleCommunicationLinkResourceType returns [EObject current=null] : (otherlv_0= 'CommunicationLinkResourceType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= '}' ) ; + public final EObject ruleCommunicationLinkResourceType() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_5=null; + AntlrDatatypeRuleToken lv_id_1_0 = null; + + AntlrDatatypeRuleToken lv_name_4_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6586:28: ( (otherlv_0= 'CommunicationLinkResourceType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6587:1: (otherlv_0= 'CommunicationLinkResourceType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6587:1: (otherlv_0= 'CommunicationLinkResourceType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6587:3: otherlv_0= 'CommunicationLinkResourceType' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= '}' + { + otherlv_0=(Token)match(input,112,FollowSets000.FOLLOW_112_in_ruleCommunicationLinkResourceType14041); + + newLeafNode(otherlv_0, grammarAccess.getCommunicationLinkResourceTypeAccess().getCommunicationLinkResourceTypeKeyword_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6591:1: ( (lv_id_1_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6592:1: (lv_id_1_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6592:1: (lv_id_1_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6593:3: lv_id_1_0= ruleEString + { + + newCompositeNode(grammarAccess.getCommunicationLinkResourceTypeAccess().getIdEStringParserRuleCall_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCommunicationLinkResourceType14062); + lv_id_1_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCommunicationLinkResourceTypeRule()); + } + set( + current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCommunicationLinkResourceType14074); + + newLeafNode(otherlv_2, grammarAccess.getCommunicationLinkResourceTypeAccess().getLeftCurlyBracketKeyword_2()); + + otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleCommunicationLinkResourceType14086); + + newLeafNode(otherlv_3, grammarAccess.getCommunicationLinkResourceTypeAccess().getNameKeyword_3()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6617:1: ( (lv_name_4_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6618:1: (lv_name_4_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6618:1: (lv_name_4_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6619:3: lv_name_4_0= ruleEString + { + + newCompositeNode(grammarAccess.getCommunicationLinkResourceTypeAccess().getNameEStringParserRuleCall_4_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCommunicationLinkResourceType14107); + lv_name_4_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCommunicationLinkResourceTypeRule()); + } + set( + current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_5=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCommunicationLinkResourceType14119); + + newLeafNode(otherlv_5, grammarAccess.getCommunicationLinkResourceTypeAccess().getRightCurlyBracketKeyword_5()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleCommunicationLinkResourceType" + + + // $ANTLR start "entryRuleBranchTransition" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6649:1: entryRuleBranchTransition returns [EObject current=null] : iv_ruleBranchTransition= ruleBranchTransition EOF ; + public final EObject entryRuleBranchTransition() throws RecognitionException { + EObject current = null; + + EObject iv_ruleBranchTransition = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6650:2: (iv_ruleBranchTransition= ruleBranchTransition EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6651:2: iv_ruleBranchTransition= ruleBranchTransition EOF + { + newCompositeNode(grammarAccess.getBranchTransitionRule()); + pushFollow(FollowSets000.FOLLOW_ruleBranchTransition_in_entryRuleBranchTransition14157); + iv_ruleBranchTransition=ruleBranchTransition(); + + state._fsp--; + + current =iv_ruleBranchTransition; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBranchTransition14167); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleBranchTransition" + + + // $ANTLR start "ruleBranchTransition" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6658:1: ruleBranchTransition returns [EObject current=null] : (otherlv_0= 'BranchTransition' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'branchBehavior' ( (lv_branchBehavior_6_0= ruleComponentInternalBehavior ) ) otherlv_7= '}' ) ; + public final EObject ruleBranchTransition() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + AntlrDatatypeRuleToken lv_id_1_0 = null; + + AntlrDatatypeRuleToken lv_name_4_0 = null; + + EObject lv_branchBehavior_6_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6661:28: ( (otherlv_0= 'BranchTransition' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'branchBehavior' ( (lv_branchBehavior_6_0= ruleComponentInternalBehavior ) ) otherlv_7= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6662:1: (otherlv_0= 'BranchTransition' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'branchBehavior' ( (lv_branchBehavior_6_0= ruleComponentInternalBehavior ) ) otherlv_7= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6662:1: (otherlv_0= 'BranchTransition' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'branchBehavior' ( (lv_branchBehavior_6_0= ruleComponentInternalBehavior ) ) otherlv_7= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6662:3: otherlv_0= 'BranchTransition' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'branchBehavior' ( (lv_branchBehavior_6_0= ruleComponentInternalBehavior ) ) otherlv_7= '}' + { + otherlv_0=(Token)match(input,113,FollowSets000.FOLLOW_113_in_ruleBranchTransition14204); + + newLeafNode(otherlv_0, grammarAccess.getBranchTransitionAccess().getBranchTransitionKeyword_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6666:1: ( (lv_id_1_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6667:1: (lv_id_1_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6667:1: (lv_id_1_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6668:3: lv_id_1_0= ruleEString + { + + newCompositeNode(grammarAccess.getBranchTransitionAccess().getIdEStringParserRuleCall_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBranchTransition14225); + lv_id_1_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBranchTransitionRule()); + } + set( + current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBranchTransition14237); + + newLeafNode(otherlv_2, grammarAccess.getBranchTransitionAccess().getLeftCurlyBracketKeyword_2()); + + otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleBranchTransition14249); + + newLeafNode(otherlv_3, grammarAccess.getBranchTransitionAccess().getNameKeyword_3()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6692:1: ( (lv_name_4_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6693:1: (lv_name_4_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6693:1: (lv_name_4_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6694:3: lv_name_4_0= ruleEString + { + + newCompositeNode(grammarAccess.getBranchTransitionAccess().getNameEStringParserRuleCall_4_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBranchTransition14270); + lv_name_4_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBranchTransitionRule()); + } + set( + current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_5=(Token)match(input,114,FollowSets000.FOLLOW_114_in_ruleBranchTransition14282); + + newLeafNode(otherlv_5, grammarAccess.getBranchTransitionAccess().getBranchBehaviorKeyword_5()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6714:1: ( (lv_branchBehavior_6_0= ruleComponentInternalBehavior ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6715:1: (lv_branchBehavior_6_0= ruleComponentInternalBehavior ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6715:1: (lv_branchBehavior_6_0= ruleComponentInternalBehavior ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6716:3: lv_branchBehavior_6_0= ruleComponentInternalBehavior + { + + newCompositeNode(grammarAccess.getBranchTransitionAccess().getBranchBehaviorComponentInternalBehaviorParserRuleCall_6_0()); + + pushFollow(FollowSets000.FOLLOW_ruleComponentInternalBehavior_in_ruleBranchTransition14303); + lv_branchBehavior_6_0=ruleComponentInternalBehavior(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBranchTransitionRule()); + } + set( + current, + "branchBehavior", + lv_branchBehavior_6_0, + "ComponentInternalBehavior"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_7=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBranchTransition14315); + + newLeafNode(otherlv_7, grammarAccess.getBranchTransitionAccess().getRightCurlyBracketKeyword_7()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleBranchTransition" + + + // $ANTLR start "entryRuleBranchProbabilities" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6744:1: entryRuleBranchProbabilities returns [EObject current=null] : iv_ruleBranchProbabilities= ruleBranchProbabilities EOF ; + public final EObject entryRuleBranchProbabilities() throws RecognitionException { + EObject current = null; + + EObject iv_ruleBranchProbabilities = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6745:2: (iv_ruleBranchProbabilities= ruleBranchProbabilities EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6746:2: iv_ruleBranchProbabilities= ruleBranchProbabilities EOF + { + newCompositeNode(grammarAccess.getBranchProbabilitiesRule()); + pushFollow(FollowSets000.FOLLOW_ruleBranchProbabilities_in_entryRuleBranchProbabilities14351); + iv_ruleBranchProbabilities=ruleBranchProbabilities(); + + state._fsp--; + + current =iv_ruleBranchProbabilities; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBranchProbabilities14361); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleBranchProbabilities" + + + // $ANTLR start "ruleBranchProbabilities" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6753:1: ruleBranchProbabilities returns [EObject current=null] : (otherlv_0= 'BranchProbabilities' otherlv_1= '{' otherlv_2= 'probabilities' ( ( ruleEString ) ) otherlv_4= '}' ) ; + public final EObject ruleBranchProbabilities() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6756:28: ( (otherlv_0= 'BranchProbabilities' otherlv_1= '{' otherlv_2= 'probabilities' ( ( ruleEString ) ) otherlv_4= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6757:1: (otherlv_0= 'BranchProbabilities' otherlv_1= '{' otherlv_2= 'probabilities' ( ( ruleEString ) ) otherlv_4= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6757:1: (otherlv_0= 'BranchProbabilities' otherlv_1= '{' otherlv_2= 'probabilities' ( ( ruleEString ) ) otherlv_4= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6757:3: otherlv_0= 'BranchProbabilities' otherlv_1= '{' otherlv_2= 'probabilities' ( ( ruleEString ) ) otherlv_4= '}' + { + otherlv_0=(Token)match(input,115,FollowSets000.FOLLOW_115_in_ruleBranchProbabilities14398); + + newLeafNode(otherlv_0, grammarAccess.getBranchProbabilitiesAccess().getBranchProbabilitiesKeyword_0()); + + otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBranchProbabilities14410); + + newLeafNode(otherlv_1, grammarAccess.getBranchProbabilitiesAccess().getLeftCurlyBracketKeyword_1()); + + otherlv_2=(Token)match(input,116,FollowSets000.FOLLOW_116_in_ruleBranchProbabilities14422); + + newLeafNode(otherlv_2, grammarAccess.getBranchProbabilitiesAccess().getProbabilitiesKeyword_2()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6769:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6770:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6770:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6771:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getBranchProbabilitiesRule()); + } + + + newCompositeNode(grammarAccess.getBranchProbabilitiesAccess().getProbabilitiesRandomVariableCrossReference_3_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleBranchProbabilities14445); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_4=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBranchProbabilities14457); + + newLeafNode(otherlv_4, grammarAccess.getBranchProbabilitiesAccess().getRightCurlyBracketKeyword_4()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleBranchProbabilities" + + + // $ANTLR start "entryRuleProbabilityMassFunction" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6798:1: entryRuleProbabilityMassFunction returns [EObject current=null] : iv_ruleProbabilityMassFunction= ruleProbabilityMassFunction EOF ; + public final EObject entryRuleProbabilityMassFunction() throws RecognitionException { + EObject current = null; + + EObject iv_ruleProbabilityMassFunction = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6799:2: (iv_ruleProbabilityMassFunction= ruleProbabilityMassFunction EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6800:2: iv_ruleProbabilityMassFunction= ruleProbabilityMassFunction EOF + { + newCompositeNode(grammarAccess.getProbabilityMassFunctionRule()); + pushFollow(FollowSets000.FOLLOW_ruleProbabilityMassFunction_in_entryRuleProbabilityMassFunction14495); + iv_ruleProbabilityMassFunction=ruleProbabilityMassFunction(); + + state._fsp--; + + current =iv_ruleProbabilityMassFunction; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleProbabilityMassFunction14505); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleProbabilityMassFunction" + + + // $ANTLR start "ruleProbabilityMassFunction" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6807:1: ruleProbabilityMassFunction returns [EObject current=null] : ( () otherlv_1= 'ProbabilityMassFunction' otherlv_2= '{' (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleSample ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ; + public final EObject ruleProbabilityMassFunction() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_8=null; + Token otherlv_9=null; + EObject lv_sample_5_0 = null; + + EObject lv_sample_7_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6810:28: ( ( () otherlv_1= 'ProbabilityMassFunction' otherlv_2= '{' (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleSample ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6811:1: ( () otherlv_1= 'ProbabilityMassFunction' otherlv_2= '{' (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleSample ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6811:1: ( () otherlv_1= 'ProbabilityMassFunction' otherlv_2= '{' (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleSample ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6811:2: () otherlv_1= 'ProbabilityMassFunction' otherlv_2= '{' (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleSample ) ) )* otherlv_8= '}' )? otherlv_9= '}' + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6811:2: () + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6812:5: + { + + current = forceCreateModelElement( + grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionAction_0(), + current); + + + } + + otherlv_1=(Token)match(input,117,FollowSets000.FOLLOW_117_in_ruleProbabilityMassFunction14551); + + newLeafNode(otherlv_1, grammarAccess.getProbabilityMassFunctionAccess().getProbabilityMassFunctionKeyword_1()); + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleProbabilityMassFunction14563); + + newLeafNode(otherlv_2, grammarAccess.getProbabilityMassFunctionAccess().getLeftCurlyBracketKeyword_2()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6825:1: (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleSample ) ) )* otherlv_8= '}' )? + int alt145=2; + int LA145_0 = input.LA(1); + + if ( (LA145_0==118) ) { + alt145=1; + } + switch (alt145) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6825:3: otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleSample ) ) )* otherlv_8= '}' + { + otherlv_3=(Token)match(input,118,FollowSets000.FOLLOW_118_in_ruleProbabilityMassFunction14576); + + newLeafNode(otherlv_3, grammarAccess.getProbabilityMassFunctionAccess().getSampleKeyword_3_0()); + + otherlv_4=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleProbabilityMassFunction14588); + + newLeafNode(otherlv_4, grammarAccess.getProbabilityMassFunctionAccess().getLeftCurlyBracketKeyword_3_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6833:1: ( (lv_sample_5_0= ruleSample ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6834:1: (lv_sample_5_0= ruleSample ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6834:1: (lv_sample_5_0= ruleSample ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6835:3: lv_sample_5_0= ruleSample + { + + newCompositeNode(grammarAccess.getProbabilityMassFunctionAccess().getSampleSampleParserRuleCall_3_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleSample_in_ruleProbabilityMassFunction14609); + lv_sample_5_0=ruleSample(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getProbabilityMassFunctionRule()); + } + add( + current, + "sample", + lv_sample_5_0, + "Sample"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6851:2: (otherlv_6= ',' ( (lv_sample_7_0= ruleSample ) ) )* + loop144: + do { + int alt144=2; + int LA144_0 = input.LA(1); + + if ( (LA144_0==15) ) { + alt144=1; + } + + + switch (alt144) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6851:4: otherlv_6= ',' ( (lv_sample_7_0= ruleSample ) ) + { + otherlv_6=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleProbabilityMassFunction14622); + + newLeafNode(otherlv_6, grammarAccess.getProbabilityMassFunctionAccess().getCommaKeyword_3_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6855:1: ( (lv_sample_7_0= ruleSample ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6856:1: (lv_sample_7_0= ruleSample ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6856:1: (lv_sample_7_0= ruleSample ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6857:3: lv_sample_7_0= ruleSample + { + + newCompositeNode(grammarAccess.getProbabilityMassFunctionAccess().getSampleSampleParserRuleCall_3_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleSample_in_ruleProbabilityMassFunction14643); + lv_sample_7_0=ruleSample(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getProbabilityMassFunctionRule()); + } + add( + current, + "sample", + lv_sample_7_0, + "Sample"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop144; + } + } while (true); + + otherlv_8=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleProbabilityMassFunction14657); + + newLeafNode(otherlv_8, grammarAccess.getProbabilityMassFunctionAccess().getRightCurlyBracketKeyword_3_4()); + + + } + break; + + } + + otherlv_9=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleProbabilityMassFunction14671); + + newLeafNode(otherlv_9, grammarAccess.getProbabilityMassFunctionAccess().getRightCurlyBracketKeyword_4()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleProbabilityMassFunction" + + + // $ANTLR start "entryRuleProbabilityDensityFunction_Impl" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6889:1: entryRuleProbabilityDensityFunction_Impl returns [EObject current=null] : iv_ruleProbabilityDensityFunction_Impl= ruleProbabilityDensityFunction_Impl EOF ; + public final EObject entryRuleProbabilityDensityFunction_Impl() throws RecognitionException { + EObject current = null; + + EObject iv_ruleProbabilityDensityFunction_Impl = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6890:2: (iv_ruleProbabilityDensityFunction_Impl= ruleProbabilityDensityFunction_Impl EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6891:2: iv_ruleProbabilityDensityFunction_Impl= ruleProbabilityDensityFunction_Impl EOF + { + newCompositeNode(grammarAccess.getProbabilityDensityFunction_ImplRule()); + pushFollow(FollowSets000.FOLLOW_ruleProbabilityDensityFunction_Impl_in_entryRuleProbabilityDensityFunction_Impl14707); + iv_ruleProbabilityDensityFunction_Impl=ruleProbabilityDensityFunction_Impl(); + + state._fsp--; + + current =iv_ruleProbabilityDensityFunction_Impl; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleProbabilityDensityFunction_Impl14717); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleProbabilityDensityFunction_Impl" + + + // $ANTLR start "ruleProbabilityDensityFunction_Impl" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6898:1: ruleProbabilityDensityFunction_Impl returns [EObject current=null] : ( () otherlv_1= 'ProbabilityDensityFunction' ) ; + public final EObject ruleProbabilityDensityFunction_Impl() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6901:28: ( ( () otherlv_1= 'ProbabilityDensityFunction' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6902:1: ( () otherlv_1= 'ProbabilityDensityFunction' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6902:1: ( () otherlv_1= 'ProbabilityDensityFunction' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6902:2: () otherlv_1= 'ProbabilityDensityFunction' + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6902:2: () + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6903:5: + { + + current = forceCreateModelElement( + grammarAccess.getProbabilityDensityFunction_ImplAccess().getProbabilityDensityFunctionAction_0(), + current); + + + } + + otherlv_1=(Token)match(input,119,FollowSets000.FOLLOW_119_in_ruleProbabilityDensityFunction_Impl14763); + + newLeafNode(otherlv_1, grammarAccess.getProbabilityDensityFunction_ImplAccess().getProbabilityDensityFunctionKeyword_1()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleProbabilityDensityFunction_Impl" + + + // $ANTLR start "entryRuleBoxedPDF" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6920:1: entryRuleBoxedPDF returns [EObject current=null] : iv_ruleBoxedPDF= ruleBoxedPDF EOF ; + public final EObject entryRuleBoxedPDF() throws RecognitionException { + EObject current = null; + + EObject iv_ruleBoxedPDF = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6921:2: (iv_ruleBoxedPDF= ruleBoxedPDF EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6922:2: iv_ruleBoxedPDF= ruleBoxedPDF EOF + { + newCompositeNode(grammarAccess.getBoxedPDFRule()); + pushFollow(FollowSets000.FOLLOW_ruleBoxedPDF_in_entryRuleBoxedPDF14799); + iv_ruleBoxedPDF=ruleBoxedPDF(); + + state._fsp--; + + current =iv_ruleBoxedPDF; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBoxedPDF14809); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleBoxedPDF" + + + // $ANTLR start "ruleBoxedPDF" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6929:1: ruleBoxedPDF returns [EObject current=null] : ( () otherlv_1= 'BoxedPDF' otherlv_2= '{' (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleContinuousSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleContinuousSample ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ; + public final EObject ruleBoxedPDF() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_8=null; + Token otherlv_9=null; + EObject lv_sample_5_0 = null; + + EObject lv_sample_7_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6932:28: ( ( () otherlv_1= 'BoxedPDF' otherlv_2= '{' (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleContinuousSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleContinuousSample ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6933:1: ( () otherlv_1= 'BoxedPDF' otherlv_2= '{' (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleContinuousSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleContinuousSample ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6933:1: ( () otherlv_1= 'BoxedPDF' otherlv_2= '{' (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleContinuousSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleContinuousSample ) ) )* otherlv_8= '}' )? otherlv_9= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6933:2: () otherlv_1= 'BoxedPDF' otherlv_2= '{' (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleContinuousSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleContinuousSample ) ) )* otherlv_8= '}' )? otherlv_9= '}' + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6933:2: () + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6934:5: + { + + current = forceCreateModelElement( + grammarAccess.getBoxedPDFAccess().getBoxedPDFAction_0(), + current); + + + } + + otherlv_1=(Token)match(input,120,FollowSets000.FOLLOW_120_in_ruleBoxedPDF14855); + + newLeafNode(otherlv_1, grammarAccess.getBoxedPDFAccess().getBoxedPDFKeyword_1()); + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBoxedPDF14867); + + newLeafNode(otherlv_2, grammarAccess.getBoxedPDFAccess().getLeftCurlyBracketKeyword_2()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6947:1: (otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleContinuousSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleContinuousSample ) ) )* otherlv_8= '}' )? + int alt147=2; + int LA147_0 = input.LA(1); + + if ( (LA147_0==118) ) { + alt147=1; + } + switch (alt147) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6947:3: otherlv_3= 'sample' otherlv_4= '{' ( (lv_sample_5_0= ruleContinuousSample ) ) (otherlv_6= ',' ( (lv_sample_7_0= ruleContinuousSample ) ) )* otherlv_8= '}' + { + otherlv_3=(Token)match(input,118,FollowSets000.FOLLOW_118_in_ruleBoxedPDF14880); + + newLeafNode(otherlv_3, grammarAccess.getBoxedPDFAccess().getSampleKeyword_3_0()); + + otherlv_4=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBoxedPDF14892); + + newLeafNode(otherlv_4, grammarAccess.getBoxedPDFAccess().getLeftCurlyBracketKeyword_3_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6955:1: ( (lv_sample_5_0= ruleContinuousSample ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6956:1: (lv_sample_5_0= ruleContinuousSample ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6956:1: (lv_sample_5_0= ruleContinuousSample ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6957:3: lv_sample_5_0= ruleContinuousSample + { + + newCompositeNode(grammarAccess.getBoxedPDFAccess().getSampleContinuousSampleParserRuleCall_3_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleContinuousSample_in_ruleBoxedPDF14913); + lv_sample_5_0=ruleContinuousSample(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBoxedPDFRule()); + } + add( + current, + "sample", + lv_sample_5_0, + "ContinuousSample"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6973:2: (otherlv_6= ',' ( (lv_sample_7_0= ruleContinuousSample ) ) )* + loop146: + do { + int alt146=2; + int LA146_0 = input.LA(1); + + if ( (LA146_0==15) ) { + alt146=1; + } + + + switch (alt146) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6973:4: otherlv_6= ',' ( (lv_sample_7_0= ruleContinuousSample ) ) + { + otherlv_6=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleBoxedPDF14926); + + newLeafNode(otherlv_6, grammarAccess.getBoxedPDFAccess().getCommaKeyword_3_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6977:1: ( (lv_sample_7_0= ruleContinuousSample ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6978:1: (lv_sample_7_0= ruleContinuousSample ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6978:1: (lv_sample_7_0= ruleContinuousSample ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:6979:3: lv_sample_7_0= ruleContinuousSample + { + + newCompositeNode(grammarAccess.getBoxedPDFAccess().getSampleContinuousSampleParserRuleCall_3_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleContinuousSample_in_ruleBoxedPDF14947); + lv_sample_7_0=ruleContinuousSample(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getBoxedPDFRule()); + } + add( + current, + "sample", + lv_sample_7_0, + "ContinuousSample"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop146; + } + } while (true); + + otherlv_8=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBoxedPDF14961); + + newLeafNode(otherlv_8, grammarAccess.getBoxedPDFAccess().getRightCurlyBracketKeyword_3_4()); + + + } + break; + + } + + otherlv_9=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleBoxedPDF14975); + + newLeafNode(otherlv_9, grammarAccess.getBoxedPDFAccess().getRightCurlyBracketKeyword_4()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleBoxedPDF" + + + // $ANTLR start "entryRuleContinuousPDF_Impl" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7011:1: entryRuleContinuousPDF_Impl returns [EObject current=null] : iv_ruleContinuousPDF_Impl= ruleContinuousPDF_Impl EOF ; + public final EObject entryRuleContinuousPDF_Impl() throws RecognitionException { + EObject current = null; + + EObject iv_ruleContinuousPDF_Impl = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7012:2: (iv_ruleContinuousPDF_Impl= ruleContinuousPDF_Impl EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7013:2: iv_ruleContinuousPDF_Impl= ruleContinuousPDF_Impl EOF + { + newCompositeNode(grammarAccess.getContinuousPDF_ImplRule()); + pushFollow(FollowSets000.FOLLOW_ruleContinuousPDF_Impl_in_entryRuleContinuousPDF_Impl15011); + iv_ruleContinuousPDF_Impl=ruleContinuousPDF_Impl(); + + state._fsp--; + + current =iv_ruleContinuousPDF_Impl; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleContinuousPDF_Impl15021); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleContinuousPDF_Impl" + + + // $ANTLR start "ruleContinuousPDF_Impl" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7020:1: ruleContinuousPDF_Impl returns [EObject current=null] : ( () otherlv_1= 'ContinuousPDF' ) ; + public final EObject ruleContinuousPDF_Impl() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7023:28: ( ( () otherlv_1= 'ContinuousPDF' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7024:1: ( () otherlv_1= 'ContinuousPDF' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7024:1: ( () otherlv_1= 'ContinuousPDF' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7024:2: () otherlv_1= 'ContinuousPDF' + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7024:2: () + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7025:5: + { + + current = forceCreateModelElement( + grammarAccess.getContinuousPDF_ImplAccess().getContinuousPDFAction_0(), + current); + + + } + + otherlv_1=(Token)match(input,121,FollowSets000.FOLLOW_121_in_ruleContinuousPDF_Impl15067); + + newLeafNode(otherlv_1, grammarAccess.getContinuousPDF_ImplAccess().getContinuousPDFKeyword_1()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleContinuousPDF_Impl" + + + // $ANTLR start "entryRuleNormalDistribution" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7042:1: entryRuleNormalDistribution returns [EObject current=null] : iv_ruleNormalDistribution= ruleNormalDistribution EOF ; + public final EObject entryRuleNormalDistribution() throws RecognitionException { + EObject current = null; + + EObject iv_ruleNormalDistribution = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7043:2: (iv_ruleNormalDistribution= ruleNormalDistribution EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7044:2: iv_ruleNormalDistribution= ruleNormalDistribution EOF + { + newCompositeNode(grammarAccess.getNormalDistributionRule()); + pushFollow(FollowSets000.FOLLOW_ruleNormalDistribution_in_entryRuleNormalDistribution15103); + iv_ruleNormalDistribution=ruleNormalDistribution(); + + state._fsp--; + + current =iv_ruleNormalDistribution; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNormalDistribution15113); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleNormalDistribution" + + + // $ANTLR start "ruleNormalDistribution" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7051:1: ruleNormalDistribution returns [EObject current=null] : (otherlv_0= 'NormalDistribution' otherlv_1= '{' otherlv_2= 'mu' ( (lv_mu_3_0= ruleEBigDecimal ) ) otherlv_4= 'sigma' ( (lv_sigma_5_0= ruleEBigDecimal ) ) otherlv_6= '}' ) ; + public final EObject ruleNormalDistribution() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + AntlrDatatypeRuleToken lv_mu_3_0 = null; + + AntlrDatatypeRuleToken lv_sigma_5_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7054:28: ( (otherlv_0= 'NormalDistribution' otherlv_1= '{' otherlv_2= 'mu' ( (lv_mu_3_0= ruleEBigDecimal ) ) otherlv_4= 'sigma' ( (lv_sigma_5_0= ruleEBigDecimal ) ) otherlv_6= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7055:1: (otherlv_0= 'NormalDistribution' otherlv_1= '{' otherlv_2= 'mu' ( (lv_mu_3_0= ruleEBigDecimal ) ) otherlv_4= 'sigma' ( (lv_sigma_5_0= ruleEBigDecimal ) ) otherlv_6= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7055:1: (otherlv_0= 'NormalDistribution' otherlv_1= '{' otherlv_2= 'mu' ( (lv_mu_3_0= ruleEBigDecimal ) ) otherlv_4= 'sigma' ( (lv_sigma_5_0= ruleEBigDecimal ) ) otherlv_6= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7055:3: otherlv_0= 'NormalDistribution' otherlv_1= '{' otherlv_2= 'mu' ( (lv_mu_3_0= ruleEBigDecimal ) ) otherlv_4= 'sigma' ( (lv_sigma_5_0= ruleEBigDecimal ) ) otherlv_6= '}' + { + otherlv_0=(Token)match(input,122,FollowSets000.FOLLOW_122_in_ruleNormalDistribution15150); + + newLeafNode(otherlv_0, grammarAccess.getNormalDistributionAccess().getNormalDistributionKeyword_0()); + + otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleNormalDistribution15162); + + newLeafNode(otherlv_1, grammarAccess.getNormalDistributionAccess().getLeftCurlyBracketKeyword_1()); + + otherlv_2=(Token)match(input,123,FollowSets000.FOLLOW_123_in_ruleNormalDistribution15174); + + newLeafNode(otherlv_2, grammarAccess.getNormalDistributionAccess().getMuKeyword_2()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7067:1: ( (lv_mu_3_0= ruleEBigDecimal ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7068:1: (lv_mu_3_0= ruleEBigDecimal ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7068:1: (lv_mu_3_0= ruleEBigDecimal ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7069:3: lv_mu_3_0= ruleEBigDecimal + { + + newCompositeNode(grammarAccess.getNormalDistributionAccess().getMuEBigDecimalParserRuleCall_3_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEBigDecimal_in_ruleNormalDistribution15195); + lv_mu_3_0=ruleEBigDecimal(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getNormalDistributionRule()); + } + set( + current, + "mu", + lv_mu_3_0, + "EBigDecimal"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_4=(Token)match(input,124,FollowSets000.FOLLOW_124_in_ruleNormalDistribution15207); + + newLeafNode(otherlv_4, grammarAccess.getNormalDistributionAccess().getSigmaKeyword_4()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7089:1: ( (lv_sigma_5_0= ruleEBigDecimal ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7090:1: (lv_sigma_5_0= ruleEBigDecimal ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7090:1: (lv_sigma_5_0= ruleEBigDecimal ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7091:3: lv_sigma_5_0= ruleEBigDecimal + { + + newCompositeNode(grammarAccess.getNormalDistributionAccess().getSigmaEBigDecimalParserRuleCall_5_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEBigDecimal_in_ruleNormalDistribution15228); + lv_sigma_5_0=ruleEBigDecimal(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getNormalDistributionRule()); + } + set( + current, + "sigma", + lv_sigma_5_0, + "EBigDecimal"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_6=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleNormalDistribution15240); + + newLeafNode(otherlv_6, grammarAccess.getNormalDistributionAccess().getRightCurlyBracketKeyword_6()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleNormalDistribution" + + + // $ANTLR start "entryRuleExponentialDistribution" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7119:1: entryRuleExponentialDistribution returns [EObject current=null] : iv_ruleExponentialDistribution= ruleExponentialDistribution EOF ; + public final EObject entryRuleExponentialDistribution() throws RecognitionException { + EObject current = null; + + EObject iv_ruleExponentialDistribution = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7120:2: (iv_ruleExponentialDistribution= ruleExponentialDistribution EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7121:2: iv_ruleExponentialDistribution= ruleExponentialDistribution EOF + { + newCompositeNode(grammarAccess.getExponentialDistributionRule()); + pushFollow(FollowSets000.FOLLOW_ruleExponentialDistribution_in_entryRuleExponentialDistribution15276); + iv_ruleExponentialDistribution=ruleExponentialDistribution(); + + state._fsp--; + + current =iv_ruleExponentialDistribution; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExponentialDistribution15286); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleExponentialDistribution" + + + // $ANTLR start "ruleExponentialDistribution" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7128:1: ruleExponentialDistribution returns [EObject current=null] : (otherlv_0= 'ExponentialDistribution' otherlv_1= '{' otherlv_2= 'rate' ( (lv_rate_3_0= ruleEBigDecimal ) ) otherlv_4= '}' ) ; + public final EObject ruleExponentialDistribution() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + AntlrDatatypeRuleToken lv_rate_3_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7131:28: ( (otherlv_0= 'ExponentialDistribution' otherlv_1= '{' otherlv_2= 'rate' ( (lv_rate_3_0= ruleEBigDecimal ) ) otherlv_4= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7132:1: (otherlv_0= 'ExponentialDistribution' otherlv_1= '{' otherlv_2= 'rate' ( (lv_rate_3_0= ruleEBigDecimal ) ) otherlv_4= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7132:1: (otherlv_0= 'ExponentialDistribution' otherlv_1= '{' otherlv_2= 'rate' ( (lv_rate_3_0= ruleEBigDecimal ) ) otherlv_4= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7132:3: otherlv_0= 'ExponentialDistribution' otherlv_1= '{' otherlv_2= 'rate' ( (lv_rate_3_0= ruleEBigDecimal ) ) otherlv_4= '}' + { + otherlv_0=(Token)match(input,125,FollowSets000.FOLLOW_125_in_ruleExponentialDistribution15323); + + newLeafNode(otherlv_0, grammarAccess.getExponentialDistributionAccess().getExponentialDistributionKeyword_0()); + + otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleExponentialDistribution15335); + + newLeafNode(otherlv_1, grammarAccess.getExponentialDistributionAccess().getLeftCurlyBracketKeyword_1()); + + otherlv_2=(Token)match(input,126,FollowSets000.FOLLOW_126_in_ruleExponentialDistribution15347); + + newLeafNode(otherlv_2, grammarAccess.getExponentialDistributionAccess().getRateKeyword_2()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7144:1: ( (lv_rate_3_0= ruleEBigDecimal ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7145:1: (lv_rate_3_0= ruleEBigDecimal ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7145:1: (lv_rate_3_0= ruleEBigDecimal ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7146:3: lv_rate_3_0= ruleEBigDecimal + { + + newCompositeNode(grammarAccess.getExponentialDistributionAccess().getRateEBigDecimalParserRuleCall_3_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEBigDecimal_in_ruleExponentialDistribution15368); + lv_rate_3_0=ruleEBigDecimal(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExponentialDistributionRule()); + } + set( + current, + "rate", + lv_rate_3_0, + "EBigDecimal"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_4=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleExponentialDistribution15380); + + newLeafNode(otherlv_4, grammarAccess.getExponentialDistributionAccess().getRightCurlyBracketKeyword_4()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleExponentialDistribution" + + + // $ANTLR start "entryRuleSample" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7174:1: entryRuleSample returns [EObject current=null] : iv_ruleSample= ruleSample EOF ; + public final EObject entryRuleSample() throws RecognitionException { + EObject current = null; + + EObject iv_ruleSample = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7175:2: (iv_ruleSample= ruleSample EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7176:2: iv_ruleSample= ruleSample EOF + { + newCompositeNode(grammarAccess.getSampleRule()); + pushFollow(FollowSets000.FOLLOW_ruleSample_in_entryRuleSample15416); + iv_ruleSample=ruleSample(); + + state._fsp--; + + current =iv_ruleSample; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSample15426); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleSample" + + + // $ANTLR start "ruleSample" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7183:1: ruleSample returns [EObject current=null] : (otherlv_0= 'Sample' otherlv_1= '{' otherlv_2= 'probability' ( (lv_probability_3_0= ruleEBigDecimal ) ) otherlv_4= 'value' ( ( ruleEString ) ) otherlv_6= '}' ) ; + public final EObject ruleSample() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + AntlrDatatypeRuleToken lv_probability_3_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7186:28: ( (otherlv_0= 'Sample' otherlv_1= '{' otherlv_2= 'probability' ( (lv_probability_3_0= ruleEBigDecimal ) ) otherlv_4= 'value' ( ( ruleEString ) ) otherlv_6= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7187:1: (otherlv_0= 'Sample' otherlv_1= '{' otherlv_2= 'probability' ( (lv_probability_3_0= ruleEBigDecimal ) ) otherlv_4= 'value' ( ( ruleEString ) ) otherlv_6= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7187:1: (otherlv_0= 'Sample' otherlv_1= '{' otherlv_2= 'probability' ( (lv_probability_3_0= ruleEBigDecimal ) ) otherlv_4= 'value' ( ( ruleEString ) ) otherlv_6= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7187:3: otherlv_0= 'Sample' otherlv_1= '{' otherlv_2= 'probability' ( (lv_probability_3_0= ruleEBigDecimal ) ) otherlv_4= 'value' ( ( ruleEString ) ) otherlv_6= '}' + { + otherlv_0=(Token)match(input,127,FollowSets000.FOLLOW_127_in_ruleSample15463); + + newLeafNode(otherlv_0, grammarAccess.getSampleAccess().getSampleKeyword_0()); + + otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSample15475); + + newLeafNode(otherlv_1, grammarAccess.getSampleAccess().getLeftCurlyBracketKeyword_1()); + + otherlv_2=(Token)match(input,128,FollowSets000.FOLLOW_128_in_ruleSample15487); + + newLeafNode(otherlv_2, grammarAccess.getSampleAccess().getProbabilityKeyword_2()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7199:1: ( (lv_probability_3_0= ruleEBigDecimal ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7200:1: (lv_probability_3_0= ruleEBigDecimal ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7200:1: (lv_probability_3_0= ruleEBigDecimal ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7201:3: lv_probability_3_0= ruleEBigDecimal + { + + newCompositeNode(grammarAccess.getSampleAccess().getProbabilityEBigDecimalParserRuleCall_3_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEBigDecimal_in_ruleSample15508); + lv_probability_3_0=ruleEBigDecimal(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getSampleRule()); + } + set( + current, + "probability", + lv_probability_3_0, + "EBigDecimal"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_4=(Token)match(input,129,FollowSets000.FOLLOW_129_in_ruleSample15520); + + newLeafNode(otherlv_4, grammarAccess.getSampleAccess().getValueKeyword_4()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7221:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7222:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7222:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7223:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getSampleRule()); + } + + + newCompositeNode(grammarAccess.getSampleAccess().getValueEObjectCrossReference_5_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSample15543); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_6=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleSample15555); + + newLeafNode(otherlv_6, grammarAccess.getSampleAccess().getRightCurlyBracketKeyword_6()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleSample" + + + // $ANTLR start "entryRuleEBigDecimal" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7250:1: entryRuleEBigDecimal returns [String current=null] : iv_ruleEBigDecimal= ruleEBigDecimal EOF ; + public final String entryRuleEBigDecimal() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleEBigDecimal = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7251:2: (iv_ruleEBigDecimal= ruleEBigDecimal EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7252:2: iv_ruleEBigDecimal= ruleEBigDecimal EOF + { + newCompositeNode(grammarAccess.getEBigDecimalRule()); + pushFollow(FollowSets000.FOLLOW_ruleEBigDecimal_in_entryRuleEBigDecimal15594); + iv_ruleEBigDecimal=ruleEBigDecimal(); + + state._fsp--; + + current =iv_ruleEBigDecimal.getText(); + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEBigDecimal15605); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleEBigDecimal" + + + // $ANTLR start "ruleEBigDecimal" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7259:1: ruleEBigDecimal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (this_INT_0= RULE_INT )? kw= '.' this_INT_2= RULE_INT ) ; + public final AntlrDatatypeRuleToken ruleEBigDecimal() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token this_INT_0=null; + Token kw=null; + Token this_INT_2=null; + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7262:28: ( ( (this_INT_0= RULE_INT )? kw= '.' this_INT_2= RULE_INT ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7263:1: ( (this_INT_0= RULE_INT )? kw= '.' this_INT_2= RULE_INT ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7263:1: ( (this_INT_0= RULE_INT )? kw= '.' this_INT_2= RULE_INT ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7263:2: (this_INT_0= RULE_INT )? kw= '.' this_INT_2= RULE_INT + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7263:2: (this_INT_0= RULE_INT )? + int alt148=2; + int LA148_0 = input.LA(1); + + if ( (LA148_0==RULE_INT) ) { + alt148=1; + } + switch (alt148) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7263:7: this_INT_0= RULE_INT + { + this_INT_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleEBigDecimal15646); + + current.merge(this_INT_0); + + + newLeafNode(this_INT_0, grammarAccess.getEBigDecimalAccess().getINTTerminalRuleCall_0()); + + + } + break; + + } + + kw=(Token)match(input,130,FollowSets000.FOLLOW_130_in_ruleEBigDecimal15666); + + current.merge(kw); + newLeafNode(kw, grammarAccess.getEBigDecimalAccess().getFullStopKeyword_1()); + + this_INT_2=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleEBigDecimal15681); + + current.merge(this_INT_2); + + + newLeafNode(this_INT_2, grammarAccess.getEBigDecimalAccess().getINTTerminalRuleCall_2()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleEBigDecimal" + + + // $ANTLR start "entryRuleContinuousSample" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7291:1: entryRuleContinuousSample returns [EObject current=null] : iv_ruleContinuousSample= ruleContinuousSample EOF ; + public final EObject entryRuleContinuousSample() throws RecognitionException { + EObject current = null; + + EObject iv_ruleContinuousSample = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7292:2: (iv_ruleContinuousSample= ruleContinuousSample EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7293:2: iv_ruleContinuousSample= ruleContinuousSample EOF + { + newCompositeNode(grammarAccess.getContinuousSampleRule()); + pushFollow(FollowSets000.FOLLOW_ruleContinuousSample_in_entryRuleContinuousSample15726); + iv_ruleContinuousSample=ruleContinuousSample(); + + state._fsp--; + + current =iv_ruleContinuousSample; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleContinuousSample15736); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleContinuousSample" + + + // $ANTLR start "ruleContinuousSample" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7300:1: ruleContinuousSample returns [EObject current=null] : (otherlv_0= 'ContinuousSample' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEBigDecimal ) ) otherlv_4= 'probability' ( (lv_probability_5_0= ruleEBigDecimal ) ) otherlv_6= '}' ) ; + public final EObject ruleContinuousSample() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + AntlrDatatypeRuleToken lv_value_3_0 = null; + + AntlrDatatypeRuleToken lv_probability_5_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7303:28: ( (otherlv_0= 'ContinuousSample' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEBigDecimal ) ) otherlv_4= 'probability' ( (lv_probability_5_0= ruleEBigDecimal ) ) otherlv_6= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7304:1: (otherlv_0= 'ContinuousSample' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEBigDecimal ) ) otherlv_4= 'probability' ( (lv_probability_5_0= ruleEBigDecimal ) ) otherlv_6= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7304:1: (otherlv_0= 'ContinuousSample' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEBigDecimal ) ) otherlv_4= 'probability' ( (lv_probability_5_0= ruleEBigDecimal ) ) otherlv_6= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7304:3: otherlv_0= 'ContinuousSample' otherlv_1= '{' otherlv_2= 'value' ( (lv_value_3_0= ruleEBigDecimal ) ) otherlv_4= 'probability' ( (lv_probability_5_0= ruleEBigDecimal ) ) otherlv_6= '}' + { + otherlv_0=(Token)match(input,131,FollowSets000.FOLLOW_131_in_ruleContinuousSample15773); + + newLeafNode(otherlv_0, grammarAccess.getContinuousSampleAccess().getContinuousSampleKeyword_0()); + + otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleContinuousSample15785); + + newLeafNode(otherlv_1, grammarAccess.getContinuousSampleAccess().getLeftCurlyBracketKeyword_1()); + + otherlv_2=(Token)match(input,129,FollowSets000.FOLLOW_129_in_ruleContinuousSample15797); + + newLeafNode(otherlv_2, grammarAccess.getContinuousSampleAccess().getValueKeyword_2()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7316:1: ( (lv_value_3_0= ruleEBigDecimal ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7317:1: (lv_value_3_0= ruleEBigDecimal ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7317:1: (lv_value_3_0= ruleEBigDecimal ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7318:3: lv_value_3_0= ruleEBigDecimal + { + + newCompositeNode(grammarAccess.getContinuousSampleAccess().getValueEBigDecimalParserRuleCall_3_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEBigDecimal_in_ruleContinuousSample15818); + lv_value_3_0=ruleEBigDecimal(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getContinuousSampleRule()); + } + set( + current, + "value", + lv_value_3_0, + "EBigDecimal"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_4=(Token)match(input,128,FollowSets000.FOLLOW_128_in_ruleContinuousSample15830); + + newLeafNode(otherlv_4, grammarAccess.getContinuousSampleAccess().getProbabilityKeyword_4()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7338:1: ( (lv_probability_5_0= ruleEBigDecimal ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7339:1: (lv_probability_5_0= ruleEBigDecimal ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7339:1: (lv_probability_5_0= ruleEBigDecimal ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7340:3: lv_probability_5_0= ruleEBigDecimal + { + + newCompositeNode(grammarAccess.getContinuousSampleAccess().getProbabilityEBigDecimalParserRuleCall_5_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEBigDecimal_in_ruleContinuousSample15851); + lv_probability_5_0=ruleEBigDecimal(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getContinuousSampleRule()); + } + set( + current, + "probability", + lv_probability_5_0, + "EBigDecimal"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_6=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleContinuousSample15863); + + newLeafNode(otherlv_6, grammarAccess.getContinuousSampleAccess().getRightCurlyBracketKeyword_6()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleContinuousSample" + + + // $ANTLR start "entryRuleLoopIterationCountDistribution" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7368:1: entryRuleLoopIterationCountDistribution returns [EObject current=null] : iv_ruleLoopIterationCountDistribution= ruleLoopIterationCountDistribution EOF ; + public final EObject entryRuleLoopIterationCountDistribution() throws RecognitionException { + EObject current = null; + + EObject iv_ruleLoopIterationCountDistribution = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7369:2: (iv_ruleLoopIterationCountDistribution= ruleLoopIterationCountDistribution EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7370:2: iv_ruleLoopIterationCountDistribution= ruleLoopIterationCountDistribution EOF + { + newCompositeNode(grammarAccess.getLoopIterationCountDistributionRule()); + pushFollow(FollowSets000.FOLLOW_ruleLoopIterationCountDistribution_in_entryRuleLoopIterationCountDistribution15899); + iv_ruleLoopIterationCountDistribution=ruleLoopIterationCountDistribution(); + + state._fsp--; + + current =iv_ruleLoopIterationCountDistribution; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLoopIterationCountDistribution15909); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleLoopIterationCountDistribution" + + + // $ANTLR start "ruleLoopIterationCountDistribution" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7377:1: ruleLoopIterationCountDistribution returns [EObject current=null] : (otherlv_0= 'LoopIterationCountDistribution' otherlv_1= '{' otherlv_2= 'loopIterationCountDistribution' ( ( ruleEString ) ) otherlv_4= '}' ) ; + public final EObject ruleLoopIterationCountDistribution() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7380:28: ( (otherlv_0= 'LoopIterationCountDistribution' otherlv_1= '{' otherlv_2= 'loopIterationCountDistribution' ( ( ruleEString ) ) otherlv_4= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7381:1: (otherlv_0= 'LoopIterationCountDistribution' otherlv_1= '{' otherlv_2= 'loopIterationCountDistribution' ( ( ruleEString ) ) otherlv_4= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7381:1: (otherlv_0= 'LoopIterationCountDistribution' otherlv_1= '{' otherlv_2= 'loopIterationCountDistribution' ( ( ruleEString ) ) otherlv_4= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7381:3: otherlv_0= 'LoopIterationCountDistribution' otherlv_1= '{' otherlv_2= 'loopIterationCountDistribution' ( ( ruleEString ) ) otherlv_4= '}' + { + otherlv_0=(Token)match(input,132,FollowSets000.FOLLOW_132_in_ruleLoopIterationCountDistribution15946); + + newLeafNode(otherlv_0, grammarAccess.getLoopIterationCountDistributionAccess().getLoopIterationCountDistributionKeyword_0()); + + otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleLoopIterationCountDistribution15958); + + newLeafNode(otherlv_1, grammarAccess.getLoopIterationCountDistributionAccess().getLeftCurlyBracketKeyword_1()); + + otherlv_2=(Token)match(input,101,FollowSets000.FOLLOW_101_in_ruleLoopIterationCountDistribution15970); + + newLeafNode(otherlv_2, grammarAccess.getLoopIterationCountDistributionAccess().getLoopIterationCountDistributionKeyword_2()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7393:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7394:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7394:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7395:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getLoopIterationCountDistributionRule()); + } + + + newCompositeNode(grammarAccess.getLoopIterationCountDistributionAccess().getLoopIterationCountDistributionRandomVariableCrossReference_3_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleLoopIterationCountDistribution15993); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_4=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleLoopIterationCountDistribution16005); + + newLeafNode(otherlv_4, grammarAccess.getLoopIterationCountDistributionAccess().getRightCurlyBracketKeyword_4()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleLoopIterationCountDistribution" + + + // $ANTLR start "entryRuleAssemblyContext" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7420:1: entryRuleAssemblyContext returns [EObject current=null] : iv_ruleAssemblyContext= ruleAssemblyContext EOF ; + public final EObject entryRuleAssemblyContext() throws RecognitionException { + EObject current = null; + + EObject iv_ruleAssemblyContext = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7421:2: (iv_ruleAssemblyContext= ruleAssemblyContext EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7422:2: iv_ruleAssemblyContext= ruleAssemblyContext EOF + { + newCompositeNode(grammarAccess.getAssemblyContextRule()); + pushFollow(FollowSets000.FOLLOW_ruleAssemblyContext_in_entryRuleAssemblyContext16041); + iv_ruleAssemblyContext=ruleAssemblyContext(); + + state._fsp--; + + current =iv_ruleAssemblyContext; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAssemblyContext16051); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleAssemblyContext" + + + // $ANTLR start "ruleAssemblyContext" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7429:1: ruleAssemblyContext returns [EObject current=null] : (otherlv_0= 'AssemblyContext' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'encapsulatedComponent' ( ( ruleEString ) ) otherlv_7= '}' ) ; + public final EObject ruleAssemblyContext() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + AntlrDatatypeRuleToken lv_id_1_0 = null; + + AntlrDatatypeRuleToken lv_name_4_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7432:28: ( (otherlv_0= 'AssemblyContext' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'encapsulatedComponent' ( ( ruleEString ) ) otherlv_7= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7433:1: (otherlv_0= 'AssemblyContext' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'encapsulatedComponent' ( ( ruleEString ) ) otherlv_7= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7433:1: (otherlv_0= 'AssemblyContext' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'encapsulatedComponent' ( ( ruleEString ) ) otherlv_7= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7433:3: otherlv_0= 'AssemblyContext' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'encapsulatedComponent' ( ( ruleEString ) ) otherlv_7= '}' + { + otherlv_0=(Token)match(input,133,FollowSets000.FOLLOW_133_in_ruleAssemblyContext16088); + + newLeafNode(otherlv_0, grammarAccess.getAssemblyContextAccess().getAssemblyContextKeyword_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7437:1: ( (lv_id_1_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7438:1: (lv_id_1_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7438:1: (lv_id_1_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7439:3: lv_id_1_0= ruleEString + { + + newCompositeNode(grammarAccess.getAssemblyContextAccess().getIdEStringParserRuleCall_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyContext16109); + lv_id_1_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAssemblyContextRule()); + } + set( + current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleAssemblyContext16121); + + newLeafNode(otherlv_2, grammarAccess.getAssemblyContextAccess().getLeftCurlyBracketKeyword_2()); + + otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleAssemblyContext16133); + + newLeafNode(otherlv_3, grammarAccess.getAssemblyContextAccess().getNameKeyword_3()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7463:1: ( (lv_name_4_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7464:1: (lv_name_4_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7464:1: (lv_name_4_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7465:3: lv_name_4_0= ruleEString + { + + newCompositeNode(grammarAccess.getAssemblyContextAccess().getNameEStringParserRuleCall_4_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyContext16154); + lv_name_4_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAssemblyContextRule()); + } + set( + current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_5=(Token)match(input,134,FollowSets000.FOLLOW_134_in_ruleAssemblyContext16166); + + newLeafNode(otherlv_5, grammarAccess.getAssemblyContextAccess().getEncapsulatedComponentKeyword_5()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7485:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7486:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7486:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7487:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getAssemblyContextRule()); + } + + + newCompositeNode(grammarAccess.getAssemblyContextAccess().getEncapsulatedComponentRepositoryComponentCrossReference_6_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyContext16189); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_7=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleAssemblyContext16201); + + newLeafNode(otherlv_7, grammarAccess.getAssemblyContextAccess().getRightCurlyBracketKeyword_7()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleAssemblyContext" + + + // $ANTLR start "entryRuleAssemblyConnector" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7512:1: entryRuleAssemblyConnector returns [EObject current=null] : iv_ruleAssemblyConnector= ruleAssemblyConnector EOF ; + public final EObject entryRuleAssemblyConnector() throws RecognitionException { + EObject current = null; + + EObject iv_ruleAssemblyConnector = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7513:2: (iv_ruleAssemblyConnector= ruleAssemblyConnector EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7514:2: iv_ruleAssemblyConnector= ruleAssemblyConnector EOF + { + newCompositeNode(grammarAccess.getAssemblyConnectorRule()); + pushFollow(FollowSets000.FOLLOW_ruleAssemblyConnector_in_entryRuleAssemblyConnector16237); + iv_ruleAssemblyConnector=ruleAssemblyConnector(); + + state._fsp--; + + current =iv_ruleAssemblyConnector; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAssemblyConnector16247); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleAssemblyConnector" + + + // $ANTLR start "ruleAssemblyConnector" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7521:1: ruleAssemblyConnector returns [EObject current=null] : (otherlv_0= 'AssemblyConnector' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'requiredRole' ( ( ruleEString ) ) otherlv_7= 'providedRole' ( ( ruleEString ) ) otherlv_9= 'providingAssemblyContext' ( ( ruleEString ) ) otherlv_11= 'requiringAssemblyContext' ( ( ruleEString ) ) otherlv_13= '}' ) ; + public final EObject ruleAssemblyConnector() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + Token otherlv_9=null; + Token otherlv_11=null; + Token otherlv_13=null; + AntlrDatatypeRuleToken lv_id_1_0 = null; + + AntlrDatatypeRuleToken lv_name_4_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7524:28: ( (otherlv_0= 'AssemblyConnector' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'requiredRole' ( ( ruleEString ) ) otherlv_7= 'providedRole' ( ( ruleEString ) ) otherlv_9= 'providingAssemblyContext' ( ( ruleEString ) ) otherlv_11= 'requiringAssemblyContext' ( ( ruleEString ) ) otherlv_13= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7525:1: (otherlv_0= 'AssemblyConnector' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'requiredRole' ( ( ruleEString ) ) otherlv_7= 'providedRole' ( ( ruleEString ) ) otherlv_9= 'providingAssemblyContext' ( ( ruleEString ) ) otherlv_11= 'requiringAssemblyContext' ( ( ruleEString ) ) otherlv_13= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7525:1: (otherlv_0= 'AssemblyConnector' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'requiredRole' ( ( ruleEString ) ) otherlv_7= 'providedRole' ( ( ruleEString ) ) otherlv_9= 'providingAssemblyContext' ( ( ruleEString ) ) otherlv_11= 'requiringAssemblyContext' ( ( ruleEString ) ) otherlv_13= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7525:3: otherlv_0= 'AssemblyConnector' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'requiredRole' ( ( ruleEString ) ) otherlv_7= 'providedRole' ( ( ruleEString ) ) otherlv_9= 'providingAssemblyContext' ( ( ruleEString ) ) otherlv_11= 'requiringAssemblyContext' ( ( ruleEString ) ) otherlv_13= '}' + { + otherlv_0=(Token)match(input,135,FollowSets000.FOLLOW_135_in_ruleAssemblyConnector16284); + + newLeafNode(otherlv_0, grammarAccess.getAssemblyConnectorAccess().getAssemblyConnectorKeyword_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7529:1: ( (lv_id_1_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7530:1: (lv_id_1_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7530:1: (lv_id_1_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7531:3: lv_id_1_0= ruleEString + { + + newCompositeNode(grammarAccess.getAssemblyConnectorAccess().getIdEStringParserRuleCall_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyConnector16305); + lv_id_1_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAssemblyConnectorRule()); + } + set( + current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleAssemblyConnector16317); + + newLeafNode(otherlv_2, grammarAccess.getAssemblyConnectorAccess().getLeftCurlyBracketKeyword_2()); + + otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleAssemblyConnector16329); + + newLeafNode(otherlv_3, grammarAccess.getAssemblyConnectorAccess().getNameKeyword_3()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7555:1: ( (lv_name_4_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7556:1: (lv_name_4_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7556:1: (lv_name_4_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7557:3: lv_name_4_0= ruleEString + { + + newCompositeNode(grammarAccess.getAssemblyConnectorAccess().getNameEStringParserRuleCall_4_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyConnector16350); + lv_name_4_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAssemblyConnectorRule()); + } + set( + current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_5=(Token)match(input,103,FollowSets000.FOLLOW_103_in_ruleAssemblyConnector16362); + + newLeafNode(otherlv_5, grammarAccess.getAssemblyConnectorAccess().getRequiredRoleKeyword_5()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7577:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7578:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7578:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7579:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getAssemblyConnectorRule()); + } + + + newCompositeNode(grammarAccess.getAssemblyConnectorAccess().getRequiredRoleRequiredRoleCrossReference_6_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyConnector16385); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_7=(Token)match(input,75,FollowSets000.FOLLOW_75_in_ruleAssemblyConnector16397); + + newLeafNode(otherlv_7, grammarAccess.getAssemblyConnectorAccess().getProvidedRoleKeyword_7()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7596:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7597:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7597:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7598:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getAssemblyConnectorRule()); + } + + + newCompositeNode(grammarAccess.getAssemblyConnectorAccess().getProvidedRoleProvidedRoleCrossReference_8_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyConnector16420); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_9=(Token)match(input,136,FollowSets000.FOLLOW_136_in_ruleAssemblyConnector16432); + + newLeafNode(otherlv_9, grammarAccess.getAssemblyConnectorAccess().getProvidingAssemblyContextKeyword_9()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7615:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7616:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7616:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7617:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getAssemblyConnectorRule()); + } + + + newCompositeNode(grammarAccess.getAssemblyConnectorAccess().getProvidingAssemblyContextAssemblyContextCrossReference_10_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyConnector16455); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_11=(Token)match(input,137,FollowSets000.FOLLOW_137_in_ruleAssemblyConnector16467); + + newLeafNode(otherlv_11, grammarAccess.getAssemblyConnectorAccess().getRequiringAssemblyContextKeyword_11()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7634:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7635:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7635:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7636:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getAssemblyConnectorRule()); + } + + + newCompositeNode(grammarAccess.getAssemblyConnectorAccess().getRequiringAssemblyContextAssemblyContextCrossReference_12_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleAssemblyConnector16490); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_13=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleAssemblyConnector16502); + + newLeafNode(otherlv_13, grammarAccess.getAssemblyConnectorAccess().getRightCurlyBracketKeyword_13()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleAssemblyConnector" + + + // $ANTLR start "entryRuleProvidedDelegationConnector" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7661:1: entryRuleProvidedDelegationConnector returns [EObject current=null] : iv_ruleProvidedDelegationConnector= ruleProvidedDelegationConnector EOF ; + public final EObject entryRuleProvidedDelegationConnector() throws RecognitionException { + EObject current = null; + + EObject iv_ruleProvidedDelegationConnector = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7662:2: (iv_ruleProvidedDelegationConnector= ruleProvidedDelegationConnector EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7663:2: iv_ruleProvidedDelegationConnector= ruleProvidedDelegationConnector EOF + { + newCompositeNode(grammarAccess.getProvidedDelegationConnectorRule()); + pushFollow(FollowSets000.FOLLOW_ruleProvidedDelegationConnector_in_entryRuleProvidedDelegationConnector16538); + iv_ruleProvidedDelegationConnector=ruleProvidedDelegationConnector(); + + state._fsp--; + + current =iv_ruleProvidedDelegationConnector; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleProvidedDelegationConnector16548); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleProvidedDelegationConnector" + + + // $ANTLR start "ruleProvidedDelegationConnector" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7670:1: ruleProvidedDelegationConnector returns [EObject current=null] : (otherlv_0= 'ProvidedDelegationConnector' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'assemblyContext' ( ( ruleEString ) ) otherlv_7= 'innerProvidedRole' ( ( ruleEString ) ) otherlv_9= 'outerProvidedRole' ( ( ruleEString ) ) otherlv_11= '}' ) ; + public final EObject ruleProvidedDelegationConnector() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + Token otherlv_9=null; + Token otherlv_11=null; + AntlrDatatypeRuleToken lv_id_1_0 = null; + + AntlrDatatypeRuleToken lv_name_4_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7673:28: ( (otherlv_0= 'ProvidedDelegationConnector' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'assemblyContext' ( ( ruleEString ) ) otherlv_7= 'innerProvidedRole' ( ( ruleEString ) ) otherlv_9= 'outerProvidedRole' ( ( ruleEString ) ) otherlv_11= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7674:1: (otherlv_0= 'ProvidedDelegationConnector' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'assemblyContext' ( ( ruleEString ) ) otherlv_7= 'innerProvidedRole' ( ( ruleEString ) ) otherlv_9= 'outerProvidedRole' ( ( ruleEString ) ) otherlv_11= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7674:1: (otherlv_0= 'ProvidedDelegationConnector' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'assemblyContext' ( ( ruleEString ) ) otherlv_7= 'innerProvidedRole' ( ( ruleEString ) ) otherlv_9= 'outerProvidedRole' ( ( ruleEString ) ) otherlv_11= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7674:3: otherlv_0= 'ProvidedDelegationConnector' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'assemblyContext' ( ( ruleEString ) ) otherlv_7= 'innerProvidedRole' ( ( ruleEString ) ) otherlv_9= 'outerProvidedRole' ( ( ruleEString ) ) otherlv_11= '}' + { + otherlv_0=(Token)match(input,138,FollowSets000.FOLLOW_138_in_ruleProvidedDelegationConnector16585); + + newLeafNode(otherlv_0, grammarAccess.getProvidedDelegationConnectorAccess().getProvidedDelegationConnectorKeyword_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7678:1: ( (lv_id_1_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7679:1: (lv_id_1_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7679:1: (lv_id_1_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7680:3: lv_id_1_0= ruleEString + { + + newCompositeNode(grammarAccess.getProvidedDelegationConnectorAccess().getIdEStringParserRuleCall_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleProvidedDelegationConnector16606); + lv_id_1_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getProvidedDelegationConnectorRule()); + } + set( + current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleProvidedDelegationConnector16618); + + newLeafNode(otherlv_2, grammarAccess.getProvidedDelegationConnectorAccess().getLeftCurlyBracketKeyword_2()); + + otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleProvidedDelegationConnector16630); + + newLeafNode(otherlv_3, grammarAccess.getProvidedDelegationConnectorAccess().getNameKeyword_3()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7704:1: ( (lv_name_4_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7705:1: (lv_name_4_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7705:1: (lv_name_4_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7706:3: lv_name_4_0= ruleEString + { + + newCompositeNode(grammarAccess.getProvidedDelegationConnectorAccess().getNameEStringParserRuleCall_4_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleProvidedDelegationConnector16651); + lv_name_4_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getProvidedDelegationConnectorRule()); + } + set( + current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_5=(Token)match(input,139,FollowSets000.FOLLOW_139_in_ruleProvidedDelegationConnector16663); + + newLeafNode(otherlv_5, grammarAccess.getProvidedDelegationConnectorAccess().getAssemblyContextKeyword_5()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7726:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7727:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7727:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7728:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getProvidedDelegationConnectorRule()); + } + + + newCompositeNode(grammarAccess.getProvidedDelegationConnectorAccess().getAssemblyContextAssemblyContextCrossReference_6_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleProvidedDelegationConnector16686); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_7=(Token)match(input,140,FollowSets000.FOLLOW_140_in_ruleProvidedDelegationConnector16698); + + newLeafNode(otherlv_7, grammarAccess.getProvidedDelegationConnectorAccess().getInnerProvidedRoleKeyword_7()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7745:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7746:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7746:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7747:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getProvidedDelegationConnectorRule()); + } + + + newCompositeNode(grammarAccess.getProvidedDelegationConnectorAccess().getInnerProvidedRoleProvidedRoleCrossReference_8_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleProvidedDelegationConnector16721); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_9=(Token)match(input,141,FollowSets000.FOLLOW_141_in_ruleProvidedDelegationConnector16733); + + newLeafNode(otherlv_9, grammarAccess.getProvidedDelegationConnectorAccess().getOuterProvidedRoleKeyword_9()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7764:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7765:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7765:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7766:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getProvidedDelegationConnectorRule()); + } + + + newCompositeNode(grammarAccess.getProvidedDelegationConnectorAccess().getOuterProvidedRoleProvidedRoleCrossReference_10_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleProvidedDelegationConnector16756); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_11=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleProvidedDelegationConnector16768); + + newLeafNode(otherlv_11, grammarAccess.getProvidedDelegationConnectorAccess().getRightCurlyBracketKeyword_11()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleProvidedDelegationConnector" + + + // $ANTLR start "entryRuleRequiredDelegationConnector" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7791:1: entryRuleRequiredDelegationConnector returns [EObject current=null] : iv_ruleRequiredDelegationConnector= ruleRequiredDelegationConnector EOF ; + public final EObject entryRuleRequiredDelegationConnector() throws RecognitionException { + EObject current = null; + + EObject iv_ruleRequiredDelegationConnector = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7792:2: (iv_ruleRequiredDelegationConnector= ruleRequiredDelegationConnector EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7793:2: iv_ruleRequiredDelegationConnector= ruleRequiredDelegationConnector EOF + { + newCompositeNode(grammarAccess.getRequiredDelegationConnectorRule()); + pushFollow(FollowSets000.FOLLOW_ruleRequiredDelegationConnector_in_entryRuleRequiredDelegationConnector16804); + iv_ruleRequiredDelegationConnector=ruleRequiredDelegationConnector(); + + state._fsp--; + + current =iv_ruleRequiredDelegationConnector; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRequiredDelegationConnector16814); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleRequiredDelegationConnector" + + + // $ANTLR start "ruleRequiredDelegationConnector" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7800:1: ruleRequiredDelegationConnector returns [EObject current=null] : (otherlv_0= 'RequiredDelegationConnector' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'assemblyContext' ( ( ruleEString ) ) otherlv_7= 'innerRequiredRole' ( ( ruleEString ) ) otherlv_9= 'outerRequiredRole' ( ( ruleEString ) ) otherlv_11= '}' ) ; + public final EObject ruleRequiredDelegationConnector() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_5=null; + Token otherlv_7=null; + Token otherlv_9=null; + Token otherlv_11=null; + AntlrDatatypeRuleToken lv_id_1_0 = null; + + AntlrDatatypeRuleToken lv_name_4_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7803:28: ( (otherlv_0= 'RequiredDelegationConnector' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'assemblyContext' ( ( ruleEString ) ) otherlv_7= 'innerRequiredRole' ( ( ruleEString ) ) otherlv_9= 'outerRequiredRole' ( ( ruleEString ) ) otherlv_11= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7804:1: (otherlv_0= 'RequiredDelegationConnector' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'assemblyContext' ( ( ruleEString ) ) otherlv_7= 'innerRequiredRole' ( ( ruleEString ) ) otherlv_9= 'outerRequiredRole' ( ( ruleEString ) ) otherlv_11= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7804:1: (otherlv_0= 'RequiredDelegationConnector' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'assemblyContext' ( ( ruleEString ) ) otherlv_7= 'innerRequiredRole' ( ( ruleEString ) ) otherlv_9= 'outerRequiredRole' ( ( ruleEString ) ) otherlv_11= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7804:3: otherlv_0= 'RequiredDelegationConnector' ( (lv_id_1_0= ruleEString ) ) otherlv_2= '{' otherlv_3= 'name' ( (lv_name_4_0= ruleEString ) ) otherlv_5= 'assemblyContext' ( ( ruleEString ) ) otherlv_7= 'innerRequiredRole' ( ( ruleEString ) ) otherlv_9= 'outerRequiredRole' ( ( ruleEString ) ) otherlv_11= '}' + { + otherlv_0=(Token)match(input,142,FollowSets000.FOLLOW_142_in_ruleRequiredDelegationConnector16851); + + newLeafNode(otherlv_0, grammarAccess.getRequiredDelegationConnectorAccess().getRequiredDelegationConnectorKeyword_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7808:1: ( (lv_id_1_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7809:1: (lv_id_1_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7809:1: (lv_id_1_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7810:3: lv_id_1_0= ruleEString + { + + newCompositeNode(grammarAccess.getRequiredDelegationConnectorAccess().getIdEStringParserRuleCall_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRequiredDelegationConnector16872); + lv_id_1_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRequiredDelegationConnectorRule()); + } + set( + current, + "id", + lv_id_1_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleRequiredDelegationConnector16884); + + newLeafNode(otherlv_2, grammarAccess.getRequiredDelegationConnectorAccess().getLeftCurlyBracketKeyword_2()); + + otherlv_3=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleRequiredDelegationConnector16896); + + newLeafNode(otherlv_3, grammarAccess.getRequiredDelegationConnectorAccess().getNameKeyword_3()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7834:1: ( (lv_name_4_0= ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7835:1: (lv_name_4_0= ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7835:1: (lv_name_4_0= ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7836:3: lv_name_4_0= ruleEString + { + + newCompositeNode(grammarAccess.getRequiredDelegationConnectorAccess().getNameEStringParserRuleCall_4_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRequiredDelegationConnector16917); + lv_name_4_0=ruleEString(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getRequiredDelegationConnectorRule()); + } + set( + current, + "name", + lv_name_4_0, + "EString"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_5=(Token)match(input,139,FollowSets000.FOLLOW_139_in_ruleRequiredDelegationConnector16929); + + newLeafNode(otherlv_5, grammarAccess.getRequiredDelegationConnectorAccess().getAssemblyContextKeyword_5()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7856:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7857:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7857:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7858:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getRequiredDelegationConnectorRule()); + } + + + newCompositeNode(grammarAccess.getRequiredDelegationConnectorAccess().getAssemblyContextAssemblyContextCrossReference_6_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRequiredDelegationConnector16952); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_7=(Token)match(input,143,FollowSets000.FOLLOW_143_in_ruleRequiredDelegationConnector16964); + + newLeafNode(otherlv_7, grammarAccess.getRequiredDelegationConnectorAccess().getInnerRequiredRoleKeyword_7()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7875:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7876:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7876:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7877:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getRequiredDelegationConnectorRule()); + } + + + newCompositeNode(grammarAccess.getRequiredDelegationConnectorAccess().getInnerRequiredRoleRequiredRoleCrossReference_8_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRequiredDelegationConnector16987); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_9=(Token)match(input,144,FollowSets000.FOLLOW_144_in_ruleRequiredDelegationConnector16999); + + newLeafNode(otherlv_9, grammarAccess.getRequiredDelegationConnectorAccess().getOuterRequiredRoleKeyword_9()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7894:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7895:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7895:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7896:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getRequiredDelegationConnectorRule()); + } + + + newCompositeNode(grammarAccess.getRequiredDelegationConnectorAccess().getOuterRequiredRoleRequiredRoleCrossReference_10_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleRequiredDelegationConnector17022); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_11=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleRequiredDelegationConnector17034); + + newLeafNode(otherlv_11, grammarAccess.getRequiredDelegationConnectorAccess().getRightCurlyBracketKeyword_11()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleRequiredDelegationConnector" + + + // $ANTLR start "entryRuleExternalCall_Impl" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7921:1: entryRuleExternalCall_Impl returns [EObject current=null] : iv_ruleExternalCall_Impl= ruleExternalCall_Impl EOF ; + public final EObject entryRuleExternalCall_Impl() throws RecognitionException { + EObject current = null; + + EObject iv_ruleExternalCall_Impl = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7922:2: (iv_ruleExternalCall_Impl= ruleExternalCall_Impl EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7923:2: iv_ruleExternalCall_Impl= ruleExternalCall_Impl EOF + { + newCompositeNode(grammarAccess.getExternalCall_ImplRule()); + pushFollow(FollowSets000.FOLLOW_ruleExternalCall_Impl_in_entryRuleExternalCall_Impl17070); + iv_ruleExternalCall_Impl=ruleExternalCall_Impl(); + + state._fsp--; + + current =iv_ruleExternalCall_Impl; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExternalCall_Impl17080); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleExternalCall_Impl" + + + // $ANTLR start "ruleExternalCall_Impl" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7930:1: ruleExternalCall_Impl returns [EObject current=null] : (otherlv_0= 'ExternalCall' otherlv_1= '{' otherlv_2= 'signature' ( ( ruleEString ) ) otherlv_4= 'requiredRole' ( ( ruleEString ) ) otherlv_6= '}' ) ; + public final EObject ruleExternalCall_Impl() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7933:28: ( (otherlv_0= 'ExternalCall' otherlv_1= '{' otherlv_2= 'signature' ( ( ruleEString ) ) otherlv_4= 'requiredRole' ( ( ruleEString ) ) otherlv_6= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7934:1: (otherlv_0= 'ExternalCall' otherlv_1= '{' otherlv_2= 'signature' ( ( ruleEString ) ) otherlv_4= 'requiredRole' ( ( ruleEString ) ) otherlv_6= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7934:1: (otherlv_0= 'ExternalCall' otherlv_1= '{' otherlv_2= 'signature' ( ( ruleEString ) ) otherlv_4= 'requiredRole' ( ( ruleEString ) ) otherlv_6= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7934:3: otherlv_0= 'ExternalCall' otherlv_1= '{' otherlv_2= 'signature' ( ( ruleEString ) ) otherlv_4= 'requiredRole' ( ( ruleEString ) ) otherlv_6= '}' + { + otherlv_0=(Token)match(input,145,FollowSets000.FOLLOW_145_in_ruleExternalCall_Impl17117); + + newLeafNode(otherlv_0, grammarAccess.getExternalCall_ImplAccess().getExternalCallKeyword_0()); + + otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleExternalCall_Impl17129); + + newLeafNode(otherlv_1, grammarAccess.getExternalCall_ImplAccess().getLeftCurlyBracketKeyword_1()); + + otherlv_2=(Token)match(input,73,FollowSets000.FOLLOW_73_in_ruleExternalCall_Impl17141); + + newLeafNode(otherlv_2, grammarAccess.getExternalCall_ImplAccess().getSignatureKeyword_2()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7946:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7947:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7947:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7948:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getExternalCall_ImplRule()); + } + + + newCompositeNode(grammarAccess.getExternalCall_ImplAccess().getSignatureSignatureCrossReference_3_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCall_Impl17164); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_4=(Token)match(input,103,FollowSets000.FOLLOW_103_in_ruleExternalCall_Impl17176); + + newLeafNode(otherlv_4, grammarAccess.getExternalCall_ImplAccess().getRequiredRoleKeyword_4()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7965:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7966:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7966:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7967:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getExternalCall_ImplRule()); + } + + + newCompositeNode(grammarAccess.getExternalCall_ImplAccess().getRequiredRoleRequiredRoleCrossReference_5_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleExternalCall_Impl17199); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_6=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleExternalCall_Impl17211); + + newLeafNode(otherlv_6, grammarAccess.getExternalCall_ImplAccess().getRightCurlyBracketKeyword_6()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleExternalCall_Impl" + + + // $ANTLR start "entryRuleExternalCallFrequency" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7992:1: entryRuleExternalCallFrequency returns [EObject current=null] : iv_ruleExternalCallFrequency= ruleExternalCallFrequency EOF ; + public final EObject entryRuleExternalCallFrequency() throws RecognitionException { + EObject current = null; + + EObject iv_ruleExternalCallFrequency = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7993:2: (iv_ruleExternalCallFrequency= ruleExternalCallFrequency EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:7994:2: iv_ruleExternalCallFrequency= ruleExternalCallFrequency EOF + { + newCompositeNode(grammarAccess.getExternalCallFrequencyRule()); + pushFollow(FollowSets000.FOLLOW_ruleExternalCallFrequency_in_entryRuleExternalCallFrequency17247); + iv_ruleExternalCallFrequency=ruleExternalCallFrequency(); + + state._fsp--; + + current =iv_ruleExternalCallFrequency; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExternalCallFrequency17257); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleExternalCallFrequency" + + + // $ANTLR start "ruleExternalCallFrequency" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8001:1: ruleExternalCallFrequency returns [EObject current=null] : (otherlv_0= 'ExternalCallFrequency' otherlv_1= '{' otherlv_2= 'externalCall' ( (lv_externalCall_3_0= ruleExternalCall ) ) otherlv_4= 'frequency' ( (lv_frequency_5_0= ruleCallFrequency ) ) otherlv_6= '}' ) ; + public final EObject ruleExternalCallFrequency() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + EObject lv_externalCall_3_0 = null; + + EObject lv_frequency_5_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8004:28: ( (otherlv_0= 'ExternalCallFrequency' otherlv_1= '{' otherlv_2= 'externalCall' ( (lv_externalCall_3_0= ruleExternalCall ) ) otherlv_4= 'frequency' ( (lv_frequency_5_0= ruleCallFrequency ) ) otherlv_6= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8005:1: (otherlv_0= 'ExternalCallFrequency' otherlv_1= '{' otherlv_2= 'externalCall' ( (lv_externalCall_3_0= ruleExternalCall ) ) otherlv_4= 'frequency' ( (lv_frequency_5_0= ruleCallFrequency ) ) otherlv_6= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8005:1: (otherlv_0= 'ExternalCallFrequency' otherlv_1= '{' otherlv_2= 'externalCall' ( (lv_externalCall_3_0= ruleExternalCall ) ) otherlv_4= 'frequency' ( (lv_frequency_5_0= ruleCallFrequency ) ) otherlv_6= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8005:3: otherlv_0= 'ExternalCallFrequency' otherlv_1= '{' otherlv_2= 'externalCall' ( (lv_externalCall_3_0= ruleExternalCall ) ) otherlv_4= 'frequency' ( (lv_frequency_5_0= ruleCallFrequency ) ) otherlv_6= '}' + { + otherlv_0=(Token)match(input,146,FollowSets000.FOLLOW_146_in_ruleExternalCallFrequency17294); + + newLeafNode(otherlv_0, grammarAccess.getExternalCallFrequencyAccess().getExternalCallFrequencyKeyword_0()); + + otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleExternalCallFrequency17306); + + newLeafNode(otherlv_1, grammarAccess.getExternalCallFrequencyAccess().getLeftCurlyBracketKeyword_1()); + + otherlv_2=(Token)match(input,77,FollowSets000.FOLLOW_77_in_ruleExternalCallFrequency17318); + + newLeafNode(otherlv_2, grammarAccess.getExternalCallFrequencyAccess().getExternalCallKeyword_2()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8017:1: ( (lv_externalCall_3_0= ruleExternalCall ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8018:1: (lv_externalCall_3_0= ruleExternalCall ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8018:1: (lv_externalCall_3_0= ruleExternalCall ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8019:3: lv_externalCall_3_0= ruleExternalCall + { + + newCompositeNode(grammarAccess.getExternalCallFrequencyAccess().getExternalCallExternalCallParserRuleCall_3_0()); + + pushFollow(FollowSets000.FOLLOW_ruleExternalCall_in_ruleExternalCallFrequency17339); + lv_externalCall_3_0=ruleExternalCall(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExternalCallFrequencyRule()); + } + set( + current, + "externalCall", + lv_externalCall_3_0, + "ExternalCall"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_4=(Token)match(input,147,FollowSets000.FOLLOW_147_in_ruleExternalCallFrequency17351); + + newLeafNode(otherlv_4, grammarAccess.getExternalCallFrequencyAccess().getFrequencyKeyword_4()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8039:1: ( (lv_frequency_5_0= ruleCallFrequency ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8040:1: (lv_frequency_5_0= ruleCallFrequency ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8040:1: (lv_frequency_5_0= ruleCallFrequency ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8041:3: lv_frequency_5_0= ruleCallFrequency + { + + newCompositeNode(grammarAccess.getExternalCallFrequencyAccess().getFrequencyCallFrequencyParserRuleCall_5_0()); + + pushFollow(FollowSets000.FOLLOW_ruleCallFrequency_in_ruleExternalCallFrequency17372); + lv_frequency_5_0=ruleCallFrequency(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getExternalCallFrequencyRule()); + } + set( + current, + "frequency", + lv_frequency_5_0, + "CallFrequency"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_6=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleExternalCallFrequency17384); + + newLeafNode(otherlv_6, grammarAccess.getExternalCallFrequencyAccess().getRightCurlyBracketKeyword_6()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleExternalCallFrequency" + + + // $ANTLR start "entryRuleCallFrequency" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8069:1: entryRuleCallFrequency returns [EObject current=null] : iv_ruleCallFrequency= ruleCallFrequency EOF ; + public final EObject entryRuleCallFrequency() throws RecognitionException { + EObject current = null; + + EObject iv_ruleCallFrequency = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8070:2: (iv_ruleCallFrequency= ruleCallFrequency EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8071:2: iv_ruleCallFrequency= ruleCallFrequency EOF + { + newCompositeNode(grammarAccess.getCallFrequencyRule()); + pushFollow(FollowSets000.FOLLOW_ruleCallFrequency_in_entryRuleCallFrequency17420); + iv_ruleCallFrequency=ruleCallFrequency(); + + state._fsp--; + + current =iv_ruleCallFrequency; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCallFrequency17430); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleCallFrequency" + + + // $ANTLR start "ruleCallFrequency" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8078:1: ruleCallFrequency returns [EObject current=null] : (otherlv_0= 'CallFrequency' otherlv_1= '{' otherlv_2= 'frequency' ( ( ruleEString ) ) otherlv_4= '}' ) ; + public final EObject ruleCallFrequency() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8081:28: ( (otherlv_0= 'CallFrequency' otherlv_1= '{' otherlv_2= 'frequency' ( ( ruleEString ) ) otherlv_4= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8082:1: (otherlv_0= 'CallFrequency' otherlv_1= '{' otherlv_2= 'frequency' ( ( ruleEString ) ) otherlv_4= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8082:1: (otherlv_0= 'CallFrequency' otherlv_1= '{' otherlv_2= 'frequency' ( ( ruleEString ) ) otherlv_4= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8082:3: otherlv_0= 'CallFrequency' otherlv_1= '{' otherlv_2= 'frequency' ( ( ruleEString ) ) otherlv_4= '}' + { + otherlv_0=(Token)match(input,148,FollowSets000.FOLLOW_148_in_ruleCallFrequency17467); + + newLeafNode(otherlv_0, grammarAccess.getCallFrequencyAccess().getCallFrequencyKeyword_0()); + + otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCallFrequency17479); + + newLeafNode(otherlv_1, grammarAccess.getCallFrequencyAccess().getLeftCurlyBracketKeyword_1()); + + otherlv_2=(Token)match(input,147,FollowSets000.FOLLOW_147_in_ruleCallFrequency17491); + + newLeafNode(otherlv_2, grammarAccess.getCallFrequencyAccess().getFrequencyKeyword_2()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8094:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8095:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8095:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8096:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getCallFrequencyRule()); + } + + + newCompositeNode(grammarAccess.getCallFrequencyAccess().getFrequencyRandomVariableCrossReference_3_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCallFrequency17514); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_4=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCallFrequency17526); + + newLeafNode(otherlv_4, grammarAccess.getCallFrequencyAccess().getRightCurlyBracketKeyword_4()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleCallFrequency" + + + // $ANTLR start "entryRuleDependencyRelationship" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8121:1: entryRuleDependencyRelationship returns [EObject current=null] : iv_ruleDependencyRelationship= ruleDependencyRelationship EOF ; + public final EObject entryRuleDependencyRelationship() throws RecognitionException { + EObject current = null; + + EObject iv_ruleDependencyRelationship = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8122:2: (iv_ruleDependencyRelationship= ruleDependencyRelationship EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8123:2: iv_ruleDependencyRelationship= ruleDependencyRelationship EOF + { + newCompositeNode(grammarAccess.getDependencyRelationshipRule()); + pushFollow(FollowSets000.FOLLOW_ruleDependencyRelationship_in_entryRuleDependencyRelationship17562); + iv_ruleDependencyRelationship=ruleDependencyRelationship(); + + state._fsp--; + + current =iv_ruleDependencyRelationship; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDependencyRelationship17572); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleDependencyRelationship" + + + // $ANTLR start "ruleDependencyRelationship" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8130:1: ruleDependencyRelationship returns [EObject current=null] : (otherlv_0= 'DependencyRelationship' otherlv_1= '{' otherlv_2= 'surroundingEntity' ( ( ruleEString ) ) otherlv_4= 'influencedVariable' ( ( ruleEString ) ) otherlv_6= 'influencingParameter' ( ( ruleEString ) ) otherlv_8= '}' ) ; + public final EObject ruleDependencyRelationship() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_8=null; + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8133:28: ( (otherlv_0= 'DependencyRelationship' otherlv_1= '{' otherlv_2= 'surroundingEntity' ( ( ruleEString ) ) otherlv_4= 'influencedVariable' ( ( ruleEString ) ) otherlv_6= 'influencingParameter' ( ( ruleEString ) ) otherlv_8= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8134:1: (otherlv_0= 'DependencyRelationship' otherlv_1= '{' otherlv_2= 'surroundingEntity' ( ( ruleEString ) ) otherlv_4= 'influencedVariable' ( ( ruleEString ) ) otherlv_6= 'influencingParameter' ( ( ruleEString ) ) otherlv_8= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8134:1: (otherlv_0= 'DependencyRelationship' otherlv_1= '{' otherlv_2= 'surroundingEntity' ( ( ruleEString ) ) otherlv_4= 'influencedVariable' ( ( ruleEString ) ) otherlv_6= 'influencingParameter' ( ( ruleEString ) ) otherlv_8= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8134:3: otherlv_0= 'DependencyRelationship' otherlv_1= '{' otherlv_2= 'surroundingEntity' ( ( ruleEString ) ) otherlv_4= 'influencedVariable' ( ( ruleEString ) ) otherlv_6= 'influencingParameter' ( ( ruleEString ) ) otherlv_8= '}' + { + otherlv_0=(Token)match(input,149,FollowSets000.FOLLOW_149_in_ruleDependencyRelationship17609); + + newLeafNode(otherlv_0, grammarAccess.getDependencyRelationshipAccess().getDependencyRelationshipKeyword_0()); + + otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleDependencyRelationship17621); + + newLeafNode(otherlv_1, grammarAccess.getDependencyRelationshipAccess().getLeftCurlyBracketKeyword_1()); + + otherlv_2=(Token)match(input,150,FollowSets000.FOLLOW_150_in_ruleDependencyRelationship17633); + + newLeafNode(otherlv_2, grammarAccess.getDependencyRelationshipAccess().getSurroundingEntityKeyword_2()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8146:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8147:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8147:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8148:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getDependencyRelationshipRule()); + } + + + newCompositeNode(grammarAccess.getDependencyRelationshipAccess().getSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleDependencyRelationship17656); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_4=(Token)match(input,151,FollowSets000.FOLLOW_151_in_ruleDependencyRelationship17668); + + newLeafNode(otherlv_4, grammarAccess.getDependencyRelationshipAccess().getInfluencedVariableKeyword_4()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8165:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8166:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8166:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8167:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getDependencyRelationshipRule()); + } + + + newCompositeNode(grammarAccess.getDependencyRelationshipAccess().getInfluencedVariableInfluencedVariableCrossReference_5_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleDependencyRelationship17691); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_6=(Token)match(input,49,FollowSets000.FOLLOW_49_in_ruleDependencyRelationship17703); + + newLeafNode(otherlv_6, grammarAccess.getDependencyRelationshipAccess().getInfluencingParameterKeyword_6()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8184:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8185:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8185:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8186:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getDependencyRelationshipRule()); + } + + + newCompositeNode(grammarAccess.getDependencyRelationshipAccess().getInfluencingParameterInfluencingParameterCrossReference_7_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleDependencyRelationship17726); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_8=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleDependencyRelationship17738); + + newLeafNode(otherlv_8, grammarAccess.getDependencyRelationshipAccess().getRightCurlyBracketKeyword_8()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleDependencyRelationship" + + + // $ANTLR start "entryRuleCorrelationRelationship" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8211:1: entryRuleCorrelationRelationship returns [EObject current=null] : iv_ruleCorrelationRelationship= ruleCorrelationRelationship EOF ; + public final EObject entryRuleCorrelationRelationship() throws RecognitionException { + EObject current = null; + + EObject iv_ruleCorrelationRelationship = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8212:2: (iv_ruleCorrelationRelationship= ruleCorrelationRelationship EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8213:2: iv_ruleCorrelationRelationship= ruleCorrelationRelationship EOF + { + newCompositeNode(grammarAccess.getCorrelationRelationshipRule()); + pushFollow(FollowSets000.FOLLOW_ruleCorrelationRelationship_in_entryRuleCorrelationRelationship17774); + iv_ruleCorrelationRelationship=ruleCorrelationRelationship(); + + state._fsp--; + + current =iv_ruleCorrelationRelationship; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCorrelationRelationship17784); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleCorrelationRelationship" + + + // $ANTLR start "ruleCorrelationRelationship" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8220:1: ruleCorrelationRelationship returns [EObject current=null] : (otherlv_0= 'CorrelationRelationship' otherlv_1= '{' otherlv_2= 'surroundingEntity' ( ( ruleEString ) ) otherlv_4= 'leftInfluencingParameter' ( ( ruleEString ) ) otherlv_6= 'rightInfluencingParameter' ( ( ruleEString ) ) otherlv_8= 'leftComponentInstanceReference' ( (lv_leftComponentInstanceReference_9_0= ruleComponentInstanceReference ) ) otherlv_10= 'rightComponentInstanceReference' ( (lv_rightComponentInstanceReference_11_0= ruleComponentInstanceReference ) ) otherlv_12= '}' ) ; + public final EObject ruleCorrelationRelationship() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_8=null; + Token otherlv_10=null; + Token otherlv_12=null; + EObject lv_leftComponentInstanceReference_9_0 = null; + + EObject lv_rightComponentInstanceReference_11_0 = null; + + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8223:28: ( (otherlv_0= 'CorrelationRelationship' otherlv_1= '{' otherlv_2= 'surroundingEntity' ( ( ruleEString ) ) otherlv_4= 'leftInfluencingParameter' ( ( ruleEString ) ) otherlv_6= 'rightInfluencingParameter' ( ( ruleEString ) ) otherlv_8= 'leftComponentInstanceReference' ( (lv_leftComponentInstanceReference_9_0= ruleComponentInstanceReference ) ) otherlv_10= 'rightComponentInstanceReference' ( (lv_rightComponentInstanceReference_11_0= ruleComponentInstanceReference ) ) otherlv_12= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8224:1: (otherlv_0= 'CorrelationRelationship' otherlv_1= '{' otherlv_2= 'surroundingEntity' ( ( ruleEString ) ) otherlv_4= 'leftInfluencingParameter' ( ( ruleEString ) ) otherlv_6= 'rightInfluencingParameter' ( ( ruleEString ) ) otherlv_8= 'leftComponentInstanceReference' ( (lv_leftComponentInstanceReference_9_0= ruleComponentInstanceReference ) ) otherlv_10= 'rightComponentInstanceReference' ( (lv_rightComponentInstanceReference_11_0= ruleComponentInstanceReference ) ) otherlv_12= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8224:1: (otherlv_0= 'CorrelationRelationship' otherlv_1= '{' otherlv_2= 'surroundingEntity' ( ( ruleEString ) ) otherlv_4= 'leftInfluencingParameter' ( ( ruleEString ) ) otherlv_6= 'rightInfluencingParameter' ( ( ruleEString ) ) otherlv_8= 'leftComponentInstanceReference' ( (lv_leftComponentInstanceReference_9_0= ruleComponentInstanceReference ) ) otherlv_10= 'rightComponentInstanceReference' ( (lv_rightComponentInstanceReference_11_0= ruleComponentInstanceReference ) ) otherlv_12= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8224:3: otherlv_0= 'CorrelationRelationship' otherlv_1= '{' otherlv_2= 'surroundingEntity' ( ( ruleEString ) ) otherlv_4= 'leftInfluencingParameter' ( ( ruleEString ) ) otherlv_6= 'rightInfluencingParameter' ( ( ruleEString ) ) otherlv_8= 'leftComponentInstanceReference' ( (lv_leftComponentInstanceReference_9_0= ruleComponentInstanceReference ) ) otherlv_10= 'rightComponentInstanceReference' ( (lv_rightComponentInstanceReference_11_0= ruleComponentInstanceReference ) ) otherlv_12= '}' + { + otherlv_0=(Token)match(input,152,FollowSets000.FOLLOW_152_in_ruleCorrelationRelationship17821); + + newLeafNode(otherlv_0, grammarAccess.getCorrelationRelationshipAccess().getCorrelationRelationshipKeyword_0()); + + otherlv_1=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleCorrelationRelationship17833); + + newLeafNode(otherlv_1, grammarAccess.getCorrelationRelationshipAccess().getLeftCurlyBracketKeyword_1()); + + otherlv_2=(Token)match(input,150,FollowSets000.FOLLOW_150_in_ruleCorrelationRelationship17845); + + newLeafNode(otherlv_2, grammarAccess.getCorrelationRelationshipAccess().getSurroundingEntityKeyword_2()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8236:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8237:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8237:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8238:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getCorrelationRelationshipRule()); + } + + + newCompositeNode(grammarAccess.getCorrelationRelationshipAccess().getSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCorrelationRelationship17868); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_4=(Token)match(input,153,FollowSets000.FOLLOW_153_in_ruleCorrelationRelationship17880); + + newLeafNode(otherlv_4, grammarAccess.getCorrelationRelationshipAccess().getLeftInfluencingParameterKeyword_4()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8255:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8256:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8256:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8257:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getCorrelationRelationshipRule()); + } + + + newCompositeNode(grammarAccess.getCorrelationRelationshipAccess().getLeftInfluencingParameterInfluencingParameterCrossReference_5_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCorrelationRelationship17903); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_6=(Token)match(input,154,FollowSets000.FOLLOW_154_in_ruleCorrelationRelationship17915); + + newLeafNode(otherlv_6, grammarAccess.getCorrelationRelationshipAccess().getRightInfluencingParameterKeyword_6()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8274:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8275:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8275:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8276:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getCorrelationRelationshipRule()); + } + + + newCompositeNode(grammarAccess.getCorrelationRelationshipAccess().getRightInfluencingParameterInfluencingParameterCrossReference_7_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleCorrelationRelationship17938); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_8=(Token)match(input,155,FollowSets000.FOLLOW_155_in_ruleCorrelationRelationship17950); + + newLeafNode(otherlv_8, grammarAccess.getCorrelationRelationshipAccess().getLeftComponentInstanceReferenceKeyword_8()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8293:1: ( (lv_leftComponentInstanceReference_9_0= ruleComponentInstanceReference ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8294:1: (lv_leftComponentInstanceReference_9_0= ruleComponentInstanceReference ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8294:1: (lv_leftComponentInstanceReference_9_0= ruleComponentInstanceReference ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8295:3: lv_leftComponentInstanceReference_9_0= ruleComponentInstanceReference + { + + newCompositeNode(grammarAccess.getCorrelationRelationshipAccess().getLeftComponentInstanceReferenceComponentInstanceReferenceParserRuleCall_9_0()); + + pushFollow(FollowSets000.FOLLOW_ruleComponentInstanceReference_in_ruleCorrelationRelationship17971); + lv_leftComponentInstanceReference_9_0=ruleComponentInstanceReference(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCorrelationRelationshipRule()); + } + set( + current, + "leftComponentInstanceReference", + lv_leftComponentInstanceReference_9_0, + "ComponentInstanceReference"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_10=(Token)match(input,156,FollowSets000.FOLLOW_156_in_ruleCorrelationRelationship17983); + + newLeafNode(otherlv_10, grammarAccess.getCorrelationRelationshipAccess().getRightComponentInstanceReferenceKeyword_10()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8315:1: ( (lv_rightComponentInstanceReference_11_0= ruleComponentInstanceReference ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8316:1: (lv_rightComponentInstanceReference_11_0= ruleComponentInstanceReference ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8316:1: (lv_rightComponentInstanceReference_11_0= ruleComponentInstanceReference ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8317:3: lv_rightComponentInstanceReference_11_0= ruleComponentInstanceReference + { + + newCompositeNode(grammarAccess.getCorrelationRelationshipAccess().getRightComponentInstanceReferenceComponentInstanceReferenceParserRuleCall_11_0()); + + pushFollow(FollowSets000.FOLLOW_ruleComponentInstanceReference_in_ruleCorrelationRelationship18004); + lv_rightComponentInstanceReference_11_0=ruleComponentInstanceReference(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCorrelationRelationshipRule()); + } + set( + current, + "rightComponentInstanceReference", + lv_rightComponentInstanceReference_11_0, + "ComponentInstanceReference"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_12=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleCorrelationRelationship18016); + + newLeafNode(otherlv_12, grammarAccess.getCorrelationRelationshipAccess().getRightCurlyBracketKeyword_12()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleCorrelationRelationship" + + + // $ANTLR start "entryRuleComponentInstanceReference" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8347:1: entryRuleComponentInstanceReference returns [EObject current=null] : iv_ruleComponentInstanceReference= ruleComponentInstanceReference EOF ; + public final EObject entryRuleComponentInstanceReference() throws RecognitionException { + EObject current = null; + + EObject iv_ruleComponentInstanceReference = null; + + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8348:2: (iv_ruleComponentInstanceReference= ruleComponentInstanceReference EOF ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8349:2: iv_ruleComponentInstanceReference= ruleComponentInstanceReference EOF + { + newCompositeNode(grammarAccess.getComponentInstanceReferenceRule()); + pushFollow(FollowSets000.FOLLOW_ruleComponentInstanceReference_in_entryRuleComponentInstanceReference18054); + iv_ruleComponentInstanceReference=ruleComponentInstanceReference(); + + state._fsp--; + + current =iv_ruleComponentInstanceReference; + match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleComponentInstanceReference18064); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleComponentInstanceReference" + + + // $ANTLR start "ruleComponentInstanceReference" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8356:1: ruleComponentInstanceReference returns [EObject current=null] : ( () otherlv_1= 'ComponentInstanceReference' otherlv_2= '{' (otherlv_3= 'assemblies' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? otherlv_9= '}' ) ; + public final EObject ruleComponentInstanceReference() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_2=null; + Token otherlv_3=null; + Token otherlv_4=null; + Token otherlv_6=null; + Token otherlv_8=null; + Token otherlv_9=null; + + enterRule(); + + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8359:28: ( ( () otherlv_1= 'ComponentInstanceReference' otherlv_2= '{' (otherlv_3= 'assemblies' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? otherlv_9= '}' ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8360:1: ( () otherlv_1= 'ComponentInstanceReference' otherlv_2= '{' (otherlv_3= 'assemblies' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? otherlv_9= '}' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8360:1: ( () otherlv_1= 'ComponentInstanceReference' otherlv_2= '{' (otherlv_3= 'assemblies' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? otherlv_9= '}' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8360:2: () otherlv_1= 'ComponentInstanceReference' otherlv_2= '{' (otherlv_3= 'assemblies' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? otherlv_9= '}' + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8360:2: () + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8361:5: + { + + current = forceCreateModelElement( + grammarAccess.getComponentInstanceReferenceAccess().getComponentInstanceReferenceAction_0(), + current); + + + } + + otherlv_1=(Token)match(input,157,FollowSets000.FOLLOW_157_in_ruleComponentInstanceReference18110); + + newLeafNode(otherlv_1, grammarAccess.getComponentInstanceReferenceAccess().getComponentInstanceReferenceKeyword_1()); + + otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleComponentInstanceReference18122); + + newLeafNode(otherlv_2, grammarAccess.getComponentInstanceReferenceAccess().getLeftCurlyBracketKeyword_2()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8374:1: (otherlv_3= 'assemblies' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' )? + int alt150=2; + int LA150_0 = input.LA(1); + + if ( (LA150_0==158) ) { + alt150=1; + } + switch (alt150) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8374:3: otherlv_3= 'assemblies' otherlv_4= '(' ( ( ruleEString ) ) (otherlv_6= ',' ( ( ruleEString ) ) )* otherlv_8= ')' + { + otherlv_3=(Token)match(input,158,FollowSets000.FOLLOW_158_in_ruleComponentInstanceReference18135); + + newLeafNode(otherlv_3, grammarAccess.getComponentInstanceReferenceAccess().getAssembliesKeyword_3_0()); + + otherlv_4=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleComponentInstanceReference18147); + + newLeafNode(otherlv_4, grammarAccess.getComponentInstanceReferenceAccess().getLeftParenthesisKeyword_3_1()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8382:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8383:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8383:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8384:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getComponentInstanceReferenceRule()); + } + + + newCompositeNode(grammarAccess.getComponentInstanceReferenceAccess().getAssembliesAssemblyContextCrossReference_3_2_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleComponentInstanceReference18170); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8397:2: (otherlv_6= ',' ( ( ruleEString ) ) )* + loop149: + do { + int alt149=2; + int LA149_0 = input.LA(1); + + if ( (LA149_0==15) ) { + alt149=1; + } + + + switch (alt149) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8397:4: otherlv_6= ',' ( ( ruleEString ) ) + { + otherlv_6=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleComponentInstanceReference18183); + + newLeafNode(otherlv_6, grammarAccess.getComponentInstanceReferenceAccess().getCommaKeyword_3_3_0()); + + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8401:1: ( ( ruleEString ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8402:1: ( ruleEString ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8402:1: ( ruleEString ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8403:3: ruleEString + { + + if (current==null) { + current = createModelElement(grammarAccess.getComponentInstanceReferenceRule()); + } + + + newCompositeNode(grammarAccess.getComponentInstanceReferenceAccess().getAssembliesAssemblyContextCrossReference_3_3_1_0()); + + pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleComponentInstanceReference18206); + ruleEString(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop149; + } + } while (true); + + otherlv_8=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleComponentInstanceReference18220); + + newLeafNode(otherlv_8, grammarAccess.getComponentInstanceReferenceAccess().getRightParenthesisKeyword_3_4()); + + + } + break; + + } + + otherlv_9=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleComponentInstanceReference18234); + + newLeafNode(otherlv_9, grammarAccess.getComponentInstanceReferenceAccess().getRightCurlyBracketKeyword_4()); + + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleComponentInstanceReference" + + + // $ANTLR start "rulePrimitiveTypeEnum" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8432:1: rulePrimitiveTypeEnum returns [Enumerator current=null] : ( (enumLiteral_0= 'INT' ) | (enumLiteral_1= 'STRING' ) | (enumLiteral_2= 'BOOL' ) | (enumLiteral_3= 'DOUBLE' ) | (enumLiteral_4= 'CHAR' ) | (enumLiteral_5= 'BYTE' ) | (enumLiteral_6= 'LONG' ) ) ; + public final Enumerator rulePrimitiveTypeEnum() throws RecognitionException { + Enumerator current = null; + + Token enumLiteral_0=null; + Token enumLiteral_1=null; + Token enumLiteral_2=null; + Token enumLiteral_3=null; + Token enumLiteral_4=null; + Token enumLiteral_5=null; + Token enumLiteral_6=null; + + enterRule(); + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8434:28: ( ( (enumLiteral_0= 'INT' ) | (enumLiteral_1= 'STRING' ) | (enumLiteral_2= 'BOOL' ) | (enumLiteral_3= 'DOUBLE' ) | (enumLiteral_4= 'CHAR' ) | (enumLiteral_5= 'BYTE' ) | (enumLiteral_6= 'LONG' ) ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8435:1: ( (enumLiteral_0= 'INT' ) | (enumLiteral_1= 'STRING' ) | (enumLiteral_2= 'BOOL' ) | (enumLiteral_3= 'DOUBLE' ) | (enumLiteral_4= 'CHAR' ) | (enumLiteral_5= 'BYTE' ) | (enumLiteral_6= 'LONG' ) ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8435:1: ( (enumLiteral_0= 'INT' ) | (enumLiteral_1= 'STRING' ) | (enumLiteral_2= 'BOOL' ) | (enumLiteral_3= 'DOUBLE' ) | (enumLiteral_4= 'CHAR' ) | (enumLiteral_5= 'BYTE' ) | (enumLiteral_6= 'LONG' ) ) + int alt151=7; + switch ( input.LA(1) ) { + case 159: + { + alt151=1; + } + break; + case 160: + { + alt151=2; + } + break; + case 161: + { + alt151=3; + } + break; + case 162: + { + alt151=4; + } + break; + case 163: + { + alt151=5; + } + break; + case 164: + { + alt151=6; + } + break; + case 165: + { + alt151=7; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 151, 0, input); + + throw nvae; + } + + switch (alt151) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8435:2: (enumLiteral_0= 'INT' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8435:2: (enumLiteral_0= 'INT' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8435:4: enumLiteral_0= 'INT' + { + enumLiteral_0=(Token)match(input,159,FollowSets000.FOLLOW_159_in_rulePrimitiveTypeEnum18284); + + current = grammarAccess.getPrimitiveTypeEnumAccess().getINTEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getPrimitiveTypeEnumAccess().getINTEnumLiteralDeclaration_0()); + + + } + + + } + break; + case 2 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8441:6: (enumLiteral_1= 'STRING' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8441:6: (enumLiteral_1= 'STRING' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8441:8: enumLiteral_1= 'STRING' + { + enumLiteral_1=(Token)match(input,160,FollowSets000.FOLLOW_160_in_rulePrimitiveTypeEnum18301); + + current = grammarAccess.getPrimitiveTypeEnumAccess().getSTRINGEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getPrimitiveTypeEnumAccess().getSTRINGEnumLiteralDeclaration_1()); + + + } + + + } + break; + case 3 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8447:6: (enumLiteral_2= 'BOOL' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8447:6: (enumLiteral_2= 'BOOL' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8447:8: enumLiteral_2= 'BOOL' + { + enumLiteral_2=(Token)match(input,161,FollowSets000.FOLLOW_161_in_rulePrimitiveTypeEnum18318); + + current = grammarAccess.getPrimitiveTypeEnumAccess().getBOOLEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getPrimitiveTypeEnumAccess().getBOOLEnumLiteralDeclaration_2()); + + + } + + + } + break; + case 4 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8453:6: (enumLiteral_3= 'DOUBLE' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8453:6: (enumLiteral_3= 'DOUBLE' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8453:8: enumLiteral_3= 'DOUBLE' + { + enumLiteral_3=(Token)match(input,162,FollowSets000.FOLLOW_162_in_rulePrimitiveTypeEnum18335); + + current = grammarAccess.getPrimitiveTypeEnumAccess().getDOUBLEEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getPrimitiveTypeEnumAccess().getDOUBLEEnumLiteralDeclaration_3()); + + + } + + + } + break; + case 5 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8459:6: (enumLiteral_4= 'CHAR' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8459:6: (enumLiteral_4= 'CHAR' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8459:8: enumLiteral_4= 'CHAR' + { + enumLiteral_4=(Token)match(input,163,FollowSets000.FOLLOW_163_in_rulePrimitiveTypeEnum18352); + + current = grammarAccess.getPrimitiveTypeEnumAccess().getCHAREnumLiteralDeclaration_4().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_4, grammarAccess.getPrimitiveTypeEnumAccess().getCHAREnumLiteralDeclaration_4()); + + + } + + + } + break; + case 6 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8465:6: (enumLiteral_5= 'BYTE' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8465:6: (enumLiteral_5= 'BYTE' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8465:8: enumLiteral_5= 'BYTE' + { + enumLiteral_5=(Token)match(input,164,FollowSets000.FOLLOW_164_in_rulePrimitiveTypeEnum18369); + + current = grammarAccess.getPrimitiveTypeEnumAccess().getBYTEEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_5, grammarAccess.getPrimitiveTypeEnumAccess().getBYTEEnumLiteralDeclaration_5()); + + + } + + + } + break; + case 7 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8471:6: (enumLiteral_6= 'LONG' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8471:6: (enumLiteral_6= 'LONG' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8471:8: enumLiteral_6= 'LONG' + { + enumLiteral_6=(Token)match(input,165,FollowSets000.FOLLOW_165_in_rulePrimitiveTypeEnum18386); + + current = grammarAccess.getPrimitiveTypeEnumAccess().getLONGEnumLiteralDeclaration_6().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_6, grammarAccess.getPrimitiveTypeEnumAccess().getLONGEnumLiteralDeclaration_6()); + + + } + + + } + break; + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "rulePrimitiveTypeEnum" + + + // $ANTLR start "ruleParameterModifier" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8481:1: ruleParameterModifier returns [Enumerator current=null] : ( (enumLiteral_0= 'NONE' ) | (enumLiteral_1= 'IN' ) | (enumLiteral_2= 'OUT' ) | (enumLiteral_3= 'INOUT' ) ) ; + public final Enumerator ruleParameterModifier() throws RecognitionException { + Enumerator current = null; + + Token enumLiteral_0=null; + Token enumLiteral_1=null; + Token enumLiteral_2=null; + Token enumLiteral_3=null; + + enterRule(); + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8483:28: ( ( (enumLiteral_0= 'NONE' ) | (enumLiteral_1= 'IN' ) | (enumLiteral_2= 'OUT' ) | (enumLiteral_3= 'INOUT' ) ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8484:1: ( (enumLiteral_0= 'NONE' ) | (enumLiteral_1= 'IN' ) | (enumLiteral_2= 'OUT' ) | (enumLiteral_3= 'INOUT' ) ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8484:1: ( (enumLiteral_0= 'NONE' ) | (enumLiteral_1= 'IN' ) | (enumLiteral_2= 'OUT' ) | (enumLiteral_3= 'INOUT' ) ) + int alt152=4; + switch ( input.LA(1) ) { + case 166: + { + alt152=1; + } + break; + case 167: + { + alt152=2; + } + break; + case 168: + { + alt152=3; + } + break; + case 169: + { + alt152=4; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 152, 0, input); + + throw nvae; + } + + switch (alt152) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8484:2: (enumLiteral_0= 'NONE' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8484:2: (enumLiteral_0= 'NONE' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8484:4: enumLiteral_0= 'NONE' + { + enumLiteral_0=(Token)match(input,166,FollowSets000.FOLLOW_166_in_ruleParameterModifier18431); + + current = grammarAccess.getParameterModifierAccess().getNONEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getParameterModifierAccess().getNONEEnumLiteralDeclaration_0()); + + + } + + + } + break; + case 2 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8490:6: (enumLiteral_1= 'IN' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8490:6: (enumLiteral_1= 'IN' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8490:8: enumLiteral_1= 'IN' + { + enumLiteral_1=(Token)match(input,167,FollowSets000.FOLLOW_167_in_ruleParameterModifier18448); + + current = grammarAccess.getParameterModifierAccess().getINEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getParameterModifierAccess().getINEnumLiteralDeclaration_1()); + + + } + + + } + break; + case 3 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8496:6: (enumLiteral_2= 'OUT' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8496:6: (enumLiteral_2= 'OUT' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8496:8: enumLiteral_2= 'OUT' + { + enumLiteral_2=(Token)match(input,168,FollowSets000.FOLLOW_168_in_ruleParameterModifier18465); + + current = grammarAccess.getParameterModifierAccess().getOUTEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getParameterModifierAccess().getOUTEnumLiteralDeclaration_2()); + + + } + + + } + break; + case 4 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8502:6: (enumLiteral_3= 'INOUT' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8502:6: (enumLiteral_3= 'INOUT' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8502:8: enumLiteral_3= 'INOUT' + { + enumLiteral_3=(Token)match(input,169,FollowSets000.FOLLOW_169_in_ruleParameterModifier18482); + + current = grammarAccess.getParameterModifierAccess().getINOUTEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getParameterModifierAccess().getINOUTEnumLiteralDeclaration_3()); + + + } + + + } + break; + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleParameterModifier" + + + // $ANTLR start "ruleCharacterizationType" + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8512:1: ruleCharacterizationType returns [Enumerator current=null] : ( (enumLiteral_0= 'VALUE' ) | (enumLiteral_1= 'NUMBER_OF_ELEMENTS' ) ) ; + public final Enumerator ruleCharacterizationType() throws RecognitionException { + Enumerator current = null; + + Token enumLiteral_0=null; + Token enumLiteral_1=null; + + enterRule(); + try { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8514:28: ( ( (enumLiteral_0= 'VALUE' ) | (enumLiteral_1= 'NUMBER_OF_ELEMENTS' ) ) ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8515:1: ( (enumLiteral_0= 'VALUE' ) | (enumLiteral_1= 'NUMBER_OF_ELEMENTS' ) ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8515:1: ( (enumLiteral_0= 'VALUE' ) | (enumLiteral_1= 'NUMBER_OF_ELEMENTS' ) ) + int alt153=2; + int LA153_0 = input.LA(1); + + if ( (LA153_0==170) ) { + alt153=1; + } + else if ( (LA153_0==171) ) { + alt153=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 153, 0, input); + + throw nvae; + } + switch (alt153) { + case 1 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8515:2: (enumLiteral_0= 'VALUE' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8515:2: (enumLiteral_0= 'VALUE' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8515:4: enumLiteral_0= 'VALUE' + { + enumLiteral_0=(Token)match(input,170,FollowSets000.FOLLOW_170_in_ruleCharacterizationType18527); + + current = grammarAccess.getCharacterizationTypeAccess().getVALUEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getCharacterizationTypeAccess().getVALUEEnumLiteralDeclaration_0()); + + + } + + + } + break; + case 2 : + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8521:6: (enumLiteral_1= 'NUMBER_OF_ELEMENTS' ) + { + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8521:6: (enumLiteral_1= 'NUMBER_OF_ELEMENTS' ) + // ../edu.kit.ipd.descartes.mm.applicationlevel.repository.text/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/parser/antlr/internal/InternalRepositoryDSL.g:8521:8: enumLiteral_1= 'NUMBER_OF_ELEMENTS' + { + enumLiteral_1=(Token)match(input,171,FollowSets000.FOLLOW_171_in_ruleCharacterizationType18544); + + current = grammarAccess.getCharacterizationTypeAccess().getNUMBER_OF_ELEMENTSEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getCharacterizationTypeAccess().getNUMBER_OF_ELEMENTSEnumLiteralDeclaration_1()); + + + } + + + } + break; + + } + + + } + + leaveRule(); + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleCharacterizationType" + + // Delegated rules + + + + + + private static class FollowSets000 { + public static final BitSet FOLLOW_ruleRepository_in_entryRuleRepository75 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleRepository85 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_11_in_ruleRepository122 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleRepository143 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleRepository155 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_13_in_ruleRepository167 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleRepository188 = new BitSet(new long[]{0x0000000000074000L}); + public static final BitSet FOLLOW_14_in_ruleRepository201 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleRepository213 = new BitSet(new long[]{0x0000000940000000L}); + public static final BitSet FOLLOW_ruleDataType_in_ruleRepository234 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleRepository247 = new BitSet(new long[]{0x0000000940000000L}); + public static final BitSet FOLLOW_ruleDataType_in_ruleRepository268 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleRepository282 = new BitSet(new long[]{0x0000000000070000L}); + public static final BitSet FOLLOW_17_in_ruleRepository297 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleRepository309 = new BitSet(new long[]{0x0000000000080000L}); + public static final BitSet FOLLOW_ruleInterface_in_ruleRepository330 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleRepository343 = new BitSet(new long[]{0x0000000000080000L}); + public static final BitSet FOLLOW_ruleInterface_in_ruleRepository364 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleRepository378 = new BitSet(new long[]{0x0000000000050000L}); + public static final BitSet FOLLOW_18_in_ruleRepository393 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleRepository405 = new BitSet(new long[]{0x8480000001000000L}); + public static final BitSet FOLLOW_ruleRepositoryComponent_in_ruleRepository426 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleRepository439 = new BitSet(new long[]{0x8480000001000000L}); + public static final BitSet FOLLOW_ruleRepositoryComponent_in_ruleRepository460 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleRepository474 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleRepository488 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleDataType_in_entryRuleDataType524 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleDataType534 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleCollectionDataType_in_ruleDataType581 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleCompositeDataType_in_ruleDataType608 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rulePrimitiveDataType_in_ruleDataType635 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleRepositoryComponent_in_entryRuleRepositoryComponent670 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleRepositoryComponent680 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleRepositoryComponent_Impl_in_ruleRepositoryComponent727 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleBasicComponent_in_ruleRepositoryComponent754 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleCompositeComponent_in_ruleRepositoryComponent781 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleSubSystem_in_ruleRepositoryComponent808 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleInfluencingParameter_in_entryRuleInfluencingParameter845 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleInfluencingParameter855 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleInfluencingParameter_Impl_in_ruleInfluencingParameter902 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleServiceInputParameter_in_ruleInfluencingParameter929 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleExternalCallReturnParameter_in_ruleInfluencingParameter956 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleExternalCallParameter_in_ruleInfluencingParameter983 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleExternalCall_in_entryRuleExternalCall1024 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleExternalCall1034 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleExternalCall_Impl_in_ruleExternalCall1081 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleExternalCallAction_in_ruleExternalCall1108 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleAbstractAction_in_entryRuleAbstractAction1143 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleAbstractAction1153 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleAbstractAction_Impl_in_ruleAbstractAction1200 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleStartAction_in_ruleAbstractAction1227 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleStopAction_in_ruleAbstractAction1254 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleAcquireAction_in_ruleAbstractAction1281 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleReleaseAction_in_ruleAbstractAction1308 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleInternalAction_in_ruleAbstractAction1335 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleForkAction_in_ruleAbstractAction1362 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleBranchAction_in_ruleAbstractAction1389 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleLoopAction_in_ruleAbstractAction1416 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleExternalCallAction_in_ruleAbstractAction1443 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleComponentInternalBehavior_in_entryRuleComponentInternalBehavior1478 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleComponentInternalBehavior1488 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleComponentInternalBehavior_Impl_in_ruleComponentInternalBehavior1535 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleFineGrainedBehavior_in_ruleComponentInternalBehavior1562 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleEString_in_entryRuleEString1602 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleEString1613 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_STRING_in_ruleEString1653 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_ID_in_ruleEString1679 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleInterface_in_entryRuleInterface1724 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleInterface1734 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_19_in_ruleInterface1771 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleInterface1792 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleInterface1804 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_13_in_ruleInterface1816 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleInterface1837 = new BitSet(new long[]{0x0000000000910000L}); + public static final BitSet FOLLOW_20_in_ruleInterface1850 = new BitSet(new long[]{0x0000000000200000L}); + public static final BitSet FOLLOW_21_in_ruleInterface1862 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleInterface1885 = new BitSet(new long[]{0x0000000000408000L}); + public static final BitSet FOLLOW_15_in_ruleInterface1898 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleInterface1921 = new BitSet(new long[]{0x0000000000408000L}); + public static final BitSet FOLLOW_22_in_ruleInterface1935 = new BitSet(new long[]{0x0000000000810000L}); + public static final BitSet FOLLOW_23_in_ruleInterface1950 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleInterface1962 = new BitSet(new long[]{0x0000008000000000L}); + public static final BitSet FOLLOW_ruleSignature_in_ruleInterface1983 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleInterface1996 = new BitSet(new long[]{0x0000008000000000L}); + public static final BitSet FOLLOW_ruleSignature_in_ruleInterface2017 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleInterface2031 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleInterface2045 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleRepositoryComponent_Impl_in_entryRuleRepositoryComponent_Impl2081 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleRepositoryComponent_Impl2091 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_24_in_ruleRepositoryComponent_Impl2128 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleRepositoryComponent_Impl2149 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleRepositoryComponent_Impl2161 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_13_in_ruleRepositoryComponent_Impl2173 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleRepositoryComponent_Impl2194 = new BitSet(new long[]{0x000000003E010000L}); + public static final BitSet FOLLOW_25_in_ruleRepositoryComponent_Impl2207 = new BitSet(new long[]{0x0000000000200000L}); + public static final BitSet FOLLOW_21_in_ruleRepositoryComponent_Impl2219 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleRepositoryComponent_Impl2242 = new BitSet(new long[]{0x0000000000408000L}); + public static final BitSet FOLLOW_15_in_ruleRepositoryComponent_Impl2255 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleRepositoryComponent_Impl2278 = new BitSet(new long[]{0x0000000000408000L}); + public static final BitSet FOLLOW_22_in_ruleRepositoryComponent_Impl2292 = new BitSet(new long[]{0x000000003C010000L}); + public static final BitSet FOLLOW_26_in_ruleRepositoryComponent_Impl2307 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleRepositoryComponent_Impl2319 = new BitSet(new long[]{0x0000100000000000L}); + public static final BitSet FOLLOW_ruleProvidedRole_in_ruleRepositoryComponent_Impl2340 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleRepositoryComponent_Impl2353 = new BitSet(new long[]{0x0000100000000000L}); + public static final BitSet FOLLOW_ruleProvidedRole_in_ruleRepositoryComponent_Impl2374 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleRepositoryComponent_Impl2388 = new BitSet(new long[]{0x0000000038010000L}); + public static final BitSet FOLLOW_27_in_ruleRepositoryComponent_Impl2403 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleRepositoryComponent_Impl2415 = new BitSet(new long[]{0x0000400000000000L}); + public static final BitSet FOLLOW_ruleBlackBoxBehavior_in_ruleRepositoryComponent_Impl2436 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleRepositoryComponent_Impl2449 = new BitSet(new long[]{0x0000400000000000L}); + public static final BitSet FOLLOW_ruleBlackBoxBehavior_in_ruleRepositoryComponent_Impl2470 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleRepositoryComponent_Impl2484 = new BitSet(new long[]{0x0000000030010000L}); + public static final BitSet FOLLOW_28_in_ruleRepositoryComponent_Impl2499 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleRepositoryComponent_Impl2511 = new BitSet(new long[]{0x0008000000000000L}); + public static final BitSet FOLLOW_ruleRequiredRole_in_ruleRepositoryComponent_Impl2532 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleRepositoryComponent_Impl2545 = new BitSet(new long[]{0x0008000000000000L}); + public static final BitSet FOLLOW_ruleRequiredRole_in_ruleRepositoryComponent_Impl2566 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleRepositoryComponent_Impl2580 = new BitSet(new long[]{0x0000000020010000L}); + public static final BitSet FOLLOW_29_in_ruleRepositoryComponent_Impl2595 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleRepositoryComponent_Impl2607 = new BitSet(new long[]{0x0010000000000000L}); + public static final BitSet FOLLOW_ruleCoarseGrainedBehavior_in_ruleRepositoryComponent_Impl2628 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleRepositoryComponent_Impl2641 = new BitSet(new long[]{0x0010000000000000L}); + public static final BitSet FOLLOW_ruleCoarseGrainedBehavior_in_ruleRepositoryComponent_Impl2662 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleRepositoryComponent_Impl2676 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleRepositoryComponent_Impl2690 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleCollectionDataType_in_entryRuleCollectionDataType2726 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleCollectionDataType2736 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_30_in_ruleCollectionDataType2773 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleCollectionDataType2794 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleCollectionDataType2806 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_13_in_ruleCollectionDataType2818 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleCollectionDataType2839 = new BitSet(new long[]{0x0000000080000000L}); + public static final BitSet FOLLOW_31_in_ruleCollectionDataType2851 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleCollectionDataType2874 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleCollectionDataType2886 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleCompositeDataType_in_entryRuleCompositeDataType2922 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleCompositeDataType2932 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_32_in_ruleCompositeDataType2969 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleCompositeDataType2990 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleCompositeDataType3002 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_13_in_ruleCompositeDataType3014 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleCompositeDataType3035 = new BitSet(new long[]{0x0000000600010000L}); + public static final BitSet FOLLOW_33_in_ruleCompositeDataType3048 = new BitSet(new long[]{0x0000000000200000L}); + public static final BitSet FOLLOW_21_in_ruleCompositeDataType3060 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleCompositeDataType3083 = new BitSet(new long[]{0x0000000000408000L}); + public static final BitSet FOLLOW_15_in_ruleCompositeDataType3096 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleCompositeDataType3119 = new BitSet(new long[]{0x0000000000408000L}); + public static final BitSet FOLLOW_22_in_ruleCompositeDataType3133 = new BitSet(new long[]{0x0000000400010000L}); + public static final BitSet FOLLOW_34_in_ruleCompositeDataType3148 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleCompositeDataType3160 = new BitSet(new long[]{0x0000002000000000L}); + public static final BitSet FOLLOW_ruleInnerDeclaration_in_ruleCompositeDataType3181 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleCompositeDataType3194 = new BitSet(new long[]{0x0000002000000000L}); + public static final BitSet FOLLOW_ruleInnerDeclaration_in_ruleCompositeDataType3215 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleCompositeDataType3229 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleCompositeDataType3243 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rulePrimitiveDataType_in_entryRulePrimitiveDataType3279 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRulePrimitiveDataType3289 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_35_in_rulePrimitiveDataType3326 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_rulePrimitiveDataType3338 = new BitSet(new long[]{0x0000001000000000L}); + public static final BitSet FOLLOW_36_in_rulePrimitiveDataType3350 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000003F80000000L}); + public static final BitSet FOLLOW_rulePrimitiveTypeEnum_in_rulePrimitiveDataType3371 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_rulePrimitiveDataType3383 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleInnerDeclaration_in_entryRuleInnerDeclaration3419 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleInnerDeclaration3429 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_37_in_ruleInnerDeclaration3466 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleInnerDeclaration3487 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleInnerDeclaration3499 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_13_in_ruleInnerDeclaration3511 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleInnerDeclaration3532 = new BitSet(new long[]{0x0000004000000000L}); + public static final BitSet FOLLOW_38_in_ruleInnerDeclaration3544 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleInnerDeclaration3567 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleInnerDeclaration3579 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleSignature_in_entryRuleSignature3615 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleSignature3625 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_39_in_ruleSignature3662 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleSignature3683 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleSignature3695 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_13_in_ruleSignature3707 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleSignature3728 = new BitSet(new long[]{0x0000030000010000L}); + public static final BitSet FOLLOW_40_in_ruleSignature3741 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleSignature3764 = new BitSet(new long[]{0x0000020000010000L}); + public static final BitSet FOLLOW_41_in_ruleSignature3779 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleSignature3791 = new BitSet(new long[]{0x0000040000000000L}); + public static final BitSet FOLLOW_ruleParameter_in_ruleSignature3812 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleSignature3825 = new BitSet(new long[]{0x0000040000000000L}); + public static final BitSet FOLLOW_ruleParameter_in_ruleSignature3846 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleSignature3860 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleSignature3874 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleParameter_in_entryRuleParameter3910 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleParameter3920 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_42_in_ruleParameter3957 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleParameter3978 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleParameter3990 = new BitSet(new long[]{0x0000080000000000L}); + public static final BitSet FOLLOW_43_in_ruleParameter4002 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x000003C000000000L}); + public static final BitSet FOLLOW_ruleParameterModifier_in_ruleParameter4023 = new BitSet(new long[]{0x0000004000000000L}); + public static final BitSet FOLLOW_38_in_ruleParameter4035 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleParameter4058 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleParameter4070 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleProvidedRole_in_entryRuleProvidedRole4106 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleProvidedRole4116 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_44_in_ruleProvidedRole4153 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleProvidedRole4174 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleProvidedRole4186 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_13_in_ruleProvidedRole4198 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleProvidedRole4219 = new BitSet(new long[]{0x0000200000000000L}); + public static final BitSet FOLLOW_45_in_ruleProvidedRole4231 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleProvidedRole4254 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleProvidedRole4266 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleBlackBoxBehavior_in_entryRuleBlackBoxBehavior4302 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleBlackBoxBehavior4312 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_46_in_ruleBlackBoxBehavior4349 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleBlackBoxBehavior4361 = new BitSet(new long[]{0x0001800000000000L}); + public static final BitSet FOLLOW_47_in_ruleBlackBoxBehavior4374 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleBlackBoxBehavior4397 = new BitSet(new long[]{0x0001000000000000L}); + public static final BitSet FOLLOW_48_in_ruleBlackBoxBehavior4411 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleBlackBoxBehavior4434 = new BitSet(new long[]{0x0006000000010000L}); + public static final BitSet FOLLOW_49_in_ruleBlackBoxBehavior4447 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleBlackBoxBehavior4459 = new BitSet(new long[]{0x0000000000000000L,0x0000000000005081L}); + public static final BitSet FOLLOW_ruleInfluencingParameter_in_ruleBlackBoxBehavior4480 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleBlackBoxBehavior4493 = new BitSet(new long[]{0x0000000000000000L,0x0000000000005081L}); + public static final BitSet FOLLOW_ruleInfluencingParameter_in_ruleBlackBoxBehavior4514 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleBlackBoxBehavior4528 = new BitSet(new long[]{0x0004000000010000L}); + public static final BitSet FOLLOW_50_in_ruleBlackBoxBehavior4543 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); + public static final BitSet FOLLOW_ruleResponseTimeSpecification_in_ruleBlackBoxBehavior4564 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleBlackBoxBehavior4578 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleRequiredRole_in_entryRuleRequiredRole4614 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleRequiredRole4624 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_51_in_ruleRequiredRole4661 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleRequiredRole4682 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleRequiredRole4694 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_13_in_ruleRequiredRole4706 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleRequiredRole4727 = new BitSet(new long[]{0x0000200000000000L}); + public static final BitSet FOLLOW_45_in_ruleRequiredRole4739 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleRequiredRole4762 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleRequiredRole4774 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleCoarseGrainedBehavior_in_entryRuleCoarseGrainedBehavior4810 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleCoarseGrainedBehavior4820 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_52_in_ruleCoarseGrainedBehavior4857 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleCoarseGrainedBehavior4869 = new BitSet(new long[]{0x0001800000000000L}); + public static final BitSet FOLLOW_47_in_ruleCoarseGrainedBehavior4882 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleCoarseGrainedBehavior4905 = new BitSet(new long[]{0x0001000000000000L}); + public static final BitSet FOLLOW_48_in_ruleCoarseGrainedBehavior4919 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleCoarseGrainedBehavior4942 = new BitSet(new long[]{0x0062000000010000L}); + public static final BitSet FOLLOW_49_in_ruleCoarseGrainedBehavior4955 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleCoarseGrainedBehavior4967 = new BitSet(new long[]{0x0000000000000000L,0x0000000000005081L}); + public static final BitSet FOLLOW_ruleInfluencingParameter_in_ruleCoarseGrainedBehavior4988 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleCoarseGrainedBehavior5001 = new BitSet(new long[]{0x0000000000000000L,0x0000000000005081L}); + public static final BitSet FOLLOW_ruleInfluencingParameter_in_ruleCoarseGrainedBehavior5022 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleCoarseGrainedBehavior5036 = new BitSet(new long[]{0x0060000000010000L}); + public static final BitSet FOLLOW_53_in_ruleCoarseGrainedBehavior5051 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleCoarseGrainedBehavior5063 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000040000L}); + public static final BitSet FOLLOW_ruleExternalCallFrequency_in_ruleCoarseGrainedBehavior5084 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleCoarseGrainedBehavior5097 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000040000L}); + public static final BitSet FOLLOW_ruleExternalCallFrequency_in_ruleCoarseGrainedBehavior5118 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleCoarseGrainedBehavior5132 = new BitSet(new long[]{0x0040000000010000L}); + public static final BitSet FOLLOW_54_in_ruleCoarseGrainedBehavior5147 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleCoarseGrainedBehavior5159 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L}); + public static final BitSet FOLLOW_ruleResourceDemandSpecification_in_ruleCoarseGrainedBehavior5180 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleCoarseGrainedBehavior5193 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L}); + public static final BitSet FOLLOW_ruleResourceDemandSpecification_in_ruleCoarseGrainedBehavior5214 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleCoarseGrainedBehavior5228 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleCoarseGrainedBehavior5242 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleBasicComponent_in_entryRuleBasicComponent5278 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleBasicComponent5288 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_55_in_ruleBasicComponent5325 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleBasicComponent5346 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleBasicComponent5358 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_13_in_ruleBasicComponent5370 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleBasicComponent5391 = new BitSet(new long[]{0x030000003E010000L}); + public static final BitSet FOLLOW_25_in_ruleBasicComponent5404 = new BitSet(new long[]{0x0000000000200000L}); + public static final BitSet FOLLOW_21_in_ruleBasicComponent5416 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleBasicComponent5439 = new BitSet(new long[]{0x0000000000408000L}); + public static final BitSet FOLLOW_15_in_ruleBasicComponent5452 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleBasicComponent5475 = new BitSet(new long[]{0x0000000000408000L}); + public static final BitSet FOLLOW_22_in_ruleBasicComponent5489 = new BitSet(new long[]{0x030000003C010000L}); + public static final BitSet FOLLOW_26_in_ruleBasicComponent5504 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleBasicComponent5516 = new BitSet(new long[]{0x0000100000000000L}); + public static final BitSet FOLLOW_ruleProvidedRole_in_ruleBasicComponent5537 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleBasicComponent5550 = new BitSet(new long[]{0x0000100000000000L}); + public static final BitSet FOLLOW_ruleProvidedRole_in_ruleBasicComponent5571 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleBasicComponent5585 = new BitSet(new long[]{0x0300000038010000L}); + public static final BitSet FOLLOW_27_in_ruleBasicComponent5600 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleBasicComponent5612 = new BitSet(new long[]{0x0000400000000000L}); + public static final BitSet FOLLOW_ruleBlackBoxBehavior_in_ruleBasicComponent5633 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleBasicComponent5646 = new BitSet(new long[]{0x0000400000000000L}); + public static final BitSet FOLLOW_ruleBlackBoxBehavior_in_ruleBasicComponent5667 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleBasicComponent5681 = new BitSet(new long[]{0x0300000030010000L}); + public static final BitSet FOLLOW_28_in_ruleBasicComponent5696 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleBasicComponent5708 = new BitSet(new long[]{0x0008000000000000L}); + public static final BitSet FOLLOW_ruleRequiredRole_in_ruleBasicComponent5729 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleBasicComponent5742 = new BitSet(new long[]{0x0008000000000000L}); + public static final BitSet FOLLOW_ruleRequiredRole_in_ruleBasicComponent5763 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleBasicComponent5777 = new BitSet(new long[]{0x0300000020010000L}); + public static final BitSet FOLLOW_29_in_ruleBasicComponent5792 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleBasicComponent5804 = new BitSet(new long[]{0x0010000000000000L}); + public static final BitSet FOLLOW_ruleCoarseGrainedBehavior_in_ruleBasicComponent5825 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleBasicComponent5838 = new BitSet(new long[]{0x0010000000000000L}); + public static final BitSet FOLLOW_ruleCoarseGrainedBehavior_in_ruleBasicComponent5859 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleBasicComponent5873 = new BitSet(new long[]{0x0300000000010000L}); + public static final BitSet FOLLOW_56_in_ruleBasicComponent5888 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleBasicComponent5900 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L}); + public static final BitSet FOLLOW_rulePassiveResourceSpecification_in_ruleBasicComponent5921 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleBasicComponent5934 = new BitSet(new long[]{0x0000000000000000L,0x0000010000000000L}); + public static final BitSet FOLLOW_rulePassiveResourceSpecification_in_ruleBasicComponent5955 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleBasicComponent5969 = new BitSet(new long[]{0x0200000000010000L}); + public static final BitSet FOLLOW_57_in_ruleBasicComponent5984 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleBasicComponent5996 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L}); + public static final BitSet FOLLOW_ruleFineGrainedBehavior_in_ruleBasicComponent6017 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleBasicComponent6030 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L}); + public static final BitSet FOLLOW_ruleFineGrainedBehavior_in_ruleBasicComponent6051 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleBasicComponent6065 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleBasicComponent6079 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleCompositeComponent_in_entryRuleCompositeComponent6115 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleCompositeComponent6125 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_58_in_ruleCompositeComponent6162 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleCompositeComponent6183 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleCompositeComponent6195 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_13_in_ruleCompositeComponent6207 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleCompositeComponent6228 = new BitSet(new long[]{0x780000003E010000L}); + public static final BitSet FOLLOW_25_in_ruleCompositeComponent6241 = new BitSet(new long[]{0x0000000000200000L}); + public static final BitSet FOLLOW_21_in_ruleCompositeComponent6253 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleCompositeComponent6276 = new BitSet(new long[]{0x0000000000408000L}); + public static final BitSet FOLLOW_15_in_ruleCompositeComponent6289 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleCompositeComponent6312 = new BitSet(new long[]{0x0000000000408000L}); + public static final BitSet FOLLOW_22_in_ruleCompositeComponent6326 = new BitSet(new long[]{0x780000003C010000L}); + public static final BitSet FOLLOW_26_in_ruleCompositeComponent6341 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleCompositeComponent6353 = new BitSet(new long[]{0x0000100000000000L}); + public static final BitSet FOLLOW_ruleProvidedRole_in_ruleCompositeComponent6374 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleCompositeComponent6387 = new BitSet(new long[]{0x0000100000000000L}); + public static final BitSet FOLLOW_ruleProvidedRole_in_ruleCompositeComponent6408 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleCompositeComponent6422 = new BitSet(new long[]{0x7800000038010000L}); + public static final BitSet FOLLOW_27_in_ruleCompositeComponent6437 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleCompositeComponent6449 = new BitSet(new long[]{0x0000400000000000L}); + public static final BitSet FOLLOW_ruleBlackBoxBehavior_in_ruleCompositeComponent6470 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleCompositeComponent6483 = new BitSet(new long[]{0x0000400000000000L}); + public static final BitSet FOLLOW_ruleBlackBoxBehavior_in_ruleCompositeComponent6504 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleCompositeComponent6518 = new BitSet(new long[]{0x7800000030010000L}); + public static final BitSet FOLLOW_28_in_ruleCompositeComponent6533 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleCompositeComponent6545 = new BitSet(new long[]{0x0008000000000000L}); + public static final BitSet FOLLOW_ruleRequiredRole_in_ruleCompositeComponent6566 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleCompositeComponent6579 = new BitSet(new long[]{0x0008000000000000L}); + public static final BitSet FOLLOW_ruleRequiredRole_in_ruleCompositeComponent6600 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleCompositeComponent6614 = new BitSet(new long[]{0x7800000020010000L}); + public static final BitSet FOLLOW_29_in_ruleCompositeComponent6629 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleCompositeComponent6641 = new BitSet(new long[]{0x0010000000000000L}); + public static final BitSet FOLLOW_ruleCoarseGrainedBehavior_in_ruleCompositeComponent6662 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleCompositeComponent6675 = new BitSet(new long[]{0x0010000000000000L}); + public static final BitSet FOLLOW_ruleCoarseGrainedBehavior_in_ruleCompositeComponent6696 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleCompositeComponent6710 = new BitSet(new long[]{0x7800000000010000L}); + public static final BitSet FOLLOW_59_in_ruleCompositeComponent6725 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleCompositeComponent6737 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000020L}); + public static final BitSet FOLLOW_ruleAssemblyContext_in_ruleCompositeComponent6758 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleCompositeComponent6771 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000020L}); + public static final BitSet FOLLOW_ruleAssemblyContext_in_ruleCompositeComponent6792 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleCompositeComponent6806 = new BitSet(new long[]{0x7000000000010000L}); + public static final BitSet FOLLOW_60_in_ruleCompositeComponent6821 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleCompositeComponent6833 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000080L}); + public static final BitSet FOLLOW_ruleAssemblyConnector_in_ruleCompositeComponent6854 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleCompositeComponent6867 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000080L}); + public static final BitSet FOLLOW_ruleAssemblyConnector_in_ruleCompositeComponent6888 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleCompositeComponent6902 = new BitSet(new long[]{0x6000000000010000L}); + public static final BitSet FOLLOW_61_in_ruleCompositeComponent6917 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleCompositeComponent6929 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_ruleProvidedDelegationConnector_in_ruleCompositeComponent6950 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleCompositeComponent6963 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_ruleProvidedDelegationConnector_in_ruleCompositeComponent6984 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleCompositeComponent6998 = new BitSet(new long[]{0x4000000000010000L}); + public static final BitSet FOLLOW_62_in_ruleCompositeComponent7013 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleCompositeComponent7025 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000004000L}); + public static final BitSet FOLLOW_ruleRequiredDelegationConnector_in_ruleCompositeComponent7046 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleCompositeComponent7059 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000004000L}); + public static final BitSet FOLLOW_ruleRequiredDelegationConnector_in_ruleCompositeComponent7080 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleCompositeComponent7094 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleCompositeComponent7108 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleSubSystem_in_entryRuleSubSystem7144 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleSubSystem7154 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_63_in_ruleSubSystem7191 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleSubSystem7212 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleSubSystem7224 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_13_in_ruleSubSystem7236 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleSubSystem7257 = new BitSet(new long[]{0x780000003E010000L}); + public static final BitSet FOLLOW_25_in_ruleSubSystem7270 = new BitSet(new long[]{0x0000000000200000L}); + public static final BitSet FOLLOW_21_in_ruleSubSystem7282 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleSubSystem7305 = new BitSet(new long[]{0x0000000000408000L}); + public static final BitSet FOLLOW_15_in_ruleSubSystem7318 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleSubSystem7341 = new BitSet(new long[]{0x0000000000408000L}); + public static final BitSet FOLLOW_22_in_ruleSubSystem7355 = new BitSet(new long[]{0x780000003C010000L}); + public static final BitSet FOLLOW_26_in_ruleSubSystem7370 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleSubSystem7382 = new BitSet(new long[]{0x0000100000000000L}); + public static final BitSet FOLLOW_ruleProvidedRole_in_ruleSubSystem7403 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleSubSystem7416 = new BitSet(new long[]{0x0000100000000000L}); + public static final BitSet FOLLOW_ruleProvidedRole_in_ruleSubSystem7437 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleSubSystem7451 = new BitSet(new long[]{0x7800000038010000L}); + public static final BitSet FOLLOW_27_in_ruleSubSystem7466 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleSubSystem7478 = new BitSet(new long[]{0x0000400000000000L}); + public static final BitSet FOLLOW_ruleBlackBoxBehavior_in_ruleSubSystem7499 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleSubSystem7512 = new BitSet(new long[]{0x0000400000000000L}); + public static final BitSet FOLLOW_ruleBlackBoxBehavior_in_ruleSubSystem7533 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleSubSystem7547 = new BitSet(new long[]{0x7800000030010000L}); + public static final BitSet FOLLOW_28_in_ruleSubSystem7562 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleSubSystem7574 = new BitSet(new long[]{0x0008000000000000L}); + public static final BitSet FOLLOW_ruleRequiredRole_in_ruleSubSystem7595 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleSubSystem7608 = new BitSet(new long[]{0x0008000000000000L}); + public static final BitSet FOLLOW_ruleRequiredRole_in_ruleSubSystem7629 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleSubSystem7643 = new BitSet(new long[]{0x7800000020010000L}); + public static final BitSet FOLLOW_29_in_ruleSubSystem7658 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleSubSystem7670 = new BitSet(new long[]{0x0010000000000000L}); + public static final BitSet FOLLOW_ruleCoarseGrainedBehavior_in_ruleSubSystem7691 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleSubSystem7704 = new BitSet(new long[]{0x0010000000000000L}); + public static final BitSet FOLLOW_ruleCoarseGrainedBehavior_in_ruleSubSystem7725 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleSubSystem7739 = new BitSet(new long[]{0x7800000000010000L}); + public static final BitSet FOLLOW_59_in_ruleSubSystem7754 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleSubSystem7766 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000020L}); + public static final BitSet FOLLOW_ruleAssemblyContext_in_ruleSubSystem7787 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleSubSystem7800 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000020L}); + public static final BitSet FOLLOW_ruleAssemblyContext_in_ruleSubSystem7821 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleSubSystem7835 = new BitSet(new long[]{0x7000000000010000L}); + public static final BitSet FOLLOW_60_in_ruleSubSystem7850 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleSubSystem7862 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000080L}); + public static final BitSet FOLLOW_ruleAssemblyConnector_in_ruleSubSystem7883 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleSubSystem7896 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000080L}); + public static final BitSet FOLLOW_ruleAssemblyConnector_in_ruleSubSystem7917 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleSubSystem7931 = new BitSet(new long[]{0x6000000000010000L}); + public static final BitSet FOLLOW_61_in_ruleSubSystem7946 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleSubSystem7958 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_ruleProvidedDelegationConnector_in_ruleSubSystem7979 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleSubSystem7992 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000400L}); + public static final BitSet FOLLOW_ruleProvidedDelegationConnector_in_ruleSubSystem8013 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleSubSystem8027 = new BitSet(new long[]{0x4000000000010000L}); + public static final BitSet FOLLOW_62_in_ruleSubSystem8042 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleSubSystem8054 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000004000L}); + public static final BitSet FOLLOW_ruleRequiredDelegationConnector_in_ruleSubSystem8075 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleSubSystem8088 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000004000L}); + public static final BitSet FOLLOW_ruleRequiredDelegationConnector_in_ruleSubSystem8109 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleSubSystem8123 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleSubSystem8137 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleInfluencingParameter_Impl_in_entryRuleInfluencingParameter_Impl8173 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleInfluencingParameter_Impl8183 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_64_in_ruleInfluencingParameter_Impl8220 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleInfluencingParameter_Impl8241 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleInfluencingParameter_Impl8253 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); + public static final BitSet FOLLOW_65_in_ruleInfluencingParameter_Impl8265 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleInfluencingParameter_Impl8286 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L}); + public static final BitSet FOLLOW_66_in_ruleInfluencingParameter_Impl8298 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleInfluencingParameter_Impl8321 = new BitSet(new long[]{0x0000000000010000L,0x0000000000000008L}); + public static final BitSet FOLLOW_67_in_ruleInfluencingParameter_Impl8334 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleInfluencingParameter_Impl8346 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L}); + public static final BitSet FOLLOW_ruleScope_in_ruleInfluencingParameter_Impl8367 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleInfluencingParameter_Impl8380 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L}); + public static final BitSet FOLLOW_ruleScope_in_ruleInfluencingParameter_Impl8401 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleInfluencingParameter_Impl8415 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleInfluencingParameter_Impl8429 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleResponseTimeSpecification_in_entryRuleResponseTimeSpecification8465 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleResponseTimeSpecification8475 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_68_in_ruleResponseTimeSpecification8521 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleScope_in_entryRuleScope8557 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleScope8567 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_69_in_ruleScope8604 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleScope8616 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L}); + public static final BitSet FOLLOW_70_in_ruleScope8628 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleScope8651 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleScope8663 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleServiceInputParameter_in_entryRuleServiceInputParameter8699 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleServiceInputParameter8709 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_71_in_ruleServiceInputParameter8746 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleServiceInputParameter8767 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleServiceInputParameter8779 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); + public static final BitSet FOLLOW_65_in_ruleServiceInputParameter8791 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleServiceInputParameter8812 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L}); + public static final BitSet FOLLOW_72_in_ruleServiceInputParameter8824 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x00000C0000000000L}); + public static final BitSet FOLLOW_ruleCharacterizationType_in_ruleServiceInputParameter8845 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L}); + public static final BitSet FOLLOW_66_in_ruleServiceInputParameter8857 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleServiceInputParameter8880 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); + public static final BitSet FOLLOW_73_in_ruleServiceInputParameter8892 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleServiceInputParameter8915 = new BitSet(new long[]{0x0000010000000000L,0x0000000000000C00L}); + public static final BitSet FOLLOW_74_in_ruleServiceInputParameter8928 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleServiceInputParameter8951 = new BitSet(new long[]{0x0000010000000000L,0x0000000000000800L}); + public static final BitSet FOLLOW_40_in_ruleServiceInputParameter8966 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleServiceInputParameter8989 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L}); + public static final BitSet FOLLOW_75_in_ruleServiceInputParameter9003 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleServiceInputParameter9026 = new BitSet(new long[]{0x0000000000010000L,0x0000000000000008L}); + public static final BitSet FOLLOW_67_in_ruleServiceInputParameter9039 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleServiceInputParameter9051 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L}); + public static final BitSet FOLLOW_ruleScope_in_ruleServiceInputParameter9072 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleServiceInputParameter9085 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L}); + public static final BitSet FOLLOW_ruleScope_in_ruleServiceInputParameter9106 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleServiceInputParameter9120 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleServiceInputParameter9134 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleExternalCallReturnParameter_in_entryRuleExternalCallReturnParameter9170 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleExternalCallReturnParameter9180 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_76_in_ruleExternalCallReturnParameter9217 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallReturnParameter9238 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleExternalCallReturnParameter9250 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); + public static final BitSet FOLLOW_65_in_ruleExternalCallReturnParameter9262 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallReturnParameter9283 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L}); + public static final BitSet FOLLOW_72_in_ruleExternalCallReturnParameter9295 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x00000C0000000000L}); + public static final BitSet FOLLOW_ruleCharacterizationType_in_ruleExternalCallReturnParameter9316 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L}); + public static final BitSet FOLLOW_66_in_ruleExternalCallReturnParameter9328 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallReturnParameter9351 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); + public static final BitSet FOLLOW_73_in_ruleExternalCallReturnParameter9363 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallReturnParameter9386 = new BitSet(new long[]{0x0000010000000000L,0x0000000000002400L}); + public static final BitSet FOLLOW_74_in_ruleExternalCallReturnParameter9399 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallReturnParameter9422 = new BitSet(new long[]{0x0000010000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_40_in_ruleExternalCallReturnParameter9437 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallReturnParameter9460 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_77_in_ruleExternalCallReturnParameter9474 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallReturnParameter9497 = new BitSet(new long[]{0x0000000000010000L,0x0000000000000008L}); + public static final BitSet FOLLOW_67_in_ruleExternalCallReturnParameter9510 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleExternalCallReturnParameter9522 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L}); + public static final BitSet FOLLOW_ruleScope_in_ruleExternalCallReturnParameter9543 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleExternalCallReturnParameter9556 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L}); + public static final BitSet FOLLOW_ruleScope_in_ruleExternalCallReturnParameter9577 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleExternalCallReturnParameter9591 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleExternalCallReturnParameter9605 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleExternalCallParameter_in_entryRuleExternalCallParameter9641 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleExternalCallParameter9651 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_78_in_ruleExternalCallParameter9688 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallParameter9709 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleExternalCallParameter9721 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); + public static final BitSet FOLLOW_65_in_ruleExternalCallParameter9733 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallParameter9754 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L}); + public static final BitSet FOLLOW_72_in_ruleExternalCallParameter9766 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x00000C0000000000L}); + public static final BitSet FOLLOW_ruleCharacterizationType_in_ruleExternalCallParameter9787 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L}); + public static final BitSet FOLLOW_66_in_ruleExternalCallParameter9799 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallParameter9822 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); + public static final BitSet FOLLOW_73_in_ruleExternalCallParameter9834 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallParameter9857 = new BitSet(new long[]{0x0000010000000000L,0x0000000000008400L}); + public static final BitSet FOLLOW_74_in_ruleExternalCallParameter9870 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallParameter9893 = new BitSet(new long[]{0x0000010000000000L,0x0000000000008000L}); + public static final BitSet FOLLOW_40_in_ruleExternalCallParameter9908 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallParameter9931 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L}); + public static final BitSet FOLLOW_79_in_ruleExternalCallParameter9945 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallParameter9968 = new BitSet(new long[]{0x0000000000010000L,0x0000000000000008L}); + public static final BitSet FOLLOW_67_in_ruleExternalCallParameter9981 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleExternalCallParameter9993 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L}); + public static final BitSet FOLLOW_ruleScope_in_ruleExternalCallParameter10014 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleExternalCallParameter10027 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L}); + public static final BitSet FOLLOW_ruleScope_in_ruleExternalCallParameter10048 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleExternalCallParameter10062 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleExternalCallParameter10076 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleFineGrainedBehavior_in_entryRuleFineGrainedBehavior10112 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleFineGrainedBehavior10122 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_80_in_ruleFineGrainedBehavior10159 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleFineGrainedBehavior10171 = new BitSet(new long[]{0x0000800000000000L,0x0000000000020000L}); + public static final BitSet FOLLOW_47_in_ruleFineGrainedBehavior10184 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleFineGrainedBehavior10207 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L}); + public static final BitSet FOLLOW_81_in_ruleFineGrainedBehavior10221 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleFineGrainedBehavior10244 = new BitSet(new long[]{0x0002000000000000L,0x0000000000040004L}); + public static final BitSet FOLLOW_49_in_ruleFineGrainedBehavior10257 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleFineGrainedBehavior10269 = new BitSet(new long[]{0x0000000000000000L,0x0000000000005081L}); + public static final BitSet FOLLOW_ruleInfluencingParameter_in_ruleFineGrainedBehavior10290 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleFineGrainedBehavior10303 = new BitSet(new long[]{0x0000000000000000L,0x0000000000005081L}); + public static final BitSet FOLLOW_ruleInfluencingParameter_in_ruleFineGrainedBehavior10324 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleFineGrainedBehavior10338 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040004L}); + public static final BitSet FOLLOW_82_in_ruleFineGrainedBehavior10353 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleFineGrainedBehavior10365 = new BitSet(new long[]{0x0000000000000000L,0x000000493B880000L}); + public static final BitSet FOLLOW_ruleAbstractAction_in_ruleFineGrainedBehavior10386 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleFineGrainedBehavior10399 = new BitSet(new long[]{0x0000000000000000L,0x000000493B880000L}); + public static final BitSet FOLLOW_ruleAbstractAction_in_ruleFineGrainedBehavior10420 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleFineGrainedBehavior10434 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L}); + public static final BitSet FOLLOW_66_in_ruleFineGrainedBehavior10448 = new BitSet(new long[]{0x0000000000000000L,0x0000000000410000L}); + public static final BitSet FOLLOW_ruleComponentInternalBehavior_in_ruleFineGrainedBehavior10469 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleFineGrainedBehavior10481 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleAbstractAction_Impl_in_entryRuleAbstractAction_Impl10517 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleAbstractAction_Impl10527 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_83_in_ruleAbstractAction_Impl10573 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleAbstractAction_Impl10585 = new BitSet(new long[]{0x0000000000010000L,0x0000000000300000L}); + public static final BitSet FOLLOW_84_in_ruleAbstractAction_Impl10598 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleAbstractAction_Impl10621 = new BitSet(new long[]{0x0000000000010000L,0x0000000000200000L}); + public static final BitSet FOLLOW_85_in_ruleAbstractAction_Impl10636 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleAbstractAction_Impl10659 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleAbstractAction_Impl10673 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleComponentInternalBehavior_Impl_in_entryRuleComponentInternalBehavior_Impl10709 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleComponentInternalBehavior_Impl10719 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_86_in_ruleComponentInternalBehavior_Impl10765 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleComponentInternalBehavior_Impl10777 = new BitSet(new long[]{0x0000000000010000L,0x0000000000040000L}); + public static final BitSet FOLLOW_82_in_ruleComponentInternalBehavior_Impl10790 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleComponentInternalBehavior_Impl10802 = new BitSet(new long[]{0x0000000000000000L,0x000000493B880000L}); + public static final BitSet FOLLOW_ruleAbstractAction_in_ruleComponentInternalBehavior_Impl10823 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleComponentInternalBehavior_Impl10836 = new BitSet(new long[]{0x0000000000000000L,0x000000493B880000L}); + public static final BitSet FOLLOW_ruleAbstractAction_in_ruleComponentInternalBehavior_Impl10857 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleComponentInternalBehavior_Impl10871 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleComponentInternalBehavior_Impl10885 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleStartAction_in_entryRuleStartAction10921 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleStartAction10931 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_87_in_ruleStartAction10977 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleStartAction10989 = new BitSet(new long[]{0x0000000000010000L,0x0000000000300000L}); + public static final BitSet FOLLOW_84_in_ruleStartAction11002 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleStartAction11025 = new BitSet(new long[]{0x0000000000010000L,0x0000000000200000L}); + public static final BitSet FOLLOW_85_in_ruleStartAction11040 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleStartAction11063 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleStartAction11077 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleStopAction_in_entryRuleStopAction11113 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleStopAction11123 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_88_in_ruleStopAction11169 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleStopAction11181 = new BitSet(new long[]{0x0000000000010000L,0x0000000000300000L}); + public static final BitSet FOLLOW_84_in_ruleStopAction11194 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleStopAction11217 = new BitSet(new long[]{0x0000000000010000L,0x0000000000200000L}); + public static final BitSet FOLLOW_85_in_ruleStopAction11232 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleStopAction11255 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleStopAction11269 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleAcquireAction_in_entryRuleAcquireAction11305 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleAcquireAction11315 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_89_in_ruleAcquireAction11352 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleAcquireAction11364 = new BitSet(new long[]{0x0000000000000000L,0x0000000004300000L}); + public static final BitSet FOLLOW_84_in_ruleAcquireAction11377 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleAcquireAction11400 = new BitSet(new long[]{0x0000000000000000L,0x0000000004200000L}); + public static final BitSet FOLLOW_85_in_ruleAcquireAction11415 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleAcquireAction11438 = new BitSet(new long[]{0x0000000000000000L,0x0000000004000000L}); + public static final BitSet FOLLOW_90_in_ruleAcquireAction11452 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleAcquireAction11475 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleAcquireAction11487 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleReleaseAction_in_entryRuleReleaseAction11523 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleReleaseAction11533 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_91_in_ruleReleaseAction11570 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleReleaseAction11582 = new BitSet(new long[]{0x0000000000000000L,0x0000000004300000L}); + public static final BitSet FOLLOW_84_in_ruleReleaseAction11595 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleReleaseAction11618 = new BitSet(new long[]{0x0000000000000000L,0x0000000004200000L}); + public static final BitSet FOLLOW_85_in_ruleReleaseAction11633 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleReleaseAction11656 = new BitSet(new long[]{0x0000000000000000L,0x0000000004000000L}); + public static final BitSet FOLLOW_90_in_ruleReleaseAction11670 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleReleaseAction11693 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleReleaseAction11705 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleInternalAction_in_entryRuleInternalAction11741 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleInternalAction11751 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_92_in_ruleInternalAction11797 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleInternalAction11809 = new BitSet(new long[]{0x0040000000010000L,0x0000000000300000L}); + public static final BitSet FOLLOW_84_in_ruleInternalAction11822 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleInternalAction11845 = new BitSet(new long[]{0x0040000000010000L,0x0000000000200000L}); + public static final BitSet FOLLOW_85_in_ruleInternalAction11860 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleInternalAction11883 = new BitSet(new long[]{0x0040000000010000L}); + public static final BitSet FOLLOW_54_in_ruleInternalAction11898 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleInternalAction11910 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L}); + public static final BitSet FOLLOW_ruleResourceDemandSpecification_in_ruleInternalAction11931 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleInternalAction11944 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L}); + public static final BitSet FOLLOW_ruleResourceDemandSpecification_in_ruleInternalAction11965 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleInternalAction11979 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleInternalAction11993 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleForkAction_in_entryRuleForkAction12029 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleForkAction12039 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_93_in_ruleForkAction12082 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L}); + public static final BitSet FOLLOW_94_in_ruleForkAction12107 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleForkAction12119 = new BitSet(new long[]{0x0000000000010000L,0x0000000080300000L}); + public static final BitSet FOLLOW_84_in_ruleForkAction12132 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleForkAction12155 = new BitSet(new long[]{0x0000000000010000L,0x0000000080200000L}); + public static final BitSet FOLLOW_85_in_ruleForkAction12170 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleForkAction12193 = new BitSet(new long[]{0x0000000000010000L,0x0000000080000000L}); + public static final BitSet FOLLOW_95_in_ruleForkAction12208 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleForkAction12220 = new BitSet(new long[]{0x0000000000000000L,0x0000000000410000L}); + public static final BitSet FOLLOW_ruleComponentInternalBehavior_in_ruleForkAction12241 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleForkAction12254 = new BitSet(new long[]{0x0000000000000000L,0x0000000000410000L}); + public static final BitSet FOLLOW_ruleComponentInternalBehavior_in_ruleForkAction12275 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleForkAction12289 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleForkAction12303 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleBranchAction_in_entryRuleBranchAction12339 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleBranchAction12349 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_96_in_ruleBranchAction12386 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleBranchAction12398 = new BitSet(new long[]{0x0000000000000000L,0x0000000600300000L}); + public static final BitSet FOLLOW_84_in_ruleBranchAction12411 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleBranchAction12434 = new BitSet(new long[]{0x0000000000000000L,0x0000000600200000L}); + public static final BitSet FOLLOW_85_in_ruleBranchAction12449 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleBranchAction12472 = new BitSet(new long[]{0x0000000000000000L,0x0000000600000000L}); + public static final BitSet FOLLOW_97_in_ruleBranchAction12487 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleBranchAction12499 = new BitSet(new long[]{0x0000000000000000L,0x0002000000000000L}); + public static final BitSet FOLLOW_ruleBranchTransition_in_ruleBranchAction12520 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleBranchAction12533 = new BitSet(new long[]{0x0000000000000000L,0x0002000000000000L}); + public static final BitSet FOLLOW_ruleBranchTransition_in_ruleBranchAction12554 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleBranchAction12568 = new BitSet(new long[]{0x0000000000000000L,0x0000000400000000L}); + public static final BitSet FOLLOW_98_in_ruleBranchAction12582 = new BitSet(new long[]{0x0000000000000000L,0x0008000000000000L}); + public static final BitSet FOLLOW_ruleBranchProbabilities_in_ruleBranchAction12603 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleBranchAction12615 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleLoopAction_in_entryRuleLoopAction12651 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleLoopAction12661 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_99_in_ruleLoopAction12698 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleLoopAction12710 = new BitSet(new long[]{0x0000000000000000L,0x0000001000300000L}); + public static final BitSet FOLLOW_84_in_ruleLoopAction12723 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleLoopAction12746 = new BitSet(new long[]{0x0000000000000000L,0x0000001000200000L}); + public static final BitSet FOLLOW_85_in_ruleLoopAction12761 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleLoopAction12784 = new BitSet(new long[]{0x0000000000000000L,0x0000001000000000L}); + public static final BitSet FOLLOW_100_in_ruleLoopAction12798 = new BitSet(new long[]{0x0000000000000000L,0x0000000000410000L}); + public static final BitSet FOLLOW_ruleComponentInternalBehavior_in_ruleLoopAction12819 = new BitSet(new long[]{0x0000000000000000L,0x0000002000000000L}); + public static final BitSet FOLLOW_101_in_ruleLoopAction12831 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000010L}); + public static final BitSet FOLLOW_ruleLoopIterationCountDistribution_in_ruleLoopAction12852 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleLoopAction12864 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleExternalCallAction_in_entryRuleExternalCallAction12900 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleExternalCallAction12910 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_102_in_ruleExternalCallAction12947 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleExternalCallAction12959 = new BitSet(new long[]{0x0000000000000000L,0x0000000000300200L}); + public static final BitSet FOLLOW_84_in_ruleExternalCallAction12972 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallAction12995 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200200L}); + public static final BitSet FOLLOW_85_in_ruleExternalCallAction13010 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallAction13033 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); + public static final BitSet FOLLOW_73_in_ruleExternalCallAction13047 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallAction13070 = new BitSet(new long[]{0x0000000000000000L,0x0000008000000000L}); + public static final BitSet FOLLOW_103_in_ruleExternalCallAction13082 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleExternalCallAction13105 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleExternalCallAction13117 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rulePassiveResourceSpecification_in_entryRulePassiveResourceSpecification13153 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRulePassiveResourceSpecification13163 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_104_in_rulePassiveResourceSpecification13200 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_rulePassiveResourceSpecification13221 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_rulePassiveResourceSpecification13233 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_13_in_rulePassiveResourceSpecification13245 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_rulePassiveResourceSpecification13266 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L}); + public static final BitSet FOLLOW_105_in_rulePassiveResourceSpecification13278 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_rulePassiveResourceSpecification13301 = new BitSet(new long[]{0x0000000000000000L,0x0000040000000000L}); + public static final BitSet FOLLOW_106_in_rulePassiveResourceSpecification13313 = new BitSet(new long[]{0x0000000000000000L,0x0000080000000000L}); + public static final BitSet FOLLOW_rulePassiveResourceCapacity_in_rulePassiveResourceSpecification13334 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_rulePassiveResourceSpecification13346 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_rulePassiveResourceCapacity_in_entryRulePassiveResourceCapacity13382 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRulePassiveResourceCapacity13392 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_107_in_rulePassiveResourceCapacity13429 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_rulePassiveResourceCapacity13450 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_rulePassiveResourceCapacity13462 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_13_in_rulePassiveResourceCapacity13474 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_rulePassiveResourceCapacity13495 = new BitSet(new long[]{0x0000000000000000L,0x0000040000000000L}); + public static final BitSet FOLLOW_106_in_rulePassiveResourceCapacity13507 = new BitSet(new long[]{0x0000000000000040L,0x0000100000000000L}); + public static final BitSet FOLLOW_ruleEBigInteger_in_rulePassiveResourceCapacity13528 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_rulePassiveResourceCapacity13540 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleEBigInteger_in_entryRuleEBigInteger13579 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleEBigInteger13590 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_108_in_ruleEBigInteger13629 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_RULE_INT_in_ruleEBigInteger13646 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleResourceDemandSpecification_in_entryRuleResourceDemandSpecification13691 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleResourceDemandSpecification13701 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_109_in_ruleResourceDemandSpecification13738 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleResourceDemandSpecification13750 = new BitSet(new long[]{0x0000000000000000L,0x0000400000000000L}); + public static final BitSet FOLLOW_110_in_ruleResourceDemandSpecification13762 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleResourceDemandSpecification13785 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleResourceDemandSpecification13797 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleProcessingResourceType_Impl_in_entryRuleProcessingResourceType_Impl13833 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleProcessingResourceType_Impl13843 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_111_in_ruleProcessingResourceType_Impl13880 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleProcessingResourceType_Impl13901 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleProcessingResourceType_Impl13913 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_13_in_ruleProcessingResourceType_Impl13925 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleProcessingResourceType_Impl13946 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleProcessingResourceType_Impl13958 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleCommunicationLinkResourceType_in_entryRuleCommunicationLinkResourceType13994 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleCommunicationLinkResourceType14004 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_112_in_ruleCommunicationLinkResourceType14041 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleCommunicationLinkResourceType14062 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleCommunicationLinkResourceType14074 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_13_in_ruleCommunicationLinkResourceType14086 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleCommunicationLinkResourceType14107 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleCommunicationLinkResourceType14119 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleBranchTransition_in_entryRuleBranchTransition14157 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleBranchTransition14167 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_113_in_ruleBranchTransition14204 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleBranchTransition14225 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleBranchTransition14237 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_13_in_ruleBranchTransition14249 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleBranchTransition14270 = new BitSet(new long[]{0x0000000000000000L,0x0004000000000000L}); + public static final BitSet FOLLOW_114_in_ruleBranchTransition14282 = new BitSet(new long[]{0x0000000000000000L,0x0000000000410000L}); + public static final BitSet FOLLOW_ruleComponentInternalBehavior_in_ruleBranchTransition14303 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleBranchTransition14315 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleBranchProbabilities_in_entryRuleBranchProbabilities14351 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleBranchProbabilities14361 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_115_in_ruleBranchProbabilities14398 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleBranchProbabilities14410 = new BitSet(new long[]{0x0000000000000000L,0x0010000000000000L}); + public static final BitSet FOLLOW_116_in_ruleBranchProbabilities14422 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleBranchProbabilities14445 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleBranchProbabilities14457 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleProbabilityMassFunction_in_entryRuleProbabilityMassFunction14495 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleProbabilityMassFunction14505 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_117_in_ruleProbabilityMassFunction14551 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleProbabilityMassFunction14563 = new BitSet(new long[]{0x0000000000010000L,0x0040000000000000L}); + public static final BitSet FOLLOW_118_in_ruleProbabilityMassFunction14576 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleProbabilityMassFunction14588 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L}); + public static final BitSet FOLLOW_ruleSample_in_ruleProbabilityMassFunction14609 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleProbabilityMassFunction14622 = new BitSet(new long[]{0x0000000000000000L,0x8000000000000000L}); + public static final BitSet FOLLOW_ruleSample_in_ruleProbabilityMassFunction14643 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleProbabilityMassFunction14657 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleProbabilityMassFunction14671 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleProbabilityDensityFunction_Impl_in_entryRuleProbabilityDensityFunction_Impl14707 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleProbabilityDensityFunction_Impl14717 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_119_in_ruleProbabilityDensityFunction_Impl14763 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleBoxedPDF_in_entryRuleBoxedPDF14799 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleBoxedPDF14809 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_120_in_ruleBoxedPDF14855 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleBoxedPDF14867 = new BitSet(new long[]{0x0000000000010000L,0x0040000000000000L}); + public static final BitSet FOLLOW_118_in_ruleBoxedPDF14880 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleBoxedPDF14892 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000008L}); + public static final BitSet FOLLOW_ruleContinuousSample_in_ruleBoxedPDF14913 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_15_in_ruleBoxedPDF14926 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000008L}); + public static final BitSet FOLLOW_ruleContinuousSample_in_ruleBoxedPDF14947 = new BitSet(new long[]{0x0000000000018000L}); + public static final BitSet FOLLOW_16_in_ruleBoxedPDF14961 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleBoxedPDF14975 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleContinuousPDF_Impl_in_entryRuleContinuousPDF_Impl15011 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleContinuousPDF_Impl15021 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_121_in_ruleContinuousPDF_Impl15067 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleNormalDistribution_in_entryRuleNormalDistribution15103 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleNormalDistribution15113 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_122_in_ruleNormalDistribution15150 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleNormalDistribution15162 = new BitSet(new long[]{0x0000000000000000L,0x0800000000000000L}); + public static final BitSet FOLLOW_123_in_ruleNormalDistribution15174 = new BitSet(new long[]{0x0000000000000040L,0x0000000000000000L,0x0000000000000004L}); + public static final BitSet FOLLOW_ruleEBigDecimal_in_ruleNormalDistribution15195 = new BitSet(new long[]{0x0000000000000000L,0x1000000000000000L}); + public static final BitSet FOLLOW_124_in_ruleNormalDistribution15207 = new BitSet(new long[]{0x0000000000000040L,0x0000000000000000L,0x0000000000000004L}); + public static final BitSet FOLLOW_ruleEBigDecimal_in_ruleNormalDistribution15228 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleNormalDistribution15240 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleExponentialDistribution_in_entryRuleExponentialDistribution15276 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleExponentialDistribution15286 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_125_in_ruleExponentialDistribution15323 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleExponentialDistribution15335 = new BitSet(new long[]{0x0000000000000000L,0x4000000000000000L}); + public static final BitSet FOLLOW_126_in_ruleExponentialDistribution15347 = new BitSet(new long[]{0x0000000000000040L,0x0000000000000000L,0x0000000000000004L}); + public static final BitSet FOLLOW_ruleEBigDecimal_in_ruleExponentialDistribution15368 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleExponentialDistribution15380 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleSample_in_entryRuleSample15416 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleSample15426 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_127_in_ruleSample15463 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleSample15475 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000001L}); + public static final BitSet FOLLOW_128_in_ruleSample15487 = new BitSet(new long[]{0x0000000000000040L,0x0000000000000000L,0x0000000000000004L}); + public static final BitSet FOLLOW_ruleEBigDecimal_in_ruleSample15508 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000002L}); + public static final BitSet FOLLOW_129_in_ruleSample15520 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleSample15543 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleSample15555 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleEBigDecimal_in_entryRuleEBigDecimal15594 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleEBigDecimal15605 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_RULE_INT_in_ruleEBigDecimal15646 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000004L}); + public static final BitSet FOLLOW_130_in_ruleEBigDecimal15666 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_RULE_INT_in_ruleEBigDecimal15681 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleContinuousSample_in_entryRuleContinuousSample15726 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleContinuousSample15736 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_131_in_ruleContinuousSample15773 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleContinuousSample15785 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000002L}); + public static final BitSet FOLLOW_129_in_ruleContinuousSample15797 = new BitSet(new long[]{0x0000000000000040L,0x0000000000000000L,0x0000000000000004L}); + public static final BitSet FOLLOW_ruleEBigDecimal_in_ruleContinuousSample15818 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000001L}); + public static final BitSet FOLLOW_128_in_ruleContinuousSample15830 = new BitSet(new long[]{0x0000000000000040L,0x0000000000000000L,0x0000000000000004L}); + public static final BitSet FOLLOW_ruleEBigDecimal_in_ruleContinuousSample15851 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleContinuousSample15863 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleLoopIterationCountDistribution_in_entryRuleLoopIterationCountDistribution15899 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleLoopIterationCountDistribution15909 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_132_in_ruleLoopIterationCountDistribution15946 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleLoopIterationCountDistribution15958 = new BitSet(new long[]{0x0000000000000000L,0x0000002000000000L}); + public static final BitSet FOLLOW_101_in_ruleLoopIterationCountDistribution15970 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleLoopIterationCountDistribution15993 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleLoopIterationCountDistribution16005 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleAssemblyContext_in_entryRuleAssemblyContext16041 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleAssemblyContext16051 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_133_in_ruleAssemblyContext16088 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyContext16109 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleAssemblyContext16121 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_13_in_ruleAssemblyContext16133 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyContext16154 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000040L}); + public static final BitSet FOLLOW_134_in_ruleAssemblyContext16166 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyContext16189 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleAssemblyContext16201 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleAssemblyConnector_in_entryRuleAssemblyConnector16237 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleAssemblyConnector16247 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_135_in_ruleAssemblyConnector16284 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyConnector16305 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleAssemblyConnector16317 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_13_in_ruleAssemblyConnector16329 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyConnector16350 = new BitSet(new long[]{0x0000000000000000L,0x0000008000000000L}); + public static final BitSet FOLLOW_103_in_ruleAssemblyConnector16362 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyConnector16385 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L}); + public static final BitSet FOLLOW_75_in_ruleAssemblyConnector16397 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyConnector16420 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000100L}); + public static final BitSet FOLLOW_136_in_ruleAssemblyConnector16432 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyConnector16455 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000200L}); + public static final BitSet FOLLOW_137_in_ruleAssemblyConnector16467 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleAssemblyConnector16490 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleAssemblyConnector16502 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleProvidedDelegationConnector_in_entryRuleProvidedDelegationConnector16538 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleProvidedDelegationConnector16548 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_138_in_ruleProvidedDelegationConnector16585 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleProvidedDelegationConnector16606 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleProvidedDelegationConnector16618 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_13_in_ruleProvidedDelegationConnector16630 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleProvidedDelegationConnector16651 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000800L}); + public static final BitSet FOLLOW_139_in_ruleProvidedDelegationConnector16663 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleProvidedDelegationConnector16686 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000001000L}); + public static final BitSet FOLLOW_140_in_ruleProvidedDelegationConnector16698 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleProvidedDelegationConnector16721 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_141_in_ruleProvidedDelegationConnector16733 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleProvidedDelegationConnector16756 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleProvidedDelegationConnector16768 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleRequiredDelegationConnector_in_entryRuleRequiredDelegationConnector16804 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleRequiredDelegationConnector16814 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_142_in_ruleRequiredDelegationConnector16851 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleRequiredDelegationConnector16872 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleRequiredDelegationConnector16884 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_13_in_ruleRequiredDelegationConnector16896 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleRequiredDelegationConnector16917 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000800L}); + public static final BitSet FOLLOW_139_in_ruleRequiredDelegationConnector16929 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleRequiredDelegationConnector16952 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000008000L}); + public static final BitSet FOLLOW_143_in_ruleRequiredDelegationConnector16964 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleRequiredDelegationConnector16987 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000010000L}); + public static final BitSet FOLLOW_144_in_ruleRequiredDelegationConnector16999 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleRequiredDelegationConnector17022 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleRequiredDelegationConnector17034 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleExternalCall_Impl_in_entryRuleExternalCall_Impl17070 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleExternalCall_Impl17080 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_145_in_ruleExternalCall_Impl17117 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleExternalCall_Impl17129 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); + public static final BitSet FOLLOW_73_in_ruleExternalCall_Impl17141 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleExternalCall_Impl17164 = new BitSet(new long[]{0x0000000000000000L,0x0000008000000000L}); + public static final BitSet FOLLOW_103_in_ruleExternalCall_Impl17176 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleExternalCall_Impl17199 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleExternalCall_Impl17211 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleExternalCallFrequency_in_entryRuleExternalCallFrequency17247 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleExternalCallFrequency17257 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_146_in_ruleExternalCallFrequency17294 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleExternalCallFrequency17306 = new BitSet(new long[]{0x0000000000000000L,0x0000000000002000L}); + public static final BitSet FOLLOW_77_in_ruleExternalCallFrequency17318 = new BitSet(new long[]{0x0000000000000000L,0x000000493B880000L,0x0000000000020000L}); + public static final BitSet FOLLOW_ruleExternalCall_in_ruleExternalCallFrequency17339 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000080000L}); + public static final BitSet FOLLOW_147_in_ruleExternalCallFrequency17351 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000100000L}); + public static final BitSet FOLLOW_ruleCallFrequency_in_ruleExternalCallFrequency17372 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleExternalCallFrequency17384 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleCallFrequency_in_entryRuleCallFrequency17420 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleCallFrequency17430 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_148_in_ruleCallFrequency17467 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleCallFrequency17479 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000080000L}); + public static final BitSet FOLLOW_147_in_ruleCallFrequency17491 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleCallFrequency17514 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleCallFrequency17526 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleDependencyRelationship_in_entryRuleDependencyRelationship17562 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleDependencyRelationship17572 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_149_in_ruleDependencyRelationship17609 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleDependencyRelationship17621 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000400000L}); + public static final BitSet FOLLOW_150_in_ruleDependencyRelationship17633 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleDependencyRelationship17656 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000800000L}); + public static final BitSet FOLLOW_151_in_ruleDependencyRelationship17668 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleDependencyRelationship17691 = new BitSet(new long[]{0x0002000000000000L}); + public static final BitSet FOLLOW_49_in_ruleDependencyRelationship17703 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleDependencyRelationship17726 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleDependencyRelationship17738 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleCorrelationRelationship_in_entryRuleCorrelationRelationship17774 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleCorrelationRelationship17784 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_152_in_ruleCorrelationRelationship17821 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleCorrelationRelationship17833 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000400000L}); + public static final BitSet FOLLOW_150_in_ruleCorrelationRelationship17845 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleCorrelationRelationship17868 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000002000000L}); + public static final BitSet FOLLOW_153_in_ruleCorrelationRelationship17880 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleCorrelationRelationship17903 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000004000000L}); + public static final BitSet FOLLOW_154_in_ruleCorrelationRelationship17915 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleCorrelationRelationship17938 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000008000000L}); + public static final BitSet FOLLOW_155_in_ruleCorrelationRelationship17950 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000020000000L}); + public static final BitSet FOLLOW_ruleComponentInstanceReference_in_ruleCorrelationRelationship17971 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000010000000L}); + public static final BitSet FOLLOW_156_in_ruleCorrelationRelationship17983 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000020000000L}); + public static final BitSet FOLLOW_ruleComponentInstanceReference_in_ruleCorrelationRelationship18004 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleCorrelationRelationship18016 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_ruleComponentInstanceReference_in_entryRuleComponentInstanceReference18054 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_EOF_in_entryRuleComponentInstanceReference18064 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_157_in_ruleComponentInstanceReference18110 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_12_in_ruleComponentInstanceReference18122 = new BitSet(new long[]{0x0000000000010000L,0x0000000000000000L,0x0000000040000000L}); + public static final BitSet FOLLOW_158_in_ruleComponentInstanceReference18135 = new BitSet(new long[]{0x0000000000200000L}); + public static final BitSet FOLLOW_21_in_ruleComponentInstanceReference18147 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleComponentInstanceReference18170 = new BitSet(new long[]{0x0000000000408000L}); + public static final BitSet FOLLOW_15_in_ruleComponentInstanceReference18183 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_ruleEString_in_ruleComponentInstanceReference18206 = new BitSet(new long[]{0x0000000000408000L}); + public static final BitSet FOLLOW_22_in_ruleComponentInstanceReference18220 = new BitSet(new long[]{0x0000000000010000L}); + public static final BitSet FOLLOW_16_in_ruleComponentInstanceReference18234 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_159_in_rulePrimitiveTypeEnum18284 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_160_in_rulePrimitiveTypeEnum18301 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_161_in_rulePrimitiveTypeEnum18318 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_162_in_rulePrimitiveTypeEnum18335 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_163_in_rulePrimitiveTypeEnum18352 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_164_in_rulePrimitiveTypeEnum18369 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_165_in_rulePrimitiveTypeEnum18386 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_166_in_ruleParameterModifier18431 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_167_in_ruleParameterModifier18448 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_168_in_ruleParameterModifier18465 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_169_in_ruleParameterModifier18482 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_170_in_ruleCharacterizationType18527 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_171_in_ruleCharacterizationType18544 = new BitSet(new long[]{0x0000000000000002L}); + } + + +} \ No newline at end of file diff --git a/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/services/RepositoryDSLGrammarAccess.java b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/services/RepositoryDSLGrammarAccess.java new file mode 100644 index 0000000000000000000000000000000000000000..a9eead0a4d7c714b2f672f2e2373353ae4ae3bd9 --- /dev/null +++ b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/services/RepositoryDSLGrammarAccess.java @@ -0,0 +1,8021 @@ +/* +* generated by Xtext +*/ + +package edu.kit.ipd.descartes.mm.applicationlevel.repository.text.services; + +import com.google.inject.Singleton; +import com.google.inject.Inject; + +import org.eclipse.xtext.*; +import org.eclipse.xtext.service.GrammarProvider; +import org.eclipse.xtext.service.AbstractElementFinder.*; + +import org.eclipse.xtext.common.services.TerminalsGrammarAccess; + +@Singleton +public class RepositoryDSLGrammarAccess extends AbstractGrammarElementFinder { + + + public class RepositoryElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Repository"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cRepositoryKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0); + private final Group cGroup_5 = (Group)cGroup.eContents().get(5); + private final Keyword cDatatypesKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1); + private final Assignment cDatatypesAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2); + private final RuleCall cDatatypesDataTypeParserRuleCall_5_2_0 = (RuleCall)cDatatypesAssignment_5_2.eContents().get(0); + private final Group cGroup_5_3 = (Group)cGroup_5.eContents().get(3); + private final Keyword cCommaKeyword_5_3_0 = (Keyword)cGroup_5_3.eContents().get(0); + private final Assignment cDatatypesAssignment_5_3_1 = (Assignment)cGroup_5_3.eContents().get(1); + private final RuleCall cDatatypesDataTypeParserRuleCall_5_3_1_0 = (RuleCall)cDatatypesAssignment_5_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4); + private final Group cGroup_6 = (Group)cGroup.eContents().get(6); + private final Keyword cInterfacesKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1); + private final Assignment cInterfacesAssignment_6_2 = (Assignment)cGroup_6.eContents().get(2); + private final RuleCall cInterfacesInterfaceParserRuleCall_6_2_0 = (RuleCall)cInterfacesAssignment_6_2.eContents().get(0); + private final Group cGroup_6_3 = (Group)cGroup_6.eContents().get(3); + private final Keyword cCommaKeyword_6_3_0 = (Keyword)cGroup_6_3.eContents().get(0); + private final Assignment cInterfacesAssignment_6_3_1 = (Assignment)cGroup_6_3.eContents().get(1); + private final RuleCall cInterfacesInterfaceParserRuleCall_6_3_1_0 = (RuleCall)cInterfacesAssignment_6_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_6_4 = (Keyword)cGroup_6.eContents().get(4); + private final Group cGroup_7 = (Group)cGroup.eContents().get(7); + private final Keyword cComponentsKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_7_1 = (Keyword)cGroup_7.eContents().get(1); + private final Assignment cComponentsAssignment_7_2 = (Assignment)cGroup_7.eContents().get(2); + private final RuleCall cComponentsRepositoryComponentParserRuleCall_7_2_0 = (RuleCall)cComponentsAssignment_7_2.eContents().get(0); + private final Group cGroup_7_3 = (Group)cGroup_7.eContents().get(3); + private final Keyword cCommaKeyword_7_3_0 = (Keyword)cGroup_7_3.eContents().get(0); + private final Assignment cComponentsAssignment_7_3_1 = (Assignment)cGroup_7_3.eContents().get(1); + private final RuleCall cComponentsRepositoryComponentParserRuleCall_7_3_1_0 = (RuleCall)cComponentsAssignment_7_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_7_4 = (Keyword)cGroup_7.eContents().get(4); + private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8); + + //Repository returns repository::Repository: + // "Repository" id=EString "{" "name" name=EString ("datatypes" "{" datatypes+=DataType ("," datatypes+=DataType)* "}")? + // ("interfaces" "{" interfaces+=Interface ("," interfaces+=Interface)* "}")? ("components" "{" + // components+=RepositoryComponent ("," components+=RepositoryComponent)* "}")? "}"; + public ParserRule getRule() { return rule; } + + //"Repository" id=EString "{" "name" name=EString ("datatypes" "{" datatypes+=DataType ("," datatypes+=DataType)* "}")? + //("interfaces" "{" interfaces+=Interface ("," interfaces+=Interface)* "}")? ("components" "{" + //components+=RepositoryComponent ("," components+=RepositoryComponent)* "}")? "}" + public Group getGroup() { return cGroup; } + + //"Repository" + public Keyword getRepositoryKeyword_0() { return cRepositoryKeyword_0; } + + //id=EString + public Assignment getIdAssignment_1() { return cIdAssignment_1; } + + //EString + public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //"name" + public Keyword getNameKeyword_3() { return cNameKeyword_3; } + + //name=EString + public Assignment getNameAssignment_4() { return cNameAssignment_4; } + + //EString + public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; } + + //("datatypes" "{" datatypes+=DataType ("," datatypes+=DataType)* "}")? + public Group getGroup_5() { return cGroup_5; } + + //"datatypes" + public Keyword getDatatypesKeyword_5_0() { return cDatatypesKeyword_5_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_5_1() { return cLeftCurlyBracketKeyword_5_1; } + + //datatypes+=DataType + public Assignment getDatatypesAssignment_5_2() { return cDatatypesAssignment_5_2; } + + //DataType + public RuleCall getDatatypesDataTypeParserRuleCall_5_2_0() { return cDatatypesDataTypeParserRuleCall_5_2_0; } + + //("," datatypes+=DataType)* + public Group getGroup_5_3() { return cGroup_5_3; } + + //"," + public Keyword getCommaKeyword_5_3_0() { return cCommaKeyword_5_3_0; } + + //datatypes+=DataType + public Assignment getDatatypesAssignment_5_3_1() { return cDatatypesAssignment_5_3_1; } + + //DataType + public RuleCall getDatatypesDataTypeParserRuleCall_5_3_1_0() { return cDatatypesDataTypeParserRuleCall_5_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_5_4() { return cRightCurlyBracketKeyword_5_4; } + + //("interfaces" "{" interfaces+=Interface ("," interfaces+=Interface)* "}")? + public Group getGroup_6() { return cGroup_6; } + + //"interfaces" + public Keyword getInterfacesKeyword_6_0() { return cInterfacesKeyword_6_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_6_1() { return cLeftCurlyBracketKeyword_6_1; } + + //interfaces+=Interface + public Assignment getInterfacesAssignment_6_2() { return cInterfacesAssignment_6_2; } + + //Interface + public RuleCall getInterfacesInterfaceParserRuleCall_6_2_0() { return cInterfacesInterfaceParserRuleCall_6_2_0; } + + //("," interfaces+=Interface)* + public Group getGroup_6_3() { return cGroup_6_3; } + + //"," + public Keyword getCommaKeyword_6_3_0() { return cCommaKeyword_6_3_0; } + + //interfaces+=Interface + public Assignment getInterfacesAssignment_6_3_1() { return cInterfacesAssignment_6_3_1; } + + //Interface + public RuleCall getInterfacesInterfaceParserRuleCall_6_3_1_0() { return cInterfacesInterfaceParserRuleCall_6_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_6_4() { return cRightCurlyBracketKeyword_6_4; } + + //("components" "{" components+=RepositoryComponent ("," components+=RepositoryComponent)* "}")? + public Group getGroup_7() { return cGroup_7; } + + //"components" + public Keyword getComponentsKeyword_7_0() { return cComponentsKeyword_7_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_7_1() { return cLeftCurlyBracketKeyword_7_1; } + + //components+=RepositoryComponent + public Assignment getComponentsAssignment_7_2() { return cComponentsAssignment_7_2; } + + //RepositoryComponent + public RuleCall getComponentsRepositoryComponentParserRuleCall_7_2_0() { return cComponentsRepositoryComponentParserRuleCall_7_2_0; } + + //("," components+=RepositoryComponent)* + public Group getGroup_7_3() { return cGroup_7_3; } + + //"," + public Keyword getCommaKeyword_7_3_0() { return cCommaKeyword_7_3_0; } + + //components+=RepositoryComponent + public Assignment getComponentsAssignment_7_3_1() { return cComponentsAssignment_7_3_1; } + + //RepositoryComponent + public RuleCall getComponentsRepositoryComponentParserRuleCall_7_3_1_0() { return cComponentsRepositoryComponentParserRuleCall_7_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_7_4() { return cRightCurlyBracketKeyword_7_4; } + + //"}" + public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; } + } + + public class DataTypeElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DataType"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cCollectionDataTypeParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cCompositeDataTypeParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cPrimitiveDataTypeParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + + //DataType returns repository::DataType: + // CollectionDataType | CompositeDataType | PrimitiveDataType; + public ParserRule getRule() { return rule; } + + //CollectionDataType | CompositeDataType | PrimitiveDataType + public Alternatives getAlternatives() { return cAlternatives; } + + //CollectionDataType + public RuleCall getCollectionDataTypeParserRuleCall_0() { return cCollectionDataTypeParserRuleCall_0; } + + //CompositeDataType + public RuleCall getCompositeDataTypeParserRuleCall_1() { return cCompositeDataTypeParserRuleCall_1; } + + //PrimitiveDataType + public RuleCall getPrimitiveDataTypeParserRuleCall_2() { return cPrimitiveDataTypeParserRuleCall_2; } + } + + public class RepositoryComponentElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RepositoryComponent"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cRepositoryComponent_ImplParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cBasicComponentParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cCompositeComponentParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + private final RuleCall cSubSystemParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); + + //RepositoryComponent returns repository::RepositoryComponent: + // RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem; + public ParserRule getRule() { return rule; } + + //RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem + public Alternatives getAlternatives() { return cAlternatives; } + + //RepositoryComponent_Impl + public RuleCall getRepositoryComponent_ImplParserRuleCall_0() { return cRepositoryComponent_ImplParserRuleCall_0; } + + //BasicComponent + public RuleCall getBasicComponentParserRuleCall_1() { return cBasicComponentParserRuleCall_1; } + + //CompositeComponent + public RuleCall getCompositeComponentParserRuleCall_2() { return cCompositeComponentParserRuleCall_2; } + + //SubSystem + public RuleCall getSubSystemParserRuleCall_3() { return cSubSystemParserRuleCall_3; } + } + + public class RelationshipElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Relationship"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cDependencyRelationshipParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cCorrelationRelationshipParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //Relationship: + // DependencyRelationship | CorrelationRelationship; + public ParserRule getRule() { return rule; } + + //DependencyRelationship | CorrelationRelationship + public Alternatives getAlternatives() { return cAlternatives; } + + //DependencyRelationship + public RuleCall getDependencyRelationshipParserRuleCall_0() { return cDependencyRelationshipParserRuleCall_0; } + + //CorrelationRelationship + public RuleCall getCorrelationRelationshipParserRuleCall_1() { return cCorrelationRelationshipParserRuleCall_1; } + } + + public class InfluencingParameterElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "InfluencingParameter"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cInfluencingParameter_ImplParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cServiceInputParameterParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cExternalCallReturnParameterParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + private final RuleCall cExternalCallParameterParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); + + //InfluencingParameter: + // InfluencingParameter_Impl | ServiceInputParameter | ExternalCallReturnParameter | ExternalCallParameter; + public ParserRule getRule() { return rule; } + + //InfluencingParameter_Impl | ServiceInputParameter | ExternalCallReturnParameter | ExternalCallParameter + public Alternatives getAlternatives() { return cAlternatives; } + + //InfluencingParameter_Impl + public RuleCall getInfluencingParameter_ImplParserRuleCall_0() { return cInfluencingParameter_ImplParserRuleCall_0; } + + //ServiceInputParameter + public RuleCall getServiceInputParameterParserRuleCall_1() { return cServiceInputParameterParserRuleCall_1; } + + //ExternalCallReturnParameter + public RuleCall getExternalCallReturnParameterParserRuleCall_2() { return cExternalCallReturnParameterParserRuleCall_2; } + + //ExternalCallParameter + public RuleCall getExternalCallParameterParserRuleCall_3() { return cExternalCallParameterParserRuleCall_3; } + } + + public class InterfaceProvidingEntityElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "InterfaceProvidingEntity"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cRepositoryComponent_ImplParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cBasicComponentParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cCompositeComponentParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + private final RuleCall cSubSystemParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); + + //InterfaceProvidingEntity returns repository::InterfaceProvidingEntity: + // RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem; + public ParserRule getRule() { return rule; } + + //RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem + public Alternatives getAlternatives() { return cAlternatives; } + + //RepositoryComponent_Impl + public RuleCall getRepositoryComponent_ImplParserRuleCall_0() { return cRepositoryComponent_ImplParserRuleCall_0; } + + //BasicComponent + public RuleCall getBasicComponentParserRuleCall_1() { return cBasicComponentParserRuleCall_1; } + + //CompositeComponent + public RuleCall getCompositeComponentParserRuleCall_2() { return cCompositeComponentParserRuleCall_2; } + + //SubSystem + public RuleCall getSubSystemParserRuleCall_3() { return cSubSystemParserRuleCall_3; } + } + + public class InterfaceProvidingRequiringEntityElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "InterfaceProvidingRequiringEntity"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cRepositoryComponent_ImplParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cBasicComponentParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cCompositeComponentParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + private final RuleCall cSubSystemParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); + + //InterfaceProvidingRequiringEntity returns repository::InterfaceProvidingRequiringEntity: + // RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem; + public ParserRule getRule() { return rule; } + + //RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem + public Alternatives getAlternatives() { return cAlternatives; } + + //RepositoryComponent_Impl + public RuleCall getRepositoryComponent_ImplParserRuleCall_0() { return cRepositoryComponent_ImplParserRuleCall_0; } + + //BasicComponent + public RuleCall getBasicComponentParserRuleCall_1() { return cBasicComponentParserRuleCall_1; } + + //CompositeComponent + public RuleCall getCompositeComponentParserRuleCall_2() { return cCompositeComponentParserRuleCall_2; } + + //SubSystem + public RuleCall getSubSystemParserRuleCall_3() { return cSubSystemParserRuleCall_3; } + } + + public class ServiceBehaviorAbstractionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ServiceBehaviorAbstraction"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cFineGrainedBehaviorParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cCoarseGrainedBehaviorParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cBlackBoxBehaviorParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + + //ServiceBehaviorAbstraction returns servicebehavior::ServiceBehaviorAbstraction: + // FineGrainedBehavior | CoarseGrainedBehavior | BlackBoxBehavior; + public ParserRule getRule() { return rule; } + + //FineGrainedBehavior | CoarseGrainedBehavior | BlackBoxBehavior + public Alternatives getAlternatives() { return cAlternatives; } + + //FineGrainedBehavior + public RuleCall getFineGrainedBehaviorParserRuleCall_0() { return cFineGrainedBehaviorParserRuleCall_0; } + + //CoarseGrainedBehavior + public RuleCall getCoarseGrainedBehaviorParserRuleCall_1() { return cCoarseGrainedBehaviorParserRuleCall_1; } + + //BlackBoxBehavior + public RuleCall getBlackBoxBehaviorParserRuleCall_2() { return cBlackBoxBehaviorParserRuleCall_2; } + } + + public class ExternalCallElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ExternalCall"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cExternalCall_ImplParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cExternalCallActionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //ExternalCall returns servicebehavior::ExternalCall: + // ExternalCall_Impl | ExternalCallAction; + public ParserRule getRule() { return rule; } + + //ExternalCall_Impl | ExternalCallAction + public Alternatives getAlternatives() { return cAlternatives; } + + //ExternalCall_Impl + public RuleCall getExternalCall_ImplParserRuleCall_0() { return cExternalCall_ImplParserRuleCall_0; } + + //ExternalCallAction + public RuleCall getExternalCallActionParserRuleCall_1() { return cExternalCallActionParserRuleCall_1; } + } + + public class AbstractActionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AbstractAction"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cAbstractAction_ImplParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cStartActionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cStopActionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + private final RuleCall cAcquireActionParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); + private final RuleCall cReleaseActionParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); + private final RuleCall cInternalActionParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5); + private final RuleCall cForkActionParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6); + private final RuleCall cBranchActionParserRuleCall_7 = (RuleCall)cAlternatives.eContents().get(7); + private final RuleCall cLoopActionParserRuleCall_8 = (RuleCall)cAlternatives.eContents().get(8); + private final RuleCall cExternalCallActionParserRuleCall_9 = (RuleCall)cAlternatives.eContents().get(9); + + //AbstractAction returns servicebehavior::AbstractAction: + // AbstractAction_Impl | StartAction | StopAction | AcquireAction | ReleaseAction | InternalAction | ForkAction | + // BranchAction | LoopAction | ExternalCallAction; + public ParserRule getRule() { return rule; } + + //AbstractAction_Impl | StartAction | StopAction | AcquireAction | ReleaseAction | InternalAction | ForkAction | + //BranchAction | LoopAction | ExternalCallAction + public Alternatives getAlternatives() { return cAlternatives; } + + //AbstractAction_Impl + public RuleCall getAbstractAction_ImplParserRuleCall_0() { return cAbstractAction_ImplParserRuleCall_0; } + + //StartAction + public RuleCall getStartActionParserRuleCall_1() { return cStartActionParserRuleCall_1; } + + //StopAction + public RuleCall getStopActionParserRuleCall_2() { return cStopActionParserRuleCall_2; } + + //AcquireAction + public RuleCall getAcquireActionParserRuleCall_3() { return cAcquireActionParserRuleCall_3; } + + //ReleaseAction + public RuleCall getReleaseActionParserRuleCall_4() { return cReleaseActionParserRuleCall_4; } + + //InternalAction + public RuleCall getInternalActionParserRuleCall_5() { return cInternalActionParserRuleCall_5; } + + //ForkAction + public RuleCall getForkActionParserRuleCall_6() { return cForkActionParserRuleCall_6; } + + //BranchAction + public RuleCall getBranchActionParserRuleCall_7() { return cBranchActionParserRuleCall_7; } + + //LoopAction + public RuleCall getLoopActionParserRuleCall_8() { return cLoopActionParserRuleCall_8; } + + //ExternalCallAction + public RuleCall getExternalCallActionParserRuleCall_9() { return cExternalCallActionParserRuleCall_9; } + } + + public class ComponentInternalBehaviorElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ComponentInternalBehavior"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cComponentInternalBehavior_ImplParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cFineGrainedBehaviorParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //ComponentInternalBehavior returns servicebehavior::ComponentInternalBehavior: + // ComponentInternalBehavior_Impl | FineGrainedBehavior; + public ParserRule getRule() { return rule; } + + //ComponentInternalBehavior_Impl | FineGrainedBehavior + public Alternatives getAlternatives() { return cAlternatives; } + + //ComponentInternalBehavior_Impl + public RuleCall getComponentInternalBehavior_ImplParserRuleCall_0() { return cComponentInternalBehavior_ImplParserRuleCall_0; } + + //FineGrainedBehavior + public RuleCall getFineGrainedBehaviorParserRuleCall_1() { return cFineGrainedBehaviorParserRuleCall_1; } + } + + public class ProcessingResourceTypeElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ProcessingResourceType"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cProcessingResourceType_ImplParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cCommunicationLinkResourceTypeParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //ProcessingResourceType returns resourcetype::ProcessingResourceType: + // ProcessingResourceType_Impl | CommunicationLinkResourceType; + public ParserRule getRule() { return rule; } + + //ProcessingResourceType_Impl | CommunicationLinkResourceType + public Alternatives getAlternatives() { return cAlternatives; } + + //ProcessingResourceType_Impl + public RuleCall getProcessingResourceType_ImplParserRuleCall_0() { return cProcessingResourceType_ImplParserRuleCall_0; } + + //CommunicationLinkResourceType + public RuleCall getCommunicationLinkResourceTypeParserRuleCall_1() { return cCommunicationLinkResourceTypeParserRuleCall_1; } + } + + public class ProbabilityFunctionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ProbabilityFunction"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cProbabilityMassFunctionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cProbabilityDensityFunction_ImplParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cBoxedPDFParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + private final RuleCall cContinuousPDF_ImplParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); + private final RuleCall cNormalDistributionParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4); + private final RuleCall cExponentialDistributionParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5); + + //ProbabilityFunction returns functions::ProbabilityFunction: + // ProbabilityMassFunction | ProbabilityDensityFunction_Impl | BoxedPDF | ContinuousPDF_Impl | NormalDistribution | + // ExponentialDistribution; + public ParserRule getRule() { return rule; } + + //ProbabilityMassFunction | ProbabilityDensityFunction_Impl | BoxedPDF | ContinuousPDF_Impl | NormalDistribution | + //ExponentialDistribution + public Alternatives getAlternatives() { return cAlternatives; } + + //ProbabilityMassFunction + public RuleCall getProbabilityMassFunctionParserRuleCall_0() { return cProbabilityMassFunctionParserRuleCall_0; } + + //ProbabilityDensityFunction_Impl + public RuleCall getProbabilityDensityFunction_ImplParserRuleCall_1() { return cProbabilityDensityFunction_ImplParserRuleCall_1; } + + //BoxedPDF + public RuleCall getBoxedPDFParserRuleCall_2() { return cBoxedPDFParserRuleCall_2; } + + //ContinuousPDF_Impl + public RuleCall getContinuousPDF_ImplParserRuleCall_3() { return cContinuousPDF_ImplParserRuleCall_3; } + + //NormalDistribution + public RuleCall getNormalDistributionParserRuleCall_4() { return cNormalDistributionParserRuleCall_4; } + + //ExponentialDistribution + public RuleCall getExponentialDistributionParserRuleCall_5() { return cExponentialDistributionParserRuleCall_5; } + } + + public class EStringElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EString"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cSTRINGTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cIDTerminalRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //EString returns ecore::EString: + // STRING | ID; + public ParserRule getRule() { return rule; } + + //STRING | ID + public Alternatives getAlternatives() { return cAlternatives; } + + //STRING + public RuleCall getSTRINGTerminalRuleCall_0() { return cSTRINGTerminalRuleCall_0; } + + //ID + public RuleCall getIDTerminalRuleCall_1() { return cIDTerminalRuleCall_1; } + } + + public class InterfaceElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Interface"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cInterfaceKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0); + private final Group cGroup_5 = (Group)cGroup.eContents().get(5); + private final Keyword cParentInterfacesKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); + private final Keyword cLeftParenthesisKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1); + private final Assignment cParentInterfacesAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2); + private final CrossReference cParentInterfacesInterfaceCrossReference_5_2_0 = (CrossReference)cParentInterfacesAssignment_5_2.eContents().get(0); + private final RuleCall cParentInterfacesInterfaceEStringParserRuleCall_5_2_0_1 = (RuleCall)cParentInterfacesInterfaceCrossReference_5_2_0.eContents().get(1); + private final Group cGroup_5_3 = (Group)cGroup_5.eContents().get(3); + private final Keyword cCommaKeyword_5_3_0 = (Keyword)cGroup_5_3.eContents().get(0); + private final Assignment cParentInterfacesAssignment_5_3_1 = (Assignment)cGroup_5_3.eContents().get(1); + private final CrossReference cParentInterfacesInterfaceCrossReference_5_3_1_0 = (CrossReference)cParentInterfacesAssignment_5_3_1.eContents().get(0); + private final RuleCall cParentInterfacesInterfaceEStringParserRuleCall_5_3_1_0_1 = (RuleCall)cParentInterfacesInterfaceCrossReference_5_3_1_0.eContents().get(1); + private final Keyword cRightParenthesisKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4); + private final Group cGroup_6 = (Group)cGroup.eContents().get(6); + private final Keyword cSignaturesKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1); + private final Assignment cSignaturesAssignment_6_2 = (Assignment)cGroup_6.eContents().get(2); + private final RuleCall cSignaturesSignatureParserRuleCall_6_2_0 = (RuleCall)cSignaturesAssignment_6_2.eContents().get(0); + private final Group cGroup_6_3 = (Group)cGroup_6.eContents().get(3); + private final Keyword cCommaKeyword_6_3_0 = (Keyword)cGroup_6_3.eContents().get(0); + private final Assignment cSignaturesAssignment_6_3_1 = (Assignment)cGroup_6_3.eContents().get(1); + private final RuleCall cSignaturesSignatureParserRuleCall_6_3_1_0 = (RuleCall)cSignaturesAssignment_6_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_6_4 = (Keyword)cGroup_6.eContents().get(4); + private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); + + //Interface returns repository::Interface: + // "Interface" id=EString "{" "name" name=EString ("parentInterfaces" "(" + // parentInterfaces+=[repository::Interface|EString] ("," parentInterfaces+=[repository::Interface|EString])* ")")? + // ("signatures" "{" signatures+=Signature ("," signatures+=Signature)* "}")? "}"; + public ParserRule getRule() { return rule; } + + //"Interface" id=EString "{" "name" name=EString ("parentInterfaces" "(" parentInterfaces+=[repository::Interface|EString] + //("," parentInterfaces+=[repository::Interface|EString])* ")")? ("signatures" "{" signatures+=Signature ("," + //signatures+=Signature)* "}")? "}" + public Group getGroup() { return cGroup; } + + //"Interface" + public Keyword getInterfaceKeyword_0() { return cInterfaceKeyword_0; } + + //id=EString + public Assignment getIdAssignment_1() { return cIdAssignment_1; } + + //EString + public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //"name" + public Keyword getNameKeyword_3() { return cNameKeyword_3; } + + //name=EString + public Assignment getNameAssignment_4() { return cNameAssignment_4; } + + //EString + public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; } + + //("parentInterfaces" "(" parentInterfaces+=[repository::Interface|EString] ("," + //parentInterfaces+=[repository::Interface|EString])* ")")? + public Group getGroup_5() { return cGroup_5; } + + //"parentInterfaces" + public Keyword getParentInterfacesKeyword_5_0() { return cParentInterfacesKeyword_5_0; } + + //"(" + public Keyword getLeftParenthesisKeyword_5_1() { return cLeftParenthesisKeyword_5_1; } + + //parentInterfaces+=[repository::Interface|EString] + public Assignment getParentInterfacesAssignment_5_2() { return cParentInterfacesAssignment_5_2; } + + //[repository::Interface|EString] + public CrossReference getParentInterfacesInterfaceCrossReference_5_2_0() { return cParentInterfacesInterfaceCrossReference_5_2_0; } + + //EString + public RuleCall getParentInterfacesInterfaceEStringParserRuleCall_5_2_0_1() { return cParentInterfacesInterfaceEStringParserRuleCall_5_2_0_1; } + + //("," parentInterfaces+=[repository::Interface|EString])* + public Group getGroup_5_3() { return cGroup_5_3; } + + //"," + public Keyword getCommaKeyword_5_3_0() { return cCommaKeyword_5_3_0; } + + //parentInterfaces+=[repository::Interface|EString] + public Assignment getParentInterfacesAssignment_5_3_1() { return cParentInterfacesAssignment_5_3_1; } + + //[repository::Interface|EString] + public CrossReference getParentInterfacesInterfaceCrossReference_5_3_1_0() { return cParentInterfacesInterfaceCrossReference_5_3_1_0; } + + //EString + public RuleCall getParentInterfacesInterfaceEStringParserRuleCall_5_3_1_0_1() { return cParentInterfacesInterfaceEStringParserRuleCall_5_3_1_0_1; } + + //")" + public Keyword getRightParenthesisKeyword_5_4() { return cRightParenthesisKeyword_5_4; } + + //("signatures" "{" signatures+=Signature ("," signatures+=Signature)* "}")? + public Group getGroup_6() { return cGroup_6; } + + //"signatures" + public Keyword getSignaturesKeyword_6_0() { return cSignaturesKeyword_6_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_6_1() { return cLeftCurlyBracketKeyword_6_1; } + + //signatures+=Signature + public Assignment getSignaturesAssignment_6_2() { return cSignaturesAssignment_6_2; } + + //Signature + public RuleCall getSignaturesSignatureParserRuleCall_6_2_0() { return cSignaturesSignatureParserRuleCall_6_2_0; } + + //("," signatures+=Signature)* + public Group getGroup_6_3() { return cGroup_6_3; } + + //"," + public Keyword getCommaKeyword_6_3_0() { return cCommaKeyword_6_3_0; } + + //signatures+=Signature + public Assignment getSignaturesAssignment_6_3_1() { return cSignaturesAssignment_6_3_1; } + + //Signature + public RuleCall getSignaturesSignatureParserRuleCall_6_3_1_0() { return cSignaturesSignatureParserRuleCall_6_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_6_4() { return cRightCurlyBracketKeyword_6_4; } + + //"}" + public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; } + } + + public class RepositoryComponent_ImplElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RepositoryComponent_Impl"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cRepositoryComponentKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0); + private final Group cGroup_5 = (Group)cGroup.eContents().get(5); + private final Keyword cRelationshipKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); + private final Keyword cLeftParenthesisKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1); + private final Assignment cRelationshipAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2); + private final CrossReference cRelationshipRelationshipCrossReference_5_2_0 = (CrossReference)cRelationshipAssignment_5_2.eContents().get(0); + private final RuleCall cRelationshipRelationshipEStringParserRuleCall_5_2_0_1 = (RuleCall)cRelationshipRelationshipCrossReference_5_2_0.eContents().get(1); + private final Group cGroup_5_3 = (Group)cGroup_5.eContents().get(3); + private final Keyword cCommaKeyword_5_3_0 = (Keyword)cGroup_5_3.eContents().get(0); + private final Assignment cRelationshipAssignment_5_3_1 = (Assignment)cGroup_5_3.eContents().get(1); + private final CrossReference cRelationshipRelationshipCrossReference_5_3_1_0 = (CrossReference)cRelationshipAssignment_5_3_1.eContents().get(0); + private final RuleCall cRelationshipRelationshipEStringParserRuleCall_5_3_1_0_1 = (RuleCall)cRelationshipRelationshipCrossReference_5_3_1_0.eContents().get(1); + private final Keyword cRightParenthesisKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4); + private final Group cGroup_6 = (Group)cGroup.eContents().get(6); + private final Keyword cProvidedRolesKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1); + private final Assignment cProvidedRolesAssignment_6_2 = (Assignment)cGroup_6.eContents().get(2); + private final RuleCall cProvidedRolesProvidedRoleParserRuleCall_6_2_0 = (RuleCall)cProvidedRolesAssignment_6_2.eContents().get(0); + private final Group cGroup_6_3 = (Group)cGroup_6.eContents().get(3); + private final Keyword cCommaKeyword_6_3_0 = (Keyword)cGroup_6_3.eContents().get(0); + private final Assignment cProvidedRolesAssignment_6_3_1 = (Assignment)cGroup_6_3.eContents().get(1); + private final RuleCall cProvidedRolesProvidedRoleParserRuleCall_6_3_1_0 = (RuleCall)cProvidedRolesAssignment_6_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_6_4 = (Keyword)cGroup_6.eContents().get(4); + private final Group cGroup_7 = (Group)cGroup.eContents().get(7); + private final Keyword cBlackBoxBehaviorKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_7_1 = (Keyword)cGroup_7.eContents().get(1); + private final Assignment cBlackBoxBehaviorAssignment_7_2 = (Assignment)cGroup_7.eContents().get(2); + private final RuleCall cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0 = (RuleCall)cBlackBoxBehaviorAssignment_7_2.eContents().get(0); + private final Group cGroup_7_3 = (Group)cGroup_7.eContents().get(3); + private final Keyword cCommaKeyword_7_3_0 = (Keyword)cGroup_7_3.eContents().get(0); + private final Assignment cBlackBoxBehaviorAssignment_7_3_1 = (Assignment)cGroup_7_3.eContents().get(1); + private final RuleCall cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0 = (RuleCall)cBlackBoxBehaviorAssignment_7_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_7_4 = (Keyword)cGroup_7.eContents().get(4); + private final Group cGroup_8 = (Group)cGroup.eContents().get(8); + private final Keyword cRequiredRolesKeyword_8_0 = (Keyword)cGroup_8.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_8_1 = (Keyword)cGroup_8.eContents().get(1); + private final Assignment cRequiredRolesAssignment_8_2 = (Assignment)cGroup_8.eContents().get(2); + private final RuleCall cRequiredRolesRequiredRoleParserRuleCall_8_2_0 = (RuleCall)cRequiredRolesAssignment_8_2.eContents().get(0); + private final Group cGroup_8_3 = (Group)cGroup_8.eContents().get(3); + private final Keyword cCommaKeyword_8_3_0 = (Keyword)cGroup_8_3.eContents().get(0); + private final Assignment cRequiredRolesAssignment_8_3_1 = (Assignment)cGroup_8_3.eContents().get(1); + private final RuleCall cRequiredRolesRequiredRoleParserRuleCall_8_3_1_0 = (RuleCall)cRequiredRolesAssignment_8_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_8_4 = (Keyword)cGroup_8.eContents().get(4); + private final Group cGroup_9 = (Group)cGroup.eContents().get(9); + private final Keyword cCoarseGrainedBehaviorKeyword_9_0 = (Keyword)cGroup_9.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_9_1 = (Keyword)cGroup_9.eContents().get(1); + private final Assignment cCoarseGrainedBehaviorAssignment_9_2 = (Assignment)cGroup_9.eContents().get(2); + private final RuleCall cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0 = (RuleCall)cCoarseGrainedBehaviorAssignment_9_2.eContents().get(0); + private final Group cGroup_9_3 = (Group)cGroup_9.eContents().get(3); + private final Keyword cCommaKeyword_9_3_0 = (Keyword)cGroup_9_3.eContents().get(0); + private final Assignment cCoarseGrainedBehaviorAssignment_9_3_1 = (Assignment)cGroup_9_3.eContents().get(1); + private final RuleCall cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0 = (RuleCall)cCoarseGrainedBehaviorAssignment_9_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_9_4 = (Keyword)cGroup_9.eContents().get(4); + private final Keyword cRightCurlyBracketKeyword_10 = (Keyword)cGroup.eContents().get(10); + + //RepositoryComponent_Impl returns repository::RepositoryComponent: + // "RepositoryComponent" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] ("," + // relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole ("," + // providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," + // blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole ("," + // requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior ("," + // coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? "}"; + public ParserRule getRule() { return rule; } + + //"RepositoryComponent" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] ("," + //relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole ("," + //providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," + //blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole ("," + //requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior ("," + //coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? "}" + public Group getGroup() { return cGroup; } + + //"RepositoryComponent" + public Keyword getRepositoryComponentKeyword_0() { return cRepositoryComponentKeyword_0; } + + //id=EString + public Assignment getIdAssignment_1() { return cIdAssignment_1; } + + //EString + public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //"name" + public Keyword getNameKeyword_3() { return cNameKeyword_3; } + + //name=EString + public Assignment getNameAssignment_4() { return cNameAssignment_4; } + + //EString + public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; } + + //("relationship" "(" relationship+=[Relationship|EString] ("," relationship+=[Relationship|EString])* ")")? + public Group getGroup_5() { return cGroup_5; } + + //"relationship" + public Keyword getRelationshipKeyword_5_0() { return cRelationshipKeyword_5_0; } + + //"(" + public Keyword getLeftParenthesisKeyword_5_1() { return cLeftParenthesisKeyword_5_1; } + + //relationship+=[Relationship|EString] + public Assignment getRelationshipAssignment_5_2() { return cRelationshipAssignment_5_2; } + + //[Relationship|EString] + public CrossReference getRelationshipRelationshipCrossReference_5_2_0() { return cRelationshipRelationshipCrossReference_5_2_0; } + + //EString + public RuleCall getRelationshipRelationshipEStringParserRuleCall_5_2_0_1() { return cRelationshipRelationshipEStringParserRuleCall_5_2_0_1; } + + //("," relationship+=[Relationship|EString])* + public Group getGroup_5_3() { return cGroup_5_3; } + + //"," + public Keyword getCommaKeyword_5_3_0() { return cCommaKeyword_5_3_0; } + + //relationship+=[Relationship|EString] + public Assignment getRelationshipAssignment_5_3_1() { return cRelationshipAssignment_5_3_1; } + + //[Relationship|EString] + public CrossReference getRelationshipRelationshipCrossReference_5_3_1_0() { return cRelationshipRelationshipCrossReference_5_3_1_0; } + + //EString + public RuleCall getRelationshipRelationshipEStringParserRuleCall_5_3_1_0_1() { return cRelationshipRelationshipEStringParserRuleCall_5_3_1_0_1; } + + //")" + public Keyword getRightParenthesisKeyword_5_4() { return cRightParenthesisKeyword_5_4; } + + //("providedRoles" "{" providedRoles+=ProvidedRole ("," providedRoles+=ProvidedRole)* "}")? + public Group getGroup_6() { return cGroup_6; } + + //"providedRoles" + public Keyword getProvidedRolesKeyword_6_0() { return cProvidedRolesKeyword_6_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_6_1() { return cLeftCurlyBracketKeyword_6_1; } + + //providedRoles+=ProvidedRole + public Assignment getProvidedRolesAssignment_6_2() { return cProvidedRolesAssignment_6_2; } + + //ProvidedRole + public RuleCall getProvidedRolesProvidedRoleParserRuleCall_6_2_0() { return cProvidedRolesProvidedRoleParserRuleCall_6_2_0; } + + //("," providedRoles+=ProvidedRole)* + public Group getGroup_6_3() { return cGroup_6_3; } + + //"," + public Keyword getCommaKeyword_6_3_0() { return cCommaKeyword_6_3_0; } + + //providedRoles+=ProvidedRole + public Assignment getProvidedRolesAssignment_6_3_1() { return cProvidedRolesAssignment_6_3_1; } + + //ProvidedRole + public RuleCall getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0() { return cProvidedRolesProvidedRoleParserRuleCall_6_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_6_4() { return cRightCurlyBracketKeyword_6_4; } + + //("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," blackBoxBehavior+=BlackBoxBehavior)* "}")? + public Group getGroup_7() { return cGroup_7; } + + //"blackBoxBehavior" + public Keyword getBlackBoxBehaviorKeyword_7_0() { return cBlackBoxBehaviorKeyword_7_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_7_1() { return cLeftCurlyBracketKeyword_7_1; } + + //blackBoxBehavior+=BlackBoxBehavior + public Assignment getBlackBoxBehaviorAssignment_7_2() { return cBlackBoxBehaviorAssignment_7_2; } + + //BlackBoxBehavior + public RuleCall getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0() { return cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0; } + + //("," blackBoxBehavior+=BlackBoxBehavior)* + public Group getGroup_7_3() { return cGroup_7_3; } + + //"," + public Keyword getCommaKeyword_7_3_0() { return cCommaKeyword_7_3_0; } + + //blackBoxBehavior+=BlackBoxBehavior + public Assignment getBlackBoxBehaviorAssignment_7_3_1() { return cBlackBoxBehaviorAssignment_7_3_1; } + + //BlackBoxBehavior + public RuleCall getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0() { return cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_7_4() { return cRightCurlyBracketKeyword_7_4; } + + //("requiredRoles" "{" requiredRoles+=RequiredRole ("," requiredRoles+=RequiredRole)* "}")? + public Group getGroup_8() { return cGroup_8; } + + //"requiredRoles" + public Keyword getRequiredRolesKeyword_8_0() { return cRequiredRolesKeyword_8_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_8_1() { return cLeftCurlyBracketKeyword_8_1; } + + //requiredRoles+=RequiredRole + public Assignment getRequiredRolesAssignment_8_2() { return cRequiredRolesAssignment_8_2; } + + //RequiredRole + public RuleCall getRequiredRolesRequiredRoleParserRuleCall_8_2_0() { return cRequiredRolesRequiredRoleParserRuleCall_8_2_0; } + + //("," requiredRoles+=RequiredRole)* + public Group getGroup_8_3() { return cGroup_8_3; } + + //"," + public Keyword getCommaKeyword_8_3_0() { return cCommaKeyword_8_3_0; } + + //requiredRoles+=RequiredRole + public Assignment getRequiredRolesAssignment_8_3_1() { return cRequiredRolesAssignment_8_3_1; } + + //RequiredRole + public RuleCall getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0() { return cRequiredRolesRequiredRoleParserRuleCall_8_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_8_4() { return cRightCurlyBracketKeyword_8_4; } + + //("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior ("," + //coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? + public Group getGroup_9() { return cGroup_9; } + + //"coarseGrainedBehavior" + public Keyword getCoarseGrainedBehaviorKeyword_9_0() { return cCoarseGrainedBehaviorKeyword_9_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_9_1() { return cLeftCurlyBracketKeyword_9_1; } + + //coarseGrainedBehavior+=CoarseGrainedBehavior + public Assignment getCoarseGrainedBehaviorAssignment_9_2() { return cCoarseGrainedBehaviorAssignment_9_2; } + + //CoarseGrainedBehavior + public RuleCall getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0() { return cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0; } + + //("," coarseGrainedBehavior+=CoarseGrainedBehavior)* + public Group getGroup_9_3() { return cGroup_9_3; } + + //"," + public Keyword getCommaKeyword_9_3_0() { return cCommaKeyword_9_3_0; } + + //coarseGrainedBehavior+=CoarseGrainedBehavior + public Assignment getCoarseGrainedBehaviorAssignment_9_3_1() { return cCoarseGrainedBehaviorAssignment_9_3_1; } + + //CoarseGrainedBehavior + public RuleCall getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0() { return cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_9_4() { return cRightCurlyBracketKeyword_9_4; } + + //"}" + public Keyword getRightCurlyBracketKeyword_10() { return cRightCurlyBracketKeyword_10; } + } + + public class CollectionDataTypeElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "CollectionDataType"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cCollectionDataTypeKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0); + private final Keyword cInnerTypeKeyword_5 = (Keyword)cGroup.eContents().get(5); + private final Assignment cInnerTypeAssignment_6 = (Assignment)cGroup.eContents().get(6); + private final CrossReference cInnerTypeDataTypeCrossReference_6_0 = (CrossReference)cInnerTypeAssignment_6.eContents().get(0); + private final RuleCall cInnerTypeDataTypeEStringParserRuleCall_6_0_1 = (RuleCall)cInnerTypeDataTypeCrossReference_6_0.eContents().get(1); + private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); + + //CollectionDataType returns repository::CollectionDataType: + // "CollectionDataType" id=EString "{" "name" name=EString "innerType" innerType=[repository::DataType|EString] "}"; + public ParserRule getRule() { return rule; } + + //"CollectionDataType" id=EString "{" "name" name=EString "innerType" innerType=[repository::DataType|EString] "}" + public Group getGroup() { return cGroup; } + + //"CollectionDataType" + public Keyword getCollectionDataTypeKeyword_0() { return cCollectionDataTypeKeyword_0; } + + //id=EString + public Assignment getIdAssignment_1() { return cIdAssignment_1; } + + //EString + public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //"name" + public Keyword getNameKeyword_3() { return cNameKeyword_3; } + + //name=EString + public Assignment getNameAssignment_4() { return cNameAssignment_4; } + + //EString + public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; } + + //"innerType" + public Keyword getInnerTypeKeyword_5() { return cInnerTypeKeyword_5; } + + //innerType=[repository::DataType|EString] + public Assignment getInnerTypeAssignment_6() { return cInnerTypeAssignment_6; } + + //[repository::DataType|EString] + public CrossReference getInnerTypeDataTypeCrossReference_6_0() { return cInnerTypeDataTypeCrossReference_6_0; } + + //EString + public RuleCall getInnerTypeDataTypeEStringParserRuleCall_6_0_1() { return cInnerTypeDataTypeEStringParserRuleCall_6_0_1; } + + //"}" + public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; } + } + + public class CompositeDataTypeElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "CompositeDataType"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cCompositeDataTypeKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0); + private final Group cGroup_5 = (Group)cGroup.eContents().get(5); + private final Keyword cParentTypesKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); + private final Keyword cLeftParenthesisKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1); + private final Assignment cParentTypesAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2); + private final CrossReference cParentTypesCompositeDataTypeCrossReference_5_2_0 = (CrossReference)cParentTypesAssignment_5_2.eContents().get(0); + private final RuleCall cParentTypesCompositeDataTypeEStringParserRuleCall_5_2_0_1 = (RuleCall)cParentTypesCompositeDataTypeCrossReference_5_2_0.eContents().get(1); + private final Group cGroup_5_3 = (Group)cGroup_5.eContents().get(3); + private final Keyword cCommaKeyword_5_3_0 = (Keyword)cGroup_5_3.eContents().get(0); + private final Assignment cParentTypesAssignment_5_3_1 = (Assignment)cGroup_5_3.eContents().get(1); + private final CrossReference cParentTypesCompositeDataTypeCrossReference_5_3_1_0 = (CrossReference)cParentTypesAssignment_5_3_1.eContents().get(0); + private final RuleCall cParentTypesCompositeDataTypeEStringParserRuleCall_5_3_1_0_1 = (RuleCall)cParentTypesCompositeDataTypeCrossReference_5_3_1_0.eContents().get(1); + private final Keyword cRightParenthesisKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4); + private final Group cGroup_6 = (Group)cGroup.eContents().get(6); + private final Keyword cInnerDeclarationsKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1); + private final Assignment cInnerDeclarationsAssignment_6_2 = (Assignment)cGroup_6.eContents().get(2); + private final RuleCall cInnerDeclarationsInnerDeclarationParserRuleCall_6_2_0 = (RuleCall)cInnerDeclarationsAssignment_6_2.eContents().get(0); + private final Group cGroup_6_3 = (Group)cGroup_6.eContents().get(3); + private final Keyword cCommaKeyword_6_3_0 = (Keyword)cGroup_6_3.eContents().get(0); + private final Assignment cInnerDeclarationsAssignment_6_3_1 = (Assignment)cGroup_6_3.eContents().get(1); + private final RuleCall cInnerDeclarationsInnerDeclarationParserRuleCall_6_3_1_0 = (RuleCall)cInnerDeclarationsAssignment_6_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_6_4 = (Keyword)cGroup_6.eContents().get(4); + private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); + + //CompositeDataType returns repository::CompositeDataType: + // "CompositeDataType" id=EString "{" "name" name=EString ("parentTypes" "(" + // parentTypes+=[repository::CompositeDataType|EString] ("," parentTypes+=[repository::CompositeDataType|EString])* ")")? + // ("innerDeclarations" "{" innerDeclarations+=InnerDeclaration ("," innerDeclarations+=InnerDeclaration)* "}")? "}"; + public ParserRule getRule() { return rule; } + + //"CompositeDataType" id=EString "{" "name" name=EString ("parentTypes" "(" + //parentTypes+=[repository::CompositeDataType|EString] ("," parentTypes+=[repository::CompositeDataType|EString])* ")")? + //("innerDeclarations" "{" innerDeclarations+=InnerDeclaration ("," innerDeclarations+=InnerDeclaration)* "}")? "}" + public Group getGroup() { return cGroup; } + + //"CompositeDataType" + public Keyword getCompositeDataTypeKeyword_0() { return cCompositeDataTypeKeyword_0; } + + //id=EString + public Assignment getIdAssignment_1() { return cIdAssignment_1; } + + //EString + public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //"name" + public Keyword getNameKeyword_3() { return cNameKeyword_3; } + + //name=EString + public Assignment getNameAssignment_4() { return cNameAssignment_4; } + + //EString + public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; } + + //("parentTypes" "(" parentTypes+=[repository::CompositeDataType|EString] ("," + //parentTypes+=[repository::CompositeDataType|EString])* ")")? + public Group getGroup_5() { return cGroup_5; } + + //"parentTypes" + public Keyword getParentTypesKeyword_5_0() { return cParentTypesKeyword_5_0; } + + //"(" + public Keyword getLeftParenthesisKeyword_5_1() { return cLeftParenthesisKeyword_5_1; } + + //parentTypes+=[repository::CompositeDataType|EString] + public Assignment getParentTypesAssignment_5_2() { return cParentTypesAssignment_5_2; } + + //[repository::CompositeDataType|EString] + public CrossReference getParentTypesCompositeDataTypeCrossReference_5_2_0() { return cParentTypesCompositeDataTypeCrossReference_5_2_0; } + + //EString + public RuleCall getParentTypesCompositeDataTypeEStringParserRuleCall_5_2_0_1() { return cParentTypesCompositeDataTypeEStringParserRuleCall_5_2_0_1; } + + //("," parentTypes+=[repository::CompositeDataType|EString])* + public Group getGroup_5_3() { return cGroup_5_3; } + + //"," + public Keyword getCommaKeyword_5_3_0() { return cCommaKeyword_5_3_0; } + + //parentTypes+=[repository::CompositeDataType|EString] + public Assignment getParentTypesAssignment_5_3_1() { return cParentTypesAssignment_5_3_1; } + + //[repository::CompositeDataType|EString] + public CrossReference getParentTypesCompositeDataTypeCrossReference_5_3_1_0() { return cParentTypesCompositeDataTypeCrossReference_5_3_1_0; } + + //EString + public RuleCall getParentTypesCompositeDataTypeEStringParserRuleCall_5_3_1_0_1() { return cParentTypesCompositeDataTypeEStringParserRuleCall_5_3_1_0_1; } + + //")" + public Keyword getRightParenthesisKeyword_5_4() { return cRightParenthesisKeyword_5_4; } + + //("innerDeclarations" "{" innerDeclarations+=InnerDeclaration ("," innerDeclarations+=InnerDeclaration)* "}")? + public Group getGroup_6() { return cGroup_6; } + + //"innerDeclarations" + public Keyword getInnerDeclarationsKeyword_6_0() { return cInnerDeclarationsKeyword_6_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_6_1() { return cLeftCurlyBracketKeyword_6_1; } + + //innerDeclarations+=InnerDeclaration + public Assignment getInnerDeclarationsAssignment_6_2() { return cInnerDeclarationsAssignment_6_2; } + + //InnerDeclaration + public RuleCall getInnerDeclarationsInnerDeclarationParserRuleCall_6_2_0() { return cInnerDeclarationsInnerDeclarationParserRuleCall_6_2_0; } + + //("," innerDeclarations+=InnerDeclaration)* + public Group getGroup_6_3() { return cGroup_6_3; } + + //"," + public Keyword getCommaKeyword_6_3_0() { return cCommaKeyword_6_3_0; } + + //innerDeclarations+=InnerDeclaration + public Assignment getInnerDeclarationsAssignment_6_3_1() { return cInnerDeclarationsAssignment_6_3_1; } + + //InnerDeclaration + public RuleCall getInnerDeclarationsInnerDeclarationParserRuleCall_6_3_1_0() { return cInnerDeclarationsInnerDeclarationParserRuleCall_6_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_6_4() { return cRightCurlyBracketKeyword_6_4; } + + //"}" + public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; } + } + + public class PrimitiveDataTypeElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PrimitiveDataType"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cPrimitiveDataTypeKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Keyword cTypeKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cTypeAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cTypePrimitiveTypeEnumEnumRuleCall_3_0 = (RuleCall)cTypeAssignment_3.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); + + //PrimitiveDataType returns repository::PrimitiveDataType: + // "PrimitiveDataType" "{" "type" type=PrimitiveTypeEnum "}"; + public ParserRule getRule() { return rule; } + + //"PrimitiveDataType" "{" "type" type=PrimitiveTypeEnum "}" + public Group getGroup() { return cGroup; } + + //"PrimitiveDataType" + public Keyword getPrimitiveDataTypeKeyword_0() { return cPrimitiveDataTypeKeyword_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } + + //"type" + public Keyword getTypeKeyword_2() { return cTypeKeyword_2; } + + //type=PrimitiveTypeEnum + public Assignment getTypeAssignment_3() { return cTypeAssignment_3; } + + //PrimitiveTypeEnum + public RuleCall getTypePrimitiveTypeEnumEnumRuleCall_3_0() { return cTypePrimitiveTypeEnumEnumRuleCall_3_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; } + } + + public class InnerDeclarationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "InnerDeclaration"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cInnerDeclarationKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0); + private final Keyword cDataTypeKeyword_5 = (Keyword)cGroup.eContents().get(5); + private final Assignment cDataTypeAssignment_6 = (Assignment)cGroup.eContents().get(6); + private final CrossReference cDataTypeDataTypeCrossReference_6_0 = (CrossReference)cDataTypeAssignment_6.eContents().get(0); + private final RuleCall cDataTypeDataTypeEStringParserRuleCall_6_0_1 = (RuleCall)cDataTypeDataTypeCrossReference_6_0.eContents().get(1); + private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); + + //InnerDeclaration returns repository::InnerDeclaration: + // "InnerDeclaration" id=EString "{" "name" name=EString "dataType" dataType=[repository::DataType|EString] "}"; + public ParserRule getRule() { return rule; } + + //"InnerDeclaration" id=EString "{" "name" name=EString "dataType" dataType=[repository::DataType|EString] "}" + public Group getGroup() { return cGroup; } + + //"InnerDeclaration" + public Keyword getInnerDeclarationKeyword_0() { return cInnerDeclarationKeyword_0; } + + //id=EString + public Assignment getIdAssignment_1() { return cIdAssignment_1; } + + //EString + public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //"name" + public Keyword getNameKeyword_3() { return cNameKeyword_3; } + + //name=EString + public Assignment getNameAssignment_4() { return cNameAssignment_4; } + + //EString + public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; } + + //"dataType" + public Keyword getDataTypeKeyword_5() { return cDataTypeKeyword_5; } + + //dataType=[repository::DataType|EString] + public Assignment getDataTypeAssignment_6() { return cDataTypeAssignment_6; } + + //[repository::DataType|EString] + public CrossReference getDataTypeDataTypeCrossReference_6_0() { return cDataTypeDataTypeCrossReference_6_0; } + + //EString + public RuleCall getDataTypeDataTypeEStringParserRuleCall_6_0_1() { return cDataTypeDataTypeEStringParserRuleCall_6_0_1; } + + //"}" + public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; } + } + + public class SignatureElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Signature"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cSignatureKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0); + private final Group cGroup_5 = (Group)cGroup.eContents().get(5); + private final Keyword cReturnTypeKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); + private final Assignment cReturnTypeAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1); + private final CrossReference cReturnTypeDataTypeCrossReference_5_1_0 = (CrossReference)cReturnTypeAssignment_5_1.eContents().get(0); + private final RuleCall cReturnTypeDataTypeEStringParserRuleCall_5_1_0_1 = (RuleCall)cReturnTypeDataTypeCrossReference_5_1_0.eContents().get(1); + private final Group cGroup_6 = (Group)cGroup.eContents().get(6); + private final Keyword cParametersKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1); + private final Assignment cParametersAssignment_6_2 = (Assignment)cGroup_6.eContents().get(2); + private final RuleCall cParametersParameterParserRuleCall_6_2_0 = (RuleCall)cParametersAssignment_6_2.eContents().get(0); + private final Group cGroup_6_3 = (Group)cGroup_6.eContents().get(3); + private final Keyword cCommaKeyword_6_3_0 = (Keyword)cGroup_6_3.eContents().get(0); + private final Assignment cParametersAssignment_6_3_1 = (Assignment)cGroup_6_3.eContents().get(1); + private final RuleCall cParametersParameterParserRuleCall_6_3_1_0 = (RuleCall)cParametersAssignment_6_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_6_4 = (Keyword)cGroup_6.eContents().get(4); + private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); + + //Signature returns repository::Signature: + // "Signature" id=EString "{" "name" name=EString ("returnType" returnType=[repository::DataType|EString])? ("parameters" + // "{" parameters+=Parameter ("," parameters+=Parameter)* "}")? "}"; + public ParserRule getRule() { return rule; } + + //"Signature" id=EString "{" "name" name=EString ("returnType" returnType=[repository::DataType|EString])? ("parameters" + //"{" parameters+=Parameter ("," parameters+=Parameter)* "}")? "}" + public Group getGroup() { return cGroup; } + + //"Signature" + public Keyword getSignatureKeyword_0() { return cSignatureKeyword_0; } + + //id=EString + public Assignment getIdAssignment_1() { return cIdAssignment_1; } + + //EString + public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //"name" + public Keyword getNameKeyword_3() { return cNameKeyword_3; } + + //name=EString + public Assignment getNameAssignment_4() { return cNameAssignment_4; } + + //EString + public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; } + + //("returnType" returnType=[repository::DataType|EString])? + public Group getGroup_5() { return cGroup_5; } + + //"returnType" + public Keyword getReturnTypeKeyword_5_0() { return cReturnTypeKeyword_5_0; } + + //returnType=[repository::DataType|EString] + public Assignment getReturnTypeAssignment_5_1() { return cReturnTypeAssignment_5_1; } + + //[repository::DataType|EString] + public CrossReference getReturnTypeDataTypeCrossReference_5_1_0() { return cReturnTypeDataTypeCrossReference_5_1_0; } + + //EString + public RuleCall getReturnTypeDataTypeEStringParserRuleCall_5_1_0_1() { return cReturnTypeDataTypeEStringParserRuleCall_5_1_0_1; } + + //("parameters" "{" parameters+=Parameter ("," parameters+=Parameter)* "}")? + public Group getGroup_6() { return cGroup_6; } + + //"parameters" + public Keyword getParametersKeyword_6_0() { return cParametersKeyword_6_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_6_1() { return cLeftCurlyBracketKeyword_6_1; } + + //parameters+=Parameter + public Assignment getParametersAssignment_6_2() { return cParametersAssignment_6_2; } + + //Parameter + public RuleCall getParametersParameterParserRuleCall_6_2_0() { return cParametersParameterParserRuleCall_6_2_0; } + + //("," parameters+=Parameter)* + public Group getGroup_6_3() { return cGroup_6_3; } + + //"," + public Keyword getCommaKeyword_6_3_0() { return cCommaKeyword_6_3_0; } + + //parameters+=Parameter + public Assignment getParametersAssignment_6_3_1() { return cParametersAssignment_6_3_1; } + + //Parameter + public RuleCall getParametersParameterParserRuleCall_6_3_1_0() { return cParametersParameterParserRuleCall_6_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_6_4() { return cRightCurlyBracketKeyword_6_4; } + + //"}" + public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; } + } + + public class ParameterElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Parameter"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cParameterKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cNameEStringParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Keyword cModifierKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cModifierAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cModifierParameterModifierEnumRuleCall_4_0 = (RuleCall)cModifierAssignment_4.eContents().get(0); + private final Keyword cDataTypeKeyword_5 = (Keyword)cGroup.eContents().get(5); + private final Assignment cDataTypeAssignment_6 = (Assignment)cGroup.eContents().get(6); + private final CrossReference cDataTypeDataTypeCrossReference_6_0 = (CrossReference)cDataTypeAssignment_6.eContents().get(0); + private final RuleCall cDataTypeDataTypeEStringParserRuleCall_6_0_1 = (RuleCall)cDataTypeDataTypeCrossReference_6_0.eContents().get(1); + private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); + + //Parameter returns repository::Parameter: + // "Parameter" name=EString "{" "modifier" modifier=ParameterModifier "dataType" dataType=[repository::DataType|EString] + // "}"; + public ParserRule getRule() { return rule; } + + //"Parameter" name=EString "{" "modifier" modifier=ParameterModifier "dataType" dataType=[repository::DataType|EString] + //"}" + public Group getGroup() { return cGroup; } + + //"Parameter" + public Keyword getParameterKeyword_0() { return cParameterKeyword_0; } + + //name=EString + public Assignment getNameAssignment_1() { return cNameAssignment_1; } + + //EString + public RuleCall getNameEStringParserRuleCall_1_0() { return cNameEStringParserRuleCall_1_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //"modifier" + public Keyword getModifierKeyword_3() { return cModifierKeyword_3; } + + //modifier=ParameterModifier + public Assignment getModifierAssignment_4() { return cModifierAssignment_4; } + + //ParameterModifier + public RuleCall getModifierParameterModifierEnumRuleCall_4_0() { return cModifierParameterModifierEnumRuleCall_4_0; } + + //"dataType" + public Keyword getDataTypeKeyword_5() { return cDataTypeKeyword_5; } + + //dataType=[repository::DataType|EString] + public Assignment getDataTypeAssignment_6() { return cDataTypeAssignment_6; } + + //[repository::DataType|EString] + public CrossReference getDataTypeDataTypeCrossReference_6_0() { return cDataTypeDataTypeCrossReference_6_0; } + + //EString + public RuleCall getDataTypeDataTypeEStringParserRuleCall_6_0_1() { return cDataTypeDataTypeEStringParserRuleCall_6_0_1; } + + //"}" + public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; } + } + + public class ProvidedRoleElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ProvidedRole"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cProvidedRoleKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0); + private final Keyword cInterfaceKeyword_5 = (Keyword)cGroup.eContents().get(5); + private final Assignment cInterfaceAssignment_6 = (Assignment)cGroup.eContents().get(6); + private final CrossReference cInterfaceInterfaceCrossReference_6_0 = (CrossReference)cInterfaceAssignment_6.eContents().get(0); + private final RuleCall cInterfaceInterfaceEStringParserRuleCall_6_0_1 = (RuleCall)cInterfaceInterfaceCrossReference_6_0.eContents().get(1); + private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); + + //ProvidedRole returns repository::ProvidedRole: + // "ProvidedRole" id=EString "{" "name" name=EString "interface" interface=[repository::Interface|EString] "}"; + public ParserRule getRule() { return rule; } + + //"ProvidedRole" id=EString "{" "name" name=EString "interface" interface=[repository::Interface|EString] "}" + public Group getGroup() { return cGroup; } + + //"ProvidedRole" + public Keyword getProvidedRoleKeyword_0() { return cProvidedRoleKeyword_0; } + + //id=EString + public Assignment getIdAssignment_1() { return cIdAssignment_1; } + + //EString + public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //"name" + public Keyword getNameKeyword_3() { return cNameKeyword_3; } + + //name=EString + public Assignment getNameAssignment_4() { return cNameAssignment_4; } + + //EString + public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; } + + //"interface" + public Keyword getInterfaceKeyword_5() { return cInterfaceKeyword_5; } + + //interface=[repository::Interface|EString] + public Assignment getInterfaceAssignment_6() { return cInterfaceAssignment_6; } + + //[repository::Interface|EString] + public CrossReference getInterfaceInterfaceCrossReference_6_0() { return cInterfaceInterfaceCrossReference_6_0; } + + //EString + public RuleCall getInterfaceInterfaceEStringParserRuleCall_6_0_1() { return cInterfaceInterfaceEStringParserRuleCall_6_0_1; } + + //"}" + public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; } + } + + public class BlackBoxBehaviorElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BlackBoxBehavior"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cBlackBoxBehaviorKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Group cGroup_2 = (Group)cGroup.eContents().get(2); + private final Keyword cDescribedSignatureKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); + private final Assignment cDescribedSignatureAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); + private final CrossReference cDescribedSignatureSignatureCrossReference_2_1_0 = (CrossReference)cDescribedSignatureAssignment_2_1.eContents().get(0); + private final RuleCall cDescribedSignatureSignatureEStringParserRuleCall_2_1_0_1 = (RuleCall)cDescribedSignatureSignatureCrossReference_2_1_0.eContents().get(1); + private final Keyword cDescribedEntityKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cDescribedEntityAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final CrossReference cDescribedEntityInterfaceProvidingEntityCrossReference_4_0 = (CrossReference)cDescribedEntityAssignment_4.eContents().get(0); + private final RuleCall cDescribedEntityInterfaceProvidingEntityEStringParserRuleCall_4_0_1 = (RuleCall)cDescribedEntityInterfaceProvidingEntityCrossReference_4_0.eContents().get(1); + private final Group cGroup_5 = (Group)cGroup.eContents().get(5); + private final Keyword cInfluencingParameterKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1); + private final Assignment cInfluencingParameterAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2); + private final RuleCall cInfluencingParameterInfluencingParameterParserRuleCall_5_2_0 = (RuleCall)cInfluencingParameterAssignment_5_2.eContents().get(0); + private final Group cGroup_5_3 = (Group)cGroup_5.eContents().get(3); + private final Keyword cCommaKeyword_5_3_0 = (Keyword)cGroup_5_3.eContents().get(0); + private final Assignment cInfluencingParameterAssignment_5_3_1 = (Assignment)cGroup_5_3.eContents().get(1); + private final RuleCall cInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0 = (RuleCall)cInfluencingParameterAssignment_5_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4); + private final Group cGroup_6 = (Group)cGroup.eContents().get(6); + private final Keyword cResponseTimeSpecificationKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0); + private final Assignment cResponseTimeSpecificationAssignment_6_1 = (Assignment)cGroup_6.eContents().get(1); + private final RuleCall cResponseTimeSpecificationResponseTimeSpecificationParserRuleCall_6_1_0 = (RuleCall)cResponseTimeSpecificationAssignment_6_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); + + //BlackBoxBehavior returns servicebehavior::BlackBoxBehavior: + // "BlackBoxBehavior" "{" ("describedSignature" describedSignature=[repository::Signature|EString])? "describedEntity" + // describedEntity=[repository::InterfaceProvidingEntity|EString] ("influencingParameter" "{" + // influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* "}")? + // ("responseTimeSpecification" responseTimeSpecification=ResponseTimeSpecification)? "}"; + public ParserRule getRule() { return rule; } + + //"BlackBoxBehavior" "{" ("describedSignature" describedSignature=[repository::Signature|EString])? "describedEntity" + //describedEntity=[repository::InterfaceProvidingEntity|EString] ("influencingParameter" "{" + //influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* "}")? + //("responseTimeSpecification" responseTimeSpecification=ResponseTimeSpecification)? "}" + public Group getGroup() { return cGroup; } + + //"BlackBoxBehavior" + public Keyword getBlackBoxBehaviorKeyword_0() { return cBlackBoxBehaviorKeyword_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } + + //("describedSignature" describedSignature=[repository::Signature|EString])? + public Group getGroup_2() { return cGroup_2; } + + //"describedSignature" + public Keyword getDescribedSignatureKeyword_2_0() { return cDescribedSignatureKeyword_2_0; } + + //describedSignature=[repository::Signature|EString] + public Assignment getDescribedSignatureAssignment_2_1() { return cDescribedSignatureAssignment_2_1; } + + //[repository::Signature|EString] + public CrossReference getDescribedSignatureSignatureCrossReference_2_1_0() { return cDescribedSignatureSignatureCrossReference_2_1_0; } + + //EString + public RuleCall getDescribedSignatureSignatureEStringParserRuleCall_2_1_0_1() { return cDescribedSignatureSignatureEStringParserRuleCall_2_1_0_1; } + + //"describedEntity" + public Keyword getDescribedEntityKeyword_3() { return cDescribedEntityKeyword_3; } + + //describedEntity=[repository::InterfaceProvidingEntity|EString] + public Assignment getDescribedEntityAssignment_4() { return cDescribedEntityAssignment_4; } + + //[repository::InterfaceProvidingEntity|EString] + public CrossReference getDescribedEntityInterfaceProvidingEntityCrossReference_4_0() { return cDescribedEntityInterfaceProvidingEntityCrossReference_4_0; } + + //EString + public RuleCall getDescribedEntityInterfaceProvidingEntityEStringParserRuleCall_4_0_1() { return cDescribedEntityInterfaceProvidingEntityEStringParserRuleCall_4_0_1; } + + //("influencingParameter" "{" influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* + //"}")? + public Group getGroup_5() { return cGroup_5; } + + //"influencingParameter" + public Keyword getInfluencingParameterKeyword_5_0() { return cInfluencingParameterKeyword_5_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_5_1() { return cLeftCurlyBracketKeyword_5_1; } + + //influencingParameter+=InfluencingParameter + public Assignment getInfluencingParameterAssignment_5_2() { return cInfluencingParameterAssignment_5_2; } + + //InfluencingParameter + public RuleCall getInfluencingParameterInfluencingParameterParserRuleCall_5_2_0() { return cInfluencingParameterInfluencingParameterParserRuleCall_5_2_0; } + + //("," influencingParameter+=InfluencingParameter)* + public Group getGroup_5_3() { return cGroup_5_3; } + + //"," + public Keyword getCommaKeyword_5_3_0() { return cCommaKeyword_5_3_0; } + + //influencingParameter+=InfluencingParameter + public Assignment getInfluencingParameterAssignment_5_3_1() { return cInfluencingParameterAssignment_5_3_1; } + + //InfluencingParameter + public RuleCall getInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0() { return cInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_5_4() { return cRightCurlyBracketKeyword_5_4; } + + //("responseTimeSpecification" responseTimeSpecification=ResponseTimeSpecification)? + public Group getGroup_6() { return cGroup_6; } + + //"responseTimeSpecification" + public Keyword getResponseTimeSpecificationKeyword_6_0() { return cResponseTimeSpecificationKeyword_6_0; } + + //responseTimeSpecification=ResponseTimeSpecification + public Assignment getResponseTimeSpecificationAssignment_6_1() { return cResponseTimeSpecificationAssignment_6_1; } + + //ResponseTimeSpecification + public RuleCall getResponseTimeSpecificationResponseTimeSpecificationParserRuleCall_6_1_0() { return cResponseTimeSpecificationResponseTimeSpecificationParserRuleCall_6_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; } + } + + public class RequiredRoleElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RequiredRole"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cRequiredRoleKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0); + private final Keyword cInterfaceKeyword_5 = (Keyword)cGroup.eContents().get(5); + private final Assignment cInterfaceAssignment_6 = (Assignment)cGroup.eContents().get(6); + private final CrossReference cInterfaceInterfaceCrossReference_6_0 = (CrossReference)cInterfaceAssignment_6.eContents().get(0); + private final RuleCall cInterfaceInterfaceEStringParserRuleCall_6_0_1 = (RuleCall)cInterfaceInterfaceCrossReference_6_0.eContents().get(1); + private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); + + //RequiredRole returns repository::RequiredRole: + // "RequiredRole" id=EString "{" "name" name=EString "interface" interface=[repository::Interface|EString] "}"; + public ParserRule getRule() { return rule; } + + //"RequiredRole" id=EString "{" "name" name=EString "interface" interface=[repository::Interface|EString] "}" + public Group getGroup() { return cGroup; } + + //"RequiredRole" + public Keyword getRequiredRoleKeyword_0() { return cRequiredRoleKeyword_0; } + + //id=EString + public Assignment getIdAssignment_1() { return cIdAssignment_1; } + + //EString + public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //"name" + public Keyword getNameKeyword_3() { return cNameKeyword_3; } + + //name=EString + public Assignment getNameAssignment_4() { return cNameAssignment_4; } + + //EString + public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; } + + //"interface" + public Keyword getInterfaceKeyword_5() { return cInterfaceKeyword_5; } + + //interface=[repository::Interface|EString] + public Assignment getInterfaceAssignment_6() { return cInterfaceAssignment_6; } + + //[repository::Interface|EString] + public CrossReference getInterfaceInterfaceCrossReference_6_0() { return cInterfaceInterfaceCrossReference_6_0; } + + //EString + public RuleCall getInterfaceInterfaceEStringParserRuleCall_6_0_1() { return cInterfaceInterfaceEStringParserRuleCall_6_0_1; } + + //"}" + public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; } + } + + public class CoarseGrainedBehaviorElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "CoarseGrainedBehavior"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cCoarseGrainedBehaviorKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Group cGroup_2 = (Group)cGroup.eContents().get(2); + private final Keyword cDescribedSignatureKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); + private final Assignment cDescribedSignatureAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); + private final CrossReference cDescribedSignatureSignatureCrossReference_2_1_0 = (CrossReference)cDescribedSignatureAssignment_2_1.eContents().get(0); + private final RuleCall cDescribedSignatureSignatureEStringParserRuleCall_2_1_0_1 = (RuleCall)cDescribedSignatureSignatureCrossReference_2_1_0.eContents().get(1); + private final Keyword cDescribedEntityKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cDescribedEntityAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final CrossReference cDescribedEntityInterfaceProvidingRequiringEntityCrossReference_4_0 = (CrossReference)cDescribedEntityAssignment_4.eContents().get(0); + private final RuleCall cDescribedEntityInterfaceProvidingRequiringEntityEStringParserRuleCall_4_0_1 = (RuleCall)cDescribedEntityInterfaceProvidingRequiringEntityCrossReference_4_0.eContents().get(1); + private final Group cGroup_5 = (Group)cGroup.eContents().get(5); + private final Keyword cInfluencingParameterKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1); + private final Assignment cInfluencingParameterAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2); + private final RuleCall cInfluencingParameterInfluencingParameterParserRuleCall_5_2_0 = (RuleCall)cInfluencingParameterAssignment_5_2.eContents().get(0); + private final Group cGroup_5_3 = (Group)cGroup_5.eContents().get(3); + private final Keyword cCommaKeyword_5_3_0 = (Keyword)cGroup_5_3.eContents().get(0); + private final Assignment cInfluencingParameterAssignment_5_3_1 = (Assignment)cGroup_5_3.eContents().get(1); + private final RuleCall cInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0 = (RuleCall)cInfluencingParameterAssignment_5_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4); + private final Group cGroup_6 = (Group)cGroup.eContents().get(6); + private final Keyword cExternalCallFrequencyKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1); + private final Assignment cExternalCallFrequencyAssignment_6_2 = (Assignment)cGroup_6.eContents().get(2); + private final RuleCall cExternalCallFrequencyExternalCallFrequencyParserRuleCall_6_2_0 = (RuleCall)cExternalCallFrequencyAssignment_6_2.eContents().get(0); + private final Group cGroup_6_3 = (Group)cGroup_6.eContents().get(3); + private final Keyword cCommaKeyword_6_3_0 = (Keyword)cGroup_6_3.eContents().get(0); + private final Assignment cExternalCallFrequencyAssignment_6_3_1 = (Assignment)cGroup_6_3.eContents().get(1); + private final RuleCall cExternalCallFrequencyExternalCallFrequencyParserRuleCall_6_3_1_0 = (RuleCall)cExternalCallFrequencyAssignment_6_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_6_4 = (Keyword)cGroup_6.eContents().get(4); + private final Group cGroup_7 = (Group)cGroup.eContents().get(7); + private final Keyword cResourceDemandSpecificationKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_7_1 = (Keyword)cGroup_7.eContents().get(1); + private final Assignment cResourceDemandSpecificationAssignment_7_2 = (Assignment)cGroup_7.eContents().get(2); + private final RuleCall cResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_7_2_0 = (RuleCall)cResourceDemandSpecificationAssignment_7_2.eContents().get(0); + private final Group cGroup_7_3 = (Group)cGroup_7.eContents().get(3); + private final Keyword cCommaKeyword_7_3_0 = (Keyword)cGroup_7_3.eContents().get(0); + private final Assignment cResourceDemandSpecificationAssignment_7_3_1 = (Assignment)cGroup_7_3.eContents().get(1); + private final RuleCall cResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_7_3_1_0 = (RuleCall)cResourceDemandSpecificationAssignment_7_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_7_4 = (Keyword)cGroup_7.eContents().get(4); + private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8); + + //CoarseGrainedBehavior returns servicebehavior::CoarseGrainedBehavior: + // "CoarseGrainedBehavior" "{" ("describedSignature" describedSignature=[repository::Signature|EString])? + // "describedEntity" describedEntity=[repository::InterfaceProvidingRequiringEntity|EString] ("influencingParameter" "{" + // influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* "}")? + // ("externalCallFrequency" "{" externalCallFrequency+=ExternalCallFrequency ("," + // externalCallFrequency+=ExternalCallFrequency)* "}")? ("resourceDemandSpecification" "{" + // resourceDemandSpecification+=ResourceDemandSpecification ("," + // resourceDemandSpecification+=ResourceDemandSpecification)* "}")? "}"; + public ParserRule getRule() { return rule; } + + //"CoarseGrainedBehavior" "{" ("describedSignature" describedSignature=[repository::Signature|EString])? "describedEntity" + //describedEntity=[repository::InterfaceProvidingRequiringEntity|EString] ("influencingParameter" "{" + //influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* "}")? + //("externalCallFrequency" "{" externalCallFrequency+=ExternalCallFrequency ("," + //externalCallFrequency+=ExternalCallFrequency)* "}")? ("resourceDemandSpecification" "{" + //resourceDemandSpecification+=ResourceDemandSpecification ("," + //resourceDemandSpecification+=ResourceDemandSpecification)* "}")? "}" + public Group getGroup() { return cGroup; } + + //"CoarseGrainedBehavior" + public Keyword getCoarseGrainedBehaviorKeyword_0() { return cCoarseGrainedBehaviorKeyword_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } + + //("describedSignature" describedSignature=[repository::Signature|EString])? + public Group getGroup_2() { return cGroup_2; } + + //"describedSignature" + public Keyword getDescribedSignatureKeyword_2_0() { return cDescribedSignatureKeyword_2_0; } + + //describedSignature=[repository::Signature|EString] + public Assignment getDescribedSignatureAssignment_2_1() { return cDescribedSignatureAssignment_2_1; } + + //[repository::Signature|EString] + public CrossReference getDescribedSignatureSignatureCrossReference_2_1_0() { return cDescribedSignatureSignatureCrossReference_2_1_0; } + + //EString + public RuleCall getDescribedSignatureSignatureEStringParserRuleCall_2_1_0_1() { return cDescribedSignatureSignatureEStringParserRuleCall_2_1_0_1; } + + //"describedEntity" + public Keyword getDescribedEntityKeyword_3() { return cDescribedEntityKeyword_3; } + + //describedEntity=[repository::InterfaceProvidingRequiringEntity|EString] + public Assignment getDescribedEntityAssignment_4() { return cDescribedEntityAssignment_4; } + + //[repository::InterfaceProvidingRequiringEntity|EString] + public CrossReference getDescribedEntityInterfaceProvidingRequiringEntityCrossReference_4_0() { return cDescribedEntityInterfaceProvidingRequiringEntityCrossReference_4_0; } + + //EString + public RuleCall getDescribedEntityInterfaceProvidingRequiringEntityEStringParserRuleCall_4_0_1() { return cDescribedEntityInterfaceProvidingRequiringEntityEStringParserRuleCall_4_0_1; } + + //("influencingParameter" "{" influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* + //"}")? + public Group getGroup_5() { return cGroup_5; } + + //"influencingParameter" + public Keyword getInfluencingParameterKeyword_5_0() { return cInfluencingParameterKeyword_5_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_5_1() { return cLeftCurlyBracketKeyword_5_1; } + + //influencingParameter+=InfluencingParameter + public Assignment getInfluencingParameterAssignment_5_2() { return cInfluencingParameterAssignment_5_2; } + + //InfluencingParameter + public RuleCall getInfluencingParameterInfluencingParameterParserRuleCall_5_2_0() { return cInfluencingParameterInfluencingParameterParserRuleCall_5_2_0; } + + //("," influencingParameter+=InfluencingParameter)* + public Group getGroup_5_3() { return cGroup_5_3; } + + //"," + public Keyword getCommaKeyword_5_3_0() { return cCommaKeyword_5_3_0; } + + //influencingParameter+=InfluencingParameter + public Assignment getInfluencingParameterAssignment_5_3_1() { return cInfluencingParameterAssignment_5_3_1; } + + //InfluencingParameter + public RuleCall getInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0() { return cInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_5_4() { return cRightCurlyBracketKeyword_5_4; } + + //("externalCallFrequency" "{" externalCallFrequency+=ExternalCallFrequency ("," + //externalCallFrequency+=ExternalCallFrequency)* "}")? + public Group getGroup_6() { return cGroup_6; } + + //"externalCallFrequency" + public Keyword getExternalCallFrequencyKeyword_6_0() { return cExternalCallFrequencyKeyword_6_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_6_1() { return cLeftCurlyBracketKeyword_6_1; } + + //externalCallFrequency+=ExternalCallFrequency + public Assignment getExternalCallFrequencyAssignment_6_2() { return cExternalCallFrequencyAssignment_6_2; } + + //ExternalCallFrequency + public RuleCall getExternalCallFrequencyExternalCallFrequencyParserRuleCall_6_2_0() { return cExternalCallFrequencyExternalCallFrequencyParserRuleCall_6_2_0; } + + //("," externalCallFrequency+=ExternalCallFrequency)* + public Group getGroup_6_3() { return cGroup_6_3; } + + //"," + public Keyword getCommaKeyword_6_3_0() { return cCommaKeyword_6_3_0; } + + //externalCallFrequency+=ExternalCallFrequency + public Assignment getExternalCallFrequencyAssignment_6_3_1() { return cExternalCallFrequencyAssignment_6_3_1; } + + //ExternalCallFrequency + public RuleCall getExternalCallFrequencyExternalCallFrequencyParserRuleCall_6_3_1_0() { return cExternalCallFrequencyExternalCallFrequencyParserRuleCall_6_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_6_4() { return cRightCurlyBracketKeyword_6_4; } + + //("resourceDemandSpecification" "{" resourceDemandSpecification+=ResourceDemandSpecification ("," + //resourceDemandSpecification+=ResourceDemandSpecification)* "}")? + public Group getGroup_7() { return cGroup_7; } + + //"resourceDemandSpecification" + public Keyword getResourceDemandSpecificationKeyword_7_0() { return cResourceDemandSpecificationKeyword_7_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_7_1() { return cLeftCurlyBracketKeyword_7_1; } + + //resourceDemandSpecification+=ResourceDemandSpecification + public Assignment getResourceDemandSpecificationAssignment_7_2() { return cResourceDemandSpecificationAssignment_7_2; } + + //ResourceDemandSpecification + public RuleCall getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_7_2_0() { return cResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_7_2_0; } + + //("," resourceDemandSpecification+=ResourceDemandSpecification)* + public Group getGroup_7_3() { return cGroup_7_3; } + + //"," + public Keyword getCommaKeyword_7_3_0() { return cCommaKeyword_7_3_0; } + + //resourceDemandSpecification+=ResourceDemandSpecification + public Assignment getResourceDemandSpecificationAssignment_7_3_1() { return cResourceDemandSpecificationAssignment_7_3_1; } + + //ResourceDemandSpecification + public RuleCall getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_7_3_1_0() { return cResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_7_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_7_4() { return cRightCurlyBracketKeyword_7_4; } + + //"}" + public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; } + } + + public class BasicComponentElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BasicComponent"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cBasicComponentKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0); + private final Group cGroup_5 = (Group)cGroup.eContents().get(5); + private final Keyword cRelationshipKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); + private final Keyword cLeftParenthesisKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1); + private final Assignment cRelationshipAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2); + private final CrossReference cRelationshipRelationshipCrossReference_5_2_0 = (CrossReference)cRelationshipAssignment_5_2.eContents().get(0); + private final RuleCall cRelationshipRelationshipEStringParserRuleCall_5_2_0_1 = (RuleCall)cRelationshipRelationshipCrossReference_5_2_0.eContents().get(1); + private final Group cGroup_5_3 = (Group)cGroup_5.eContents().get(3); + private final Keyword cCommaKeyword_5_3_0 = (Keyword)cGroup_5_3.eContents().get(0); + private final Assignment cRelationshipAssignment_5_3_1 = (Assignment)cGroup_5_3.eContents().get(1); + private final CrossReference cRelationshipRelationshipCrossReference_5_3_1_0 = (CrossReference)cRelationshipAssignment_5_3_1.eContents().get(0); + private final RuleCall cRelationshipRelationshipEStringParserRuleCall_5_3_1_0_1 = (RuleCall)cRelationshipRelationshipCrossReference_5_3_1_0.eContents().get(1); + private final Keyword cRightParenthesisKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4); + private final Group cGroup_6 = (Group)cGroup.eContents().get(6); + private final Keyword cProvidedRolesKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1); + private final Assignment cProvidedRolesAssignment_6_2 = (Assignment)cGroup_6.eContents().get(2); + private final RuleCall cProvidedRolesProvidedRoleParserRuleCall_6_2_0 = (RuleCall)cProvidedRolesAssignment_6_2.eContents().get(0); + private final Group cGroup_6_3 = (Group)cGroup_6.eContents().get(3); + private final Keyword cCommaKeyword_6_3_0 = (Keyword)cGroup_6_3.eContents().get(0); + private final Assignment cProvidedRolesAssignment_6_3_1 = (Assignment)cGroup_6_3.eContents().get(1); + private final RuleCall cProvidedRolesProvidedRoleParserRuleCall_6_3_1_0 = (RuleCall)cProvidedRolesAssignment_6_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_6_4 = (Keyword)cGroup_6.eContents().get(4); + private final Group cGroup_7 = (Group)cGroup.eContents().get(7); + private final Keyword cBlackBoxBehaviorKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_7_1 = (Keyword)cGroup_7.eContents().get(1); + private final Assignment cBlackBoxBehaviorAssignment_7_2 = (Assignment)cGroup_7.eContents().get(2); + private final RuleCall cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0 = (RuleCall)cBlackBoxBehaviorAssignment_7_2.eContents().get(0); + private final Group cGroup_7_3 = (Group)cGroup_7.eContents().get(3); + private final Keyword cCommaKeyword_7_3_0 = (Keyword)cGroup_7_3.eContents().get(0); + private final Assignment cBlackBoxBehaviorAssignment_7_3_1 = (Assignment)cGroup_7_3.eContents().get(1); + private final RuleCall cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0 = (RuleCall)cBlackBoxBehaviorAssignment_7_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_7_4 = (Keyword)cGroup_7.eContents().get(4); + private final Group cGroup_8 = (Group)cGroup.eContents().get(8); + private final Keyword cRequiredRolesKeyword_8_0 = (Keyword)cGroup_8.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_8_1 = (Keyword)cGroup_8.eContents().get(1); + private final Assignment cRequiredRolesAssignment_8_2 = (Assignment)cGroup_8.eContents().get(2); + private final RuleCall cRequiredRolesRequiredRoleParserRuleCall_8_2_0 = (RuleCall)cRequiredRolesAssignment_8_2.eContents().get(0); + private final Group cGroup_8_3 = (Group)cGroup_8.eContents().get(3); + private final Keyword cCommaKeyword_8_3_0 = (Keyword)cGroup_8_3.eContents().get(0); + private final Assignment cRequiredRolesAssignment_8_3_1 = (Assignment)cGroup_8_3.eContents().get(1); + private final RuleCall cRequiredRolesRequiredRoleParserRuleCall_8_3_1_0 = (RuleCall)cRequiredRolesAssignment_8_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_8_4 = (Keyword)cGroup_8.eContents().get(4); + private final Group cGroup_9 = (Group)cGroup.eContents().get(9); + private final Keyword cCoarseGrainedBehaviorKeyword_9_0 = (Keyword)cGroup_9.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_9_1 = (Keyword)cGroup_9.eContents().get(1); + private final Assignment cCoarseGrainedBehaviorAssignment_9_2 = (Assignment)cGroup_9.eContents().get(2); + private final RuleCall cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0 = (RuleCall)cCoarseGrainedBehaviorAssignment_9_2.eContents().get(0); + private final Group cGroup_9_3 = (Group)cGroup_9.eContents().get(3); + private final Keyword cCommaKeyword_9_3_0 = (Keyword)cGroup_9_3.eContents().get(0); + private final Assignment cCoarseGrainedBehaviorAssignment_9_3_1 = (Assignment)cGroup_9_3.eContents().get(1); + private final RuleCall cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0 = (RuleCall)cCoarseGrainedBehaviorAssignment_9_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_9_4 = (Keyword)cGroup_9.eContents().get(4); + private final Group cGroup_10 = (Group)cGroup.eContents().get(10); + private final Keyword cPassiveResourcesKeyword_10_0 = (Keyword)cGroup_10.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_10_1 = (Keyword)cGroup_10.eContents().get(1); + private final Assignment cPassiveResourcesAssignment_10_2 = (Assignment)cGroup_10.eContents().get(2); + private final RuleCall cPassiveResourcesPassiveResourceSpecificationParserRuleCall_10_2_0 = (RuleCall)cPassiveResourcesAssignment_10_2.eContents().get(0); + private final Group cGroup_10_3 = (Group)cGroup_10.eContents().get(3); + private final Keyword cCommaKeyword_10_3_0 = (Keyword)cGroup_10_3.eContents().get(0); + private final Assignment cPassiveResourcesAssignment_10_3_1 = (Assignment)cGroup_10_3.eContents().get(1); + private final RuleCall cPassiveResourcesPassiveResourceSpecificationParserRuleCall_10_3_1_0 = (RuleCall)cPassiveResourcesAssignment_10_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_10_4 = (Keyword)cGroup_10.eContents().get(4); + private final Group cGroup_11 = (Group)cGroup.eContents().get(11); + private final Keyword cFineGrainedBehaviorKeyword_11_0 = (Keyword)cGroup_11.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_11_1 = (Keyword)cGroup_11.eContents().get(1); + private final Assignment cFineGrainedBehaviorAssignment_11_2 = (Assignment)cGroup_11.eContents().get(2); + private final RuleCall cFineGrainedBehaviorFineGrainedBehaviorParserRuleCall_11_2_0 = (RuleCall)cFineGrainedBehaviorAssignment_11_2.eContents().get(0); + private final Group cGroup_11_3 = (Group)cGroup_11.eContents().get(3); + private final Keyword cCommaKeyword_11_3_0 = (Keyword)cGroup_11_3.eContents().get(0); + private final Assignment cFineGrainedBehaviorAssignment_11_3_1 = (Assignment)cGroup_11_3.eContents().get(1); + private final RuleCall cFineGrainedBehaviorFineGrainedBehaviorParserRuleCall_11_3_1_0 = (RuleCall)cFineGrainedBehaviorAssignment_11_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_11_4 = (Keyword)cGroup_11.eContents().get(4); + private final Keyword cRightCurlyBracketKeyword_12 = (Keyword)cGroup.eContents().get(12); + + //BasicComponent returns repository::BasicComponent: + // "BasicComponent" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] ("," + // relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole ("," + // providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," + // blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole ("," + // requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior ("," + // coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? ("passiveResources" "{" + // passiveResources+=PassiveResourceSpecification ("," passiveResources+=PassiveResourceSpecification)* "}")? + // ("fineGrainedBehavior" "{" fineGrainedBehavior+=FineGrainedBehavior ("," fineGrainedBehavior+=FineGrainedBehavior)* + // "}")? "}"; + public ParserRule getRule() { return rule; } + + //"BasicComponent" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] ("," + //relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole ("," + //providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," + //blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole ("," + //requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior ("," + //coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? ("passiveResources" "{" + //passiveResources+=PassiveResourceSpecification ("," passiveResources+=PassiveResourceSpecification)* "}")? + //("fineGrainedBehavior" "{" fineGrainedBehavior+=FineGrainedBehavior ("," fineGrainedBehavior+=FineGrainedBehavior)* + //"}")? "}" + public Group getGroup() { return cGroup; } + + //"BasicComponent" + public Keyword getBasicComponentKeyword_0() { return cBasicComponentKeyword_0; } + + //id=EString + public Assignment getIdAssignment_1() { return cIdAssignment_1; } + + //EString + public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //"name" + public Keyword getNameKeyword_3() { return cNameKeyword_3; } + + //name=EString + public Assignment getNameAssignment_4() { return cNameAssignment_4; } + + //EString + public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; } + + //("relationship" "(" relationship+=[Relationship|EString] ("," relationship+=[Relationship|EString])* ")")? + public Group getGroup_5() { return cGroup_5; } + + //"relationship" + public Keyword getRelationshipKeyword_5_0() { return cRelationshipKeyword_5_0; } + + //"(" + public Keyword getLeftParenthesisKeyword_5_1() { return cLeftParenthesisKeyword_5_1; } + + //relationship+=[Relationship|EString] + public Assignment getRelationshipAssignment_5_2() { return cRelationshipAssignment_5_2; } + + //[Relationship|EString] + public CrossReference getRelationshipRelationshipCrossReference_5_2_0() { return cRelationshipRelationshipCrossReference_5_2_0; } + + //EString + public RuleCall getRelationshipRelationshipEStringParserRuleCall_5_2_0_1() { return cRelationshipRelationshipEStringParserRuleCall_5_2_0_1; } + + //("," relationship+=[Relationship|EString])* + public Group getGroup_5_3() { return cGroup_5_3; } + + //"," + public Keyword getCommaKeyword_5_3_0() { return cCommaKeyword_5_3_0; } + + //relationship+=[Relationship|EString] + public Assignment getRelationshipAssignment_5_3_1() { return cRelationshipAssignment_5_3_1; } + + //[Relationship|EString] + public CrossReference getRelationshipRelationshipCrossReference_5_3_1_0() { return cRelationshipRelationshipCrossReference_5_3_1_0; } + + //EString + public RuleCall getRelationshipRelationshipEStringParserRuleCall_5_3_1_0_1() { return cRelationshipRelationshipEStringParserRuleCall_5_3_1_0_1; } + + //")" + public Keyword getRightParenthesisKeyword_5_4() { return cRightParenthesisKeyword_5_4; } + + //("providedRoles" "{" providedRoles+=ProvidedRole ("," providedRoles+=ProvidedRole)* "}")? + public Group getGroup_6() { return cGroup_6; } + + //"providedRoles" + public Keyword getProvidedRolesKeyword_6_0() { return cProvidedRolesKeyword_6_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_6_1() { return cLeftCurlyBracketKeyword_6_1; } + + //providedRoles+=ProvidedRole + public Assignment getProvidedRolesAssignment_6_2() { return cProvidedRolesAssignment_6_2; } + + //ProvidedRole + public RuleCall getProvidedRolesProvidedRoleParserRuleCall_6_2_0() { return cProvidedRolesProvidedRoleParserRuleCall_6_2_0; } + + //("," providedRoles+=ProvidedRole)* + public Group getGroup_6_3() { return cGroup_6_3; } + + //"," + public Keyword getCommaKeyword_6_3_0() { return cCommaKeyword_6_3_0; } + + //providedRoles+=ProvidedRole + public Assignment getProvidedRolesAssignment_6_3_1() { return cProvidedRolesAssignment_6_3_1; } + + //ProvidedRole + public RuleCall getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0() { return cProvidedRolesProvidedRoleParserRuleCall_6_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_6_4() { return cRightCurlyBracketKeyword_6_4; } + + //("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," blackBoxBehavior+=BlackBoxBehavior)* "}")? + public Group getGroup_7() { return cGroup_7; } + + //"blackBoxBehavior" + public Keyword getBlackBoxBehaviorKeyword_7_0() { return cBlackBoxBehaviorKeyword_7_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_7_1() { return cLeftCurlyBracketKeyword_7_1; } + + //blackBoxBehavior+=BlackBoxBehavior + public Assignment getBlackBoxBehaviorAssignment_7_2() { return cBlackBoxBehaviorAssignment_7_2; } + + //BlackBoxBehavior + public RuleCall getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0() { return cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0; } + + //("," blackBoxBehavior+=BlackBoxBehavior)* + public Group getGroup_7_3() { return cGroup_7_3; } + + //"," + public Keyword getCommaKeyword_7_3_0() { return cCommaKeyword_7_3_0; } + + //blackBoxBehavior+=BlackBoxBehavior + public Assignment getBlackBoxBehaviorAssignment_7_3_1() { return cBlackBoxBehaviorAssignment_7_3_1; } + + //BlackBoxBehavior + public RuleCall getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0() { return cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_7_4() { return cRightCurlyBracketKeyword_7_4; } + + //("requiredRoles" "{" requiredRoles+=RequiredRole ("," requiredRoles+=RequiredRole)* "}")? + public Group getGroup_8() { return cGroup_8; } + + //"requiredRoles" + public Keyword getRequiredRolesKeyword_8_0() { return cRequiredRolesKeyword_8_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_8_1() { return cLeftCurlyBracketKeyword_8_1; } + + //requiredRoles+=RequiredRole + public Assignment getRequiredRolesAssignment_8_2() { return cRequiredRolesAssignment_8_2; } + + //RequiredRole + public RuleCall getRequiredRolesRequiredRoleParserRuleCall_8_2_0() { return cRequiredRolesRequiredRoleParserRuleCall_8_2_0; } + + //("," requiredRoles+=RequiredRole)* + public Group getGroup_8_3() { return cGroup_8_3; } + + //"," + public Keyword getCommaKeyword_8_3_0() { return cCommaKeyword_8_3_0; } + + //requiredRoles+=RequiredRole + public Assignment getRequiredRolesAssignment_8_3_1() { return cRequiredRolesAssignment_8_3_1; } + + //RequiredRole + public RuleCall getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0() { return cRequiredRolesRequiredRoleParserRuleCall_8_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_8_4() { return cRightCurlyBracketKeyword_8_4; } + + //("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior ("," + //coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? + public Group getGroup_9() { return cGroup_9; } + + //"coarseGrainedBehavior" + public Keyword getCoarseGrainedBehaviorKeyword_9_0() { return cCoarseGrainedBehaviorKeyword_9_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_9_1() { return cLeftCurlyBracketKeyword_9_1; } + + //coarseGrainedBehavior+=CoarseGrainedBehavior + public Assignment getCoarseGrainedBehaviorAssignment_9_2() { return cCoarseGrainedBehaviorAssignment_9_2; } + + //CoarseGrainedBehavior + public RuleCall getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0() { return cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0; } + + //("," coarseGrainedBehavior+=CoarseGrainedBehavior)* + public Group getGroup_9_3() { return cGroup_9_3; } + + //"," + public Keyword getCommaKeyword_9_3_0() { return cCommaKeyword_9_3_0; } + + //coarseGrainedBehavior+=CoarseGrainedBehavior + public Assignment getCoarseGrainedBehaviorAssignment_9_3_1() { return cCoarseGrainedBehaviorAssignment_9_3_1; } + + //CoarseGrainedBehavior + public RuleCall getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0() { return cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_9_4() { return cRightCurlyBracketKeyword_9_4; } + + //("passiveResources" "{" passiveResources+=PassiveResourceSpecification ("," + //passiveResources+=PassiveResourceSpecification)* "}")? + public Group getGroup_10() { return cGroup_10; } + + //"passiveResources" + public Keyword getPassiveResourcesKeyword_10_0() { return cPassiveResourcesKeyword_10_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_10_1() { return cLeftCurlyBracketKeyword_10_1; } + + //passiveResources+=PassiveResourceSpecification + public Assignment getPassiveResourcesAssignment_10_2() { return cPassiveResourcesAssignment_10_2; } + + //PassiveResourceSpecification + public RuleCall getPassiveResourcesPassiveResourceSpecificationParserRuleCall_10_2_0() { return cPassiveResourcesPassiveResourceSpecificationParserRuleCall_10_2_0; } + + //("," passiveResources+=PassiveResourceSpecification)* + public Group getGroup_10_3() { return cGroup_10_3; } + + //"," + public Keyword getCommaKeyword_10_3_0() { return cCommaKeyword_10_3_0; } + + //passiveResources+=PassiveResourceSpecification + public Assignment getPassiveResourcesAssignment_10_3_1() { return cPassiveResourcesAssignment_10_3_1; } + + //PassiveResourceSpecification + public RuleCall getPassiveResourcesPassiveResourceSpecificationParserRuleCall_10_3_1_0() { return cPassiveResourcesPassiveResourceSpecificationParserRuleCall_10_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_10_4() { return cRightCurlyBracketKeyword_10_4; } + + //("fineGrainedBehavior" "{" fineGrainedBehavior+=FineGrainedBehavior ("," fineGrainedBehavior+=FineGrainedBehavior)* + //"}")? + public Group getGroup_11() { return cGroup_11; } + + //"fineGrainedBehavior" + public Keyword getFineGrainedBehaviorKeyword_11_0() { return cFineGrainedBehaviorKeyword_11_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_11_1() { return cLeftCurlyBracketKeyword_11_1; } + + //fineGrainedBehavior+=FineGrainedBehavior + public Assignment getFineGrainedBehaviorAssignment_11_2() { return cFineGrainedBehaviorAssignment_11_2; } + + //FineGrainedBehavior + public RuleCall getFineGrainedBehaviorFineGrainedBehaviorParserRuleCall_11_2_0() { return cFineGrainedBehaviorFineGrainedBehaviorParserRuleCall_11_2_0; } + + //("," fineGrainedBehavior+=FineGrainedBehavior)* + public Group getGroup_11_3() { return cGroup_11_3; } + + //"," + public Keyword getCommaKeyword_11_3_0() { return cCommaKeyword_11_3_0; } + + //fineGrainedBehavior+=FineGrainedBehavior + public Assignment getFineGrainedBehaviorAssignment_11_3_1() { return cFineGrainedBehaviorAssignment_11_3_1; } + + //FineGrainedBehavior + public RuleCall getFineGrainedBehaviorFineGrainedBehaviorParserRuleCall_11_3_1_0() { return cFineGrainedBehaviorFineGrainedBehaviorParserRuleCall_11_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_11_4() { return cRightCurlyBracketKeyword_11_4; } + + //"}" + public Keyword getRightCurlyBracketKeyword_12() { return cRightCurlyBracketKeyword_12; } + } + + public class CompositeComponentElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "CompositeComponent"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cCompositeComponentKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0); + private final Group cGroup_5 = (Group)cGroup.eContents().get(5); + private final Keyword cRelationshipKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); + private final Keyword cLeftParenthesisKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1); + private final Assignment cRelationshipAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2); + private final CrossReference cRelationshipRelationshipCrossReference_5_2_0 = (CrossReference)cRelationshipAssignment_5_2.eContents().get(0); + private final RuleCall cRelationshipRelationshipEStringParserRuleCall_5_2_0_1 = (RuleCall)cRelationshipRelationshipCrossReference_5_2_0.eContents().get(1); + private final Group cGroup_5_3 = (Group)cGroup_5.eContents().get(3); + private final Keyword cCommaKeyword_5_3_0 = (Keyword)cGroup_5_3.eContents().get(0); + private final Assignment cRelationshipAssignment_5_3_1 = (Assignment)cGroup_5_3.eContents().get(1); + private final CrossReference cRelationshipRelationshipCrossReference_5_3_1_0 = (CrossReference)cRelationshipAssignment_5_3_1.eContents().get(0); + private final RuleCall cRelationshipRelationshipEStringParserRuleCall_5_3_1_0_1 = (RuleCall)cRelationshipRelationshipCrossReference_5_3_1_0.eContents().get(1); + private final Keyword cRightParenthesisKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4); + private final Group cGroup_6 = (Group)cGroup.eContents().get(6); + private final Keyword cProvidedRolesKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1); + private final Assignment cProvidedRolesAssignment_6_2 = (Assignment)cGroup_6.eContents().get(2); + private final RuleCall cProvidedRolesProvidedRoleParserRuleCall_6_2_0 = (RuleCall)cProvidedRolesAssignment_6_2.eContents().get(0); + private final Group cGroup_6_3 = (Group)cGroup_6.eContents().get(3); + private final Keyword cCommaKeyword_6_3_0 = (Keyword)cGroup_6_3.eContents().get(0); + private final Assignment cProvidedRolesAssignment_6_3_1 = (Assignment)cGroup_6_3.eContents().get(1); + private final RuleCall cProvidedRolesProvidedRoleParserRuleCall_6_3_1_0 = (RuleCall)cProvidedRolesAssignment_6_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_6_4 = (Keyword)cGroup_6.eContents().get(4); + private final Group cGroup_7 = (Group)cGroup.eContents().get(7); + private final Keyword cBlackBoxBehaviorKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_7_1 = (Keyword)cGroup_7.eContents().get(1); + private final Assignment cBlackBoxBehaviorAssignment_7_2 = (Assignment)cGroup_7.eContents().get(2); + private final RuleCall cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0 = (RuleCall)cBlackBoxBehaviorAssignment_7_2.eContents().get(0); + private final Group cGroup_7_3 = (Group)cGroup_7.eContents().get(3); + private final Keyword cCommaKeyword_7_3_0 = (Keyword)cGroup_7_3.eContents().get(0); + private final Assignment cBlackBoxBehaviorAssignment_7_3_1 = (Assignment)cGroup_7_3.eContents().get(1); + private final RuleCall cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0 = (RuleCall)cBlackBoxBehaviorAssignment_7_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_7_4 = (Keyword)cGroup_7.eContents().get(4); + private final Group cGroup_8 = (Group)cGroup.eContents().get(8); + private final Keyword cRequiredRolesKeyword_8_0 = (Keyword)cGroup_8.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_8_1 = (Keyword)cGroup_8.eContents().get(1); + private final Assignment cRequiredRolesAssignment_8_2 = (Assignment)cGroup_8.eContents().get(2); + private final RuleCall cRequiredRolesRequiredRoleParserRuleCall_8_2_0 = (RuleCall)cRequiredRolesAssignment_8_2.eContents().get(0); + private final Group cGroup_8_3 = (Group)cGroup_8.eContents().get(3); + private final Keyword cCommaKeyword_8_3_0 = (Keyword)cGroup_8_3.eContents().get(0); + private final Assignment cRequiredRolesAssignment_8_3_1 = (Assignment)cGroup_8_3.eContents().get(1); + private final RuleCall cRequiredRolesRequiredRoleParserRuleCall_8_3_1_0 = (RuleCall)cRequiredRolesAssignment_8_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_8_4 = (Keyword)cGroup_8.eContents().get(4); + private final Group cGroup_9 = (Group)cGroup.eContents().get(9); + private final Keyword cCoarseGrainedBehaviorKeyword_9_0 = (Keyword)cGroup_9.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_9_1 = (Keyword)cGroup_9.eContents().get(1); + private final Assignment cCoarseGrainedBehaviorAssignment_9_2 = (Assignment)cGroup_9.eContents().get(2); + private final RuleCall cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0 = (RuleCall)cCoarseGrainedBehaviorAssignment_9_2.eContents().get(0); + private final Group cGroup_9_3 = (Group)cGroup_9.eContents().get(3); + private final Keyword cCommaKeyword_9_3_0 = (Keyword)cGroup_9_3.eContents().get(0); + private final Assignment cCoarseGrainedBehaviorAssignment_9_3_1 = (Assignment)cGroup_9_3.eContents().get(1); + private final RuleCall cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0 = (RuleCall)cCoarseGrainedBehaviorAssignment_9_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_9_4 = (Keyword)cGroup_9.eContents().get(4); + private final Group cGroup_10 = (Group)cGroup.eContents().get(10); + private final Keyword cAssemblyContextsKeyword_10_0 = (Keyword)cGroup_10.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_10_1 = (Keyword)cGroup_10.eContents().get(1); + private final Assignment cAssemblyContextsAssignment_10_2 = (Assignment)cGroup_10.eContents().get(2); + private final RuleCall cAssemblyContextsAssemblyContextParserRuleCall_10_2_0 = (RuleCall)cAssemblyContextsAssignment_10_2.eContents().get(0); + private final Group cGroup_10_3 = (Group)cGroup_10.eContents().get(3); + private final Keyword cCommaKeyword_10_3_0 = (Keyword)cGroup_10_3.eContents().get(0); + private final Assignment cAssemblyContextsAssignment_10_3_1 = (Assignment)cGroup_10_3.eContents().get(1); + private final RuleCall cAssemblyContextsAssemblyContextParserRuleCall_10_3_1_0 = (RuleCall)cAssemblyContextsAssignment_10_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_10_4 = (Keyword)cGroup_10.eContents().get(4); + private final Group cGroup_11 = (Group)cGroup.eContents().get(11); + private final Keyword cAssemblyConnectorsKeyword_11_0 = (Keyword)cGroup_11.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_11_1 = (Keyword)cGroup_11.eContents().get(1); + private final Assignment cAssemblyConnectorsAssignment_11_2 = (Assignment)cGroup_11.eContents().get(2); + private final RuleCall cAssemblyConnectorsAssemblyConnectorParserRuleCall_11_2_0 = (RuleCall)cAssemblyConnectorsAssignment_11_2.eContents().get(0); + private final Group cGroup_11_3 = (Group)cGroup_11.eContents().get(3); + private final Keyword cCommaKeyword_11_3_0 = (Keyword)cGroup_11_3.eContents().get(0); + private final Assignment cAssemblyConnectorsAssignment_11_3_1 = (Assignment)cGroup_11_3.eContents().get(1); + private final RuleCall cAssemblyConnectorsAssemblyConnectorParserRuleCall_11_3_1_0 = (RuleCall)cAssemblyConnectorsAssignment_11_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_11_4 = (Keyword)cGroup_11.eContents().get(4); + private final Group cGroup_12 = (Group)cGroup.eContents().get(12); + private final Keyword cProvidedDelegationConnectorsKeyword_12_0 = (Keyword)cGroup_12.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_12_1 = (Keyword)cGroup_12.eContents().get(1); + private final Assignment cProvidedDelegationConnectorsAssignment_12_2 = (Assignment)cGroup_12.eContents().get(2); + private final RuleCall cProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_2_0 = (RuleCall)cProvidedDelegationConnectorsAssignment_12_2.eContents().get(0); + private final Group cGroup_12_3 = (Group)cGroup_12.eContents().get(3); + private final Keyword cCommaKeyword_12_3_0 = (Keyword)cGroup_12_3.eContents().get(0); + private final Assignment cProvidedDelegationConnectorsAssignment_12_3_1 = (Assignment)cGroup_12_3.eContents().get(1); + private final RuleCall cProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_3_1_0 = (RuleCall)cProvidedDelegationConnectorsAssignment_12_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_12_4 = (Keyword)cGroup_12.eContents().get(4); + private final Group cGroup_13 = (Group)cGroup.eContents().get(13); + private final Keyword cRequiredDelegationConnectorsKeyword_13_0 = (Keyword)cGroup_13.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_13_1 = (Keyword)cGroup_13.eContents().get(1); + private final Assignment cRequiredDelegationConnectorsAssignment_13_2 = (Assignment)cGroup_13.eContents().get(2); + private final RuleCall cRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_2_0 = (RuleCall)cRequiredDelegationConnectorsAssignment_13_2.eContents().get(0); + private final Group cGroup_13_3 = (Group)cGroup_13.eContents().get(3); + private final Keyword cCommaKeyword_13_3_0 = (Keyword)cGroup_13_3.eContents().get(0); + private final Assignment cRequiredDelegationConnectorsAssignment_13_3_1 = (Assignment)cGroup_13_3.eContents().get(1); + private final RuleCall cRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_3_1_0 = (RuleCall)cRequiredDelegationConnectorsAssignment_13_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_13_4 = (Keyword)cGroup_13.eContents().get(4); + private final Keyword cRightCurlyBracketKeyword_14 = (Keyword)cGroup.eContents().get(14); + + //CompositeComponent returns repository::CompositeComponent: + // "CompositeComponent" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] ("," + // relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole ("," + // providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," + // blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole ("," + // requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior ("," + // coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? ("assemblyContexts" "{" assemblyContexts+=AssemblyContext ("," + // assemblyContexts+=AssemblyContext)* "}")? ("assemblyConnectors" "{" assemblyConnectors+=AssemblyConnector ("," + // assemblyConnectors+=AssemblyConnector)* "}")? ("providedDelegationConnectors" "{" + // providedDelegationConnectors+=ProvidedDelegationConnector ("," + // providedDelegationConnectors+=ProvidedDelegationConnector)* "}")? ("requiredDelegationConnectors" "{" + // requiredDelegationConnectors+=RequiredDelegationConnector ("," + // requiredDelegationConnectors+=RequiredDelegationConnector)* "}")? "}"; + public ParserRule getRule() { return rule; } + + //"CompositeComponent" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] ("," + //relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole ("," + //providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," + //blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole ("," + //requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior ("," + //coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? ("assemblyContexts" "{" assemblyContexts+=AssemblyContext ("," + //assemblyContexts+=AssemblyContext)* "}")? ("assemblyConnectors" "{" assemblyConnectors+=AssemblyConnector ("," + //assemblyConnectors+=AssemblyConnector)* "}")? ("providedDelegationConnectors" "{" + //providedDelegationConnectors+=ProvidedDelegationConnector ("," + //providedDelegationConnectors+=ProvidedDelegationConnector)* "}")? ("requiredDelegationConnectors" "{" + //requiredDelegationConnectors+=RequiredDelegationConnector ("," + //requiredDelegationConnectors+=RequiredDelegationConnector)* "}")? "}" + public Group getGroup() { return cGroup; } + + //"CompositeComponent" + public Keyword getCompositeComponentKeyword_0() { return cCompositeComponentKeyword_0; } + + //id=EString + public Assignment getIdAssignment_1() { return cIdAssignment_1; } + + //EString + public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //"name" + public Keyword getNameKeyword_3() { return cNameKeyword_3; } + + //name=EString + public Assignment getNameAssignment_4() { return cNameAssignment_4; } + + //EString + public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; } + + //("relationship" "(" relationship+=[Relationship|EString] ("," relationship+=[Relationship|EString])* ")")? + public Group getGroup_5() { return cGroup_5; } + + //"relationship" + public Keyword getRelationshipKeyword_5_0() { return cRelationshipKeyword_5_0; } + + //"(" + public Keyword getLeftParenthesisKeyword_5_1() { return cLeftParenthesisKeyword_5_1; } + + //relationship+=[Relationship|EString] + public Assignment getRelationshipAssignment_5_2() { return cRelationshipAssignment_5_2; } + + //[Relationship|EString] + public CrossReference getRelationshipRelationshipCrossReference_5_2_0() { return cRelationshipRelationshipCrossReference_5_2_0; } + + //EString + public RuleCall getRelationshipRelationshipEStringParserRuleCall_5_2_0_1() { return cRelationshipRelationshipEStringParserRuleCall_5_2_0_1; } + + //("," relationship+=[Relationship|EString])* + public Group getGroup_5_3() { return cGroup_5_3; } + + //"," + public Keyword getCommaKeyword_5_3_0() { return cCommaKeyword_5_3_0; } + + //relationship+=[Relationship|EString] + public Assignment getRelationshipAssignment_5_3_1() { return cRelationshipAssignment_5_3_1; } + + //[Relationship|EString] + public CrossReference getRelationshipRelationshipCrossReference_5_3_1_0() { return cRelationshipRelationshipCrossReference_5_3_1_0; } + + //EString + public RuleCall getRelationshipRelationshipEStringParserRuleCall_5_3_1_0_1() { return cRelationshipRelationshipEStringParserRuleCall_5_3_1_0_1; } + + //")" + public Keyword getRightParenthesisKeyword_5_4() { return cRightParenthesisKeyword_5_4; } + + //("providedRoles" "{" providedRoles+=ProvidedRole ("," providedRoles+=ProvidedRole)* "}")? + public Group getGroup_6() { return cGroup_6; } + + //"providedRoles" + public Keyword getProvidedRolesKeyword_6_0() { return cProvidedRolesKeyword_6_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_6_1() { return cLeftCurlyBracketKeyword_6_1; } + + //providedRoles+=ProvidedRole + public Assignment getProvidedRolesAssignment_6_2() { return cProvidedRolesAssignment_6_2; } + + //ProvidedRole + public RuleCall getProvidedRolesProvidedRoleParserRuleCall_6_2_0() { return cProvidedRolesProvidedRoleParserRuleCall_6_2_0; } + + //("," providedRoles+=ProvidedRole)* + public Group getGroup_6_3() { return cGroup_6_3; } + + //"," + public Keyword getCommaKeyword_6_3_0() { return cCommaKeyword_6_3_0; } + + //providedRoles+=ProvidedRole + public Assignment getProvidedRolesAssignment_6_3_1() { return cProvidedRolesAssignment_6_3_1; } + + //ProvidedRole + public RuleCall getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0() { return cProvidedRolesProvidedRoleParserRuleCall_6_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_6_4() { return cRightCurlyBracketKeyword_6_4; } + + //("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," blackBoxBehavior+=BlackBoxBehavior)* "}")? + public Group getGroup_7() { return cGroup_7; } + + //"blackBoxBehavior" + public Keyword getBlackBoxBehaviorKeyword_7_0() { return cBlackBoxBehaviorKeyword_7_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_7_1() { return cLeftCurlyBracketKeyword_7_1; } + + //blackBoxBehavior+=BlackBoxBehavior + public Assignment getBlackBoxBehaviorAssignment_7_2() { return cBlackBoxBehaviorAssignment_7_2; } + + //BlackBoxBehavior + public RuleCall getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0() { return cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0; } + + //("," blackBoxBehavior+=BlackBoxBehavior)* + public Group getGroup_7_3() { return cGroup_7_3; } + + //"," + public Keyword getCommaKeyword_7_3_0() { return cCommaKeyword_7_3_0; } + + //blackBoxBehavior+=BlackBoxBehavior + public Assignment getBlackBoxBehaviorAssignment_7_3_1() { return cBlackBoxBehaviorAssignment_7_3_1; } + + //BlackBoxBehavior + public RuleCall getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0() { return cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_7_4() { return cRightCurlyBracketKeyword_7_4; } + + //("requiredRoles" "{" requiredRoles+=RequiredRole ("," requiredRoles+=RequiredRole)* "}")? + public Group getGroup_8() { return cGroup_8; } + + //"requiredRoles" + public Keyword getRequiredRolesKeyword_8_0() { return cRequiredRolesKeyword_8_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_8_1() { return cLeftCurlyBracketKeyword_8_1; } + + //requiredRoles+=RequiredRole + public Assignment getRequiredRolesAssignment_8_2() { return cRequiredRolesAssignment_8_2; } + + //RequiredRole + public RuleCall getRequiredRolesRequiredRoleParserRuleCall_8_2_0() { return cRequiredRolesRequiredRoleParserRuleCall_8_2_0; } + + //("," requiredRoles+=RequiredRole)* + public Group getGroup_8_3() { return cGroup_8_3; } + + //"," + public Keyword getCommaKeyword_8_3_0() { return cCommaKeyword_8_3_0; } + + //requiredRoles+=RequiredRole + public Assignment getRequiredRolesAssignment_8_3_1() { return cRequiredRolesAssignment_8_3_1; } + + //RequiredRole + public RuleCall getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0() { return cRequiredRolesRequiredRoleParserRuleCall_8_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_8_4() { return cRightCurlyBracketKeyword_8_4; } + + //("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior ("," + //coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? + public Group getGroup_9() { return cGroup_9; } + + //"coarseGrainedBehavior" + public Keyword getCoarseGrainedBehaviorKeyword_9_0() { return cCoarseGrainedBehaviorKeyword_9_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_9_1() { return cLeftCurlyBracketKeyword_9_1; } + + //coarseGrainedBehavior+=CoarseGrainedBehavior + public Assignment getCoarseGrainedBehaviorAssignment_9_2() { return cCoarseGrainedBehaviorAssignment_9_2; } + + //CoarseGrainedBehavior + public RuleCall getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0() { return cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0; } + + //("," coarseGrainedBehavior+=CoarseGrainedBehavior)* + public Group getGroup_9_3() { return cGroup_9_3; } + + //"," + public Keyword getCommaKeyword_9_3_0() { return cCommaKeyword_9_3_0; } + + //coarseGrainedBehavior+=CoarseGrainedBehavior + public Assignment getCoarseGrainedBehaviorAssignment_9_3_1() { return cCoarseGrainedBehaviorAssignment_9_3_1; } + + //CoarseGrainedBehavior + public RuleCall getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0() { return cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_9_4() { return cRightCurlyBracketKeyword_9_4; } + + //("assemblyContexts" "{" assemblyContexts+=AssemblyContext ("," assemblyContexts+=AssemblyContext)* "}")? + public Group getGroup_10() { return cGroup_10; } + + //"assemblyContexts" + public Keyword getAssemblyContextsKeyword_10_0() { return cAssemblyContextsKeyword_10_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_10_1() { return cLeftCurlyBracketKeyword_10_1; } + + //assemblyContexts+=AssemblyContext + public Assignment getAssemblyContextsAssignment_10_2() { return cAssemblyContextsAssignment_10_2; } + + //AssemblyContext + public RuleCall getAssemblyContextsAssemblyContextParserRuleCall_10_2_0() { return cAssemblyContextsAssemblyContextParserRuleCall_10_2_0; } + + //("," assemblyContexts+=AssemblyContext)* + public Group getGroup_10_3() { return cGroup_10_3; } + + //"," + public Keyword getCommaKeyword_10_3_0() { return cCommaKeyword_10_3_0; } + + //assemblyContexts+=AssemblyContext + public Assignment getAssemblyContextsAssignment_10_3_1() { return cAssemblyContextsAssignment_10_3_1; } + + //AssemblyContext + public RuleCall getAssemblyContextsAssemblyContextParserRuleCall_10_3_1_0() { return cAssemblyContextsAssemblyContextParserRuleCall_10_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_10_4() { return cRightCurlyBracketKeyword_10_4; } + + //("assemblyConnectors" "{" assemblyConnectors+=AssemblyConnector ("," assemblyConnectors+=AssemblyConnector)* "}")? + public Group getGroup_11() { return cGroup_11; } + + //"assemblyConnectors" + public Keyword getAssemblyConnectorsKeyword_11_0() { return cAssemblyConnectorsKeyword_11_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_11_1() { return cLeftCurlyBracketKeyword_11_1; } + + //assemblyConnectors+=AssemblyConnector + public Assignment getAssemblyConnectorsAssignment_11_2() { return cAssemblyConnectorsAssignment_11_2; } + + //AssemblyConnector + public RuleCall getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_2_0() { return cAssemblyConnectorsAssemblyConnectorParserRuleCall_11_2_0; } + + //("," assemblyConnectors+=AssemblyConnector)* + public Group getGroup_11_3() { return cGroup_11_3; } + + //"," + public Keyword getCommaKeyword_11_3_0() { return cCommaKeyword_11_3_0; } + + //assemblyConnectors+=AssemblyConnector + public Assignment getAssemblyConnectorsAssignment_11_3_1() { return cAssemblyConnectorsAssignment_11_3_1; } + + //AssemblyConnector + public RuleCall getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_3_1_0() { return cAssemblyConnectorsAssemblyConnectorParserRuleCall_11_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_11_4() { return cRightCurlyBracketKeyword_11_4; } + + //("providedDelegationConnectors" "{" providedDelegationConnectors+=ProvidedDelegationConnector ("," + //providedDelegationConnectors+=ProvidedDelegationConnector)* "}")? + public Group getGroup_12() { return cGroup_12; } + + //"providedDelegationConnectors" + public Keyword getProvidedDelegationConnectorsKeyword_12_0() { return cProvidedDelegationConnectorsKeyword_12_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_12_1() { return cLeftCurlyBracketKeyword_12_1; } + + //providedDelegationConnectors+=ProvidedDelegationConnector + public Assignment getProvidedDelegationConnectorsAssignment_12_2() { return cProvidedDelegationConnectorsAssignment_12_2; } + + //ProvidedDelegationConnector + public RuleCall getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_2_0() { return cProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_2_0; } + + //("," providedDelegationConnectors+=ProvidedDelegationConnector)* + public Group getGroup_12_3() { return cGroup_12_3; } + + //"," + public Keyword getCommaKeyword_12_3_0() { return cCommaKeyword_12_3_0; } + + //providedDelegationConnectors+=ProvidedDelegationConnector + public Assignment getProvidedDelegationConnectorsAssignment_12_3_1() { return cProvidedDelegationConnectorsAssignment_12_3_1; } + + //ProvidedDelegationConnector + public RuleCall getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_3_1_0() { return cProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_12_4() { return cRightCurlyBracketKeyword_12_4; } + + //("requiredDelegationConnectors" "{" requiredDelegationConnectors+=RequiredDelegationConnector ("," + //requiredDelegationConnectors+=RequiredDelegationConnector)* "}")? + public Group getGroup_13() { return cGroup_13; } + + //"requiredDelegationConnectors" + public Keyword getRequiredDelegationConnectorsKeyword_13_0() { return cRequiredDelegationConnectorsKeyword_13_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_13_1() { return cLeftCurlyBracketKeyword_13_1; } + + //requiredDelegationConnectors+=RequiredDelegationConnector + public Assignment getRequiredDelegationConnectorsAssignment_13_2() { return cRequiredDelegationConnectorsAssignment_13_2; } + + //RequiredDelegationConnector + public RuleCall getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_2_0() { return cRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_2_0; } + + //("," requiredDelegationConnectors+=RequiredDelegationConnector)* + public Group getGroup_13_3() { return cGroup_13_3; } + + //"," + public Keyword getCommaKeyword_13_3_0() { return cCommaKeyword_13_3_0; } + + //requiredDelegationConnectors+=RequiredDelegationConnector + public Assignment getRequiredDelegationConnectorsAssignment_13_3_1() { return cRequiredDelegationConnectorsAssignment_13_3_1; } + + //RequiredDelegationConnector + public RuleCall getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_3_1_0() { return cRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_13_4() { return cRightCurlyBracketKeyword_13_4; } + + //"}" + public Keyword getRightCurlyBracketKeyword_14() { return cRightCurlyBracketKeyword_14; } + } + + public class SubSystemElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SubSystem"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cSubSystemKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0); + private final Group cGroup_5 = (Group)cGroup.eContents().get(5); + private final Keyword cRelationshipKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); + private final Keyword cLeftParenthesisKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1); + private final Assignment cRelationshipAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2); + private final CrossReference cRelationshipRelationshipCrossReference_5_2_0 = (CrossReference)cRelationshipAssignment_5_2.eContents().get(0); + private final RuleCall cRelationshipRelationshipEStringParserRuleCall_5_2_0_1 = (RuleCall)cRelationshipRelationshipCrossReference_5_2_0.eContents().get(1); + private final Group cGroup_5_3 = (Group)cGroup_5.eContents().get(3); + private final Keyword cCommaKeyword_5_3_0 = (Keyword)cGroup_5_3.eContents().get(0); + private final Assignment cRelationshipAssignment_5_3_1 = (Assignment)cGroup_5_3.eContents().get(1); + private final CrossReference cRelationshipRelationshipCrossReference_5_3_1_0 = (CrossReference)cRelationshipAssignment_5_3_1.eContents().get(0); + private final RuleCall cRelationshipRelationshipEStringParserRuleCall_5_3_1_0_1 = (RuleCall)cRelationshipRelationshipCrossReference_5_3_1_0.eContents().get(1); + private final Keyword cRightParenthesisKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4); + private final Group cGroup_6 = (Group)cGroup.eContents().get(6); + private final Keyword cProvidedRolesKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1); + private final Assignment cProvidedRolesAssignment_6_2 = (Assignment)cGroup_6.eContents().get(2); + private final RuleCall cProvidedRolesProvidedRoleParserRuleCall_6_2_0 = (RuleCall)cProvidedRolesAssignment_6_2.eContents().get(0); + private final Group cGroup_6_3 = (Group)cGroup_6.eContents().get(3); + private final Keyword cCommaKeyword_6_3_0 = (Keyword)cGroup_6_3.eContents().get(0); + private final Assignment cProvidedRolesAssignment_6_3_1 = (Assignment)cGroup_6_3.eContents().get(1); + private final RuleCall cProvidedRolesProvidedRoleParserRuleCall_6_3_1_0 = (RuleCall)cProvidedRolesAssignment_6_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_6_4 = (Keyword)cGroup_6.eContents().get(4); + private final Group cGroup_7 = (Group)cGroup.eContents().get(7); + private final Keyword cBlackBoxBehaviorKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_7_1 = (Keyword)cGroup_7.eContents().get(1); + private final Assignment cBlackBoxBehaviorAssignment_7_2 = (Assignment)cGroup_7.eContents().get(2); + private final RuleCall cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0 = (RuleCall)cBlackBoxBehaviorAssignment_7_2.eContents().get(0); + private final Group cGroup_7_3 = (Group)cGroup_7.eContents().get(3); + private final Keyword cCommaKeyword_7_3_0 = (Keyword)cGroup_7_3.eContents().get(0); + private final Assignment cBlackBoxBehaviorAssignment_7_3_1 = (Assignment)cGroup_7_3.eContents().get(1); + private final RuleCall cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0 = (RuleCall)cBlackBoxBehaviorAssignment_7_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_7_4 = (Keyword)cGroup_7.eContents().get(4); + private final Group cGroup_8 = (Group)cGroup.eContents().get(8); + private final Keyword cRequiredRolesKeyword_8_0 = (Keyword)cGroup_8.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_8_1 = (Keyword)cGroup_8.eContents().get(1); + private final Assignment cRequiredRolesAssignment_8_2 = (Assignment)cGroup_8.eContents().get(2); + private final RuleCall cRequiredRolesRequiredRoleParserRuleCall_8_2_0 = (RuleCall)cRequiredRolesAssignment_8_2.eContents().get(0); + private final Group cGroup_8_3 = (Group)cGroup_8.eContents().get(3); + private final Keyword cCommaKeyword_8_3_0 = (Keyword)cGroup_8_3.eContents().get(0); + private final Assignment cRequiredRolesAssignment_8_3_1 = (Assignment)cGroup_8_3.eContents().get(1); + private final RuleCall cRequiredRolesRequiredRoleParserRuleCall_8_3_1_0 = (RuleCall)cRequiredRolesAssignment_8_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_8_4 = (Keyword)cGroup_8.eContents().get(4); + private final Group cGroup_9 = (Group)cGroup.eContents().get(9); + private final Keyword cCoarseGrainedBehaviorKeyword_9_0 = (Keyword)cGroup_9.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_9_1 = (Keyword)cGroup_9.eContents().get(1); + private final Assignment cCoarseGrainedBehaviorAssignment_9_2 = (Assignment)cGroup_9.eContents().get(2); + private final RuleCall cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0 = (RuleCall)cCoarseGrainedBehaviorAssignment_9_2.eContents().get(0); + private final Group cGroup_9_3 = (Group)cGroup_9.eContents().get(3); + private final Keyword cCommaKeyword_9_3_0 = (Keyword)cGroup_9_3.eContents().get(0); + private final Assignment cCoarseGrainedBehaviorAssignment_9_3_1 = (Assignment)cGroup_9_3.eContents().get(1); + private final RuleCall cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0 = (RuleCall)cCoarseGrainedBehaviorAssignment_9_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_9_4 = (Keyword)cGroup_9.eContents().get(4); + private final Group cGroup_10 = (Group)cGroup.eContents().get(10); + private final Keyword cAssemblyContextsKeyword_10_0 = (Keyword)cGroup_10.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_10_1 = (Keyword)cGroup_10.eContents().get(1); + private final Assignment cAssemblyContextsAssignment_10_2 = (Assignment)cGroup_10.eContents().get(2); + private final RuleCall cAssemblyContextsAssemblyContextParserRuleCall_10_2_0 = (RuleCall)cAssemblyContextsAssignment_10_2.eContents().get(0); + private final Group cGroup_10_3 = (Group)cGroup_10.eContents().get(3); + private final Keyword cCommaKeyword_10_3_0 = (Keyword)cGroup_10_3.eContents().get(0); + private final Assignment cAssemblyContextsAssignment_10_3_1 = (Assignment)cGroup_10_3.eContents().get(1); + private final RuleCall cAssemblyContextsAssemblyContextParserRuleCall_10_3_1_0 = (RuleCall)cAssemblyContextsAssignment_10_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_10_4 = (Keyword)cGroup_10.eContents().get(4); + private final Group cGroup_11 = (Group)cGroup.eContents().get(11); + private final Keyword cAssemblyConnectorsKeyword_11_0 = (Keyword)cGroup_11.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_11_1 = (Keyword)cGroup_11.eContents().get(1); + private final Assignment cAssemblyConnectorsAssignment_11_2 = (Assignment)cGroup_11.eContents().get(2); + private final RuleCall cAssemblyConnectorsAssemblyConnectorParserRuleCall_11_2_0 = (RuleCall)cAssemblyConnectorsAssignment_11_2.eContents().get(0); + private final Group cGroup_11_3 = (Group)cGroup_11.eContents().get(3); + private final Keyword cCommaKeyword_11_3_0 = (Keyword)cGroup_11_3.eContents().get(0); + private final Assignment cAssemblyConnectorsAssignment_11_3_1 = (Assignment)cGroup_11_3.eContents().get(1); + private final RuleCall cAssemblyConnectorsAssemblyConnectorParserRuleCall_11_3_1_0 = (RuleCall)cAssemblyConnectorsAssignment_11_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_11_4 = (Keyword)cGroup_11.eContents().get(4); + private final Group cGroup_12 = (Group)cGroup.eContents().get(12); + private final Keyword cProvidedDelegationConnectorsKeyword_12_0 = (Keyword)cGroup_12.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_12_1 = (Keyword)cGroup_12.eContents().get(1); + private final Assignment cProvidedDelegationConnectorsAssignment_12_2 = (Assignment)cGroup_12.eContents().get(2); + private final RuleCall cProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_2_0 = (RuleCall)cProvidedDelegationConnectorsAssignment_12_2.eContents().get(0); + private final Group cGroup_12_3 = (Group)cGroup_12.eContents().get(3); + private final Keyword cCommaKeyword_12_3_0 = (Keyword)cGroup_12_3.eContents().get(0); + private final Assignment cProvidedDelegationConnectorsAssignment_12_3_1 = (Assignment)cGroup_12_3.eContents().get(1); + private final RuleCall cProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_3_1_0 = (RuleCall)cProvidedDelegationConnectorsAssignment_12_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_12_4 = (Keyword)cGroup_12.eContents().get(4); + private final Group cGroup_13 = (Group)cGroup.eContents().get(13); + private final Keyword cRequiredDelegationConnectorsKeyword_13_0 = (Keyword)cGroup_13.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_13_1 = (Keyword)cGroup_13.eContents().get(1); + private final Assignment cRequiredDelegationConnectorsAssignment_13_2 = (Assignment)cGroup_13.eContents().get(2); + private final RuleCall cRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_2_0 = (RuleCall)cRequiredDelegationConnectorsAssignment_13_2.eContents().get(0); + private final Group cGroup_13_3 = (Group)cGroup_13.eContents().get(3); + private final Keyword cCommaKeyword_13_3_0 = (Keyword)cGroup_13_3.eContents().get(0); + private final Assignment cRequiredDelegationConnectorsAssignment_13_3_1 = (Assignment)cGroup_13_3.eContents().get(1); + private final RuleCall cRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_3_1_0 = (RuleCall)cRequiredDelegationConnectorsAssignment_13_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_13_4 = (Keyword)cGroup_13.eContents().get(4); + private final Keyword cRightCurlyBracketKeyword_14 = (Keyword)cGroup.eContents().get(14); + + //SubSystem returns repository::SubSystem: + // "SubSystem" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] ("," + // relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole ("," + // providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," + // blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole ("," + // requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior ("," + // coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? ("assemblyContexts" "{" assemblyContexts+=AssemblyContext ("," + // assemblyContexts+=AssemblyContext)* "}")? ("assemblyConnectors" "{" assemblyConnectors+=AssemblyConnector ("," + // assemblyConnectors+=AssemblyConnector)* "}")? ("providedDelegationConnectors" "{" + // providedDelegationConnectors+=ProvidedDelegationConnector ("," + // providedDelegationConnectors+=ProvidedDelegationConnector)* "}")? ("requiredDelegationConnectors" "{" + // requiredDelegationConnectors+=RequiredDelegationConnector ("," + // requiredDelegationConnectors+=RequiredDelegationConnector)* "}")? "}"; + public ParserRule getRule() { return rule; } + + //"SubSystem" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] ("," + //relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole ("," + //providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," + //blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole ("," + //requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior ("," + //coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? ("assemblyContexts" "{" assemblyContexts+=AssemblyContext ("," + //assemblyContexts+=AssemblyContext)* "}")? ("assemblyConnectors" "{" assemblyConnectors+=AssemblyConnector ("," + //assemblyConnectors+=AssemblyConnector)* "}")? ("providedDelegationConnectors" "{" + //providedDelegationConnectors+=ProvidedDelegationConnector ("," + //providedDelegationConnectors+=ProvidedDelegationConnector)* "}")? ("requiredDelegationConnectors" "{" + //requiredDelegationConnectors+=RequiredDelegationConnector ("," + //requiredDelegationConnectors+=RequiredDelegationConnector)* "}")? "}" + public Group getGroup() { return cGroup; } + + //"SubSystem" + public Keyword getSubSystemKeyword_0() { return cSubSystemKeyword_0; } + + //id=EString + public Assignment getIdAssignment_1() { return cIdAssignment_1; } + + //EString + public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //"name" + public Keyword getNameKeyword_3() { return cNameKeyword_3; } + + //name=EString + public Assignment getNameAssignment_4() { return cNameAssignment_4; } + + //EString + public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; } + + //("relationship" "(" relationship+=[Relationship|EString] ("," relationship+=[Relationship|EString])* ")")? + public Group getGroup_5() { return cGroup_5; } + + //"relationship" + public Keyword getRelationshipKeyword_5_0() { return cRelationshipKeyword_5_0; } + + //"(" + public Keyword getLeftParenthesisKeyword_5_1() { return cLeftParenthesisKeyword_5_1; } + + //relationship+=[Relationship|EString] + public Assignment getRelationshipAssignment_5_2() { return cRelationshipAssignment_5_2; } + + //[Relationship|EString] + public CrossReference getRelationshipRelationshipCrossReference_5_2_0() { return cRelationshipRelationshipCrossReference_5_2_0; } + + //EString + public RuleCall getRelationshipRelationshipEStringParserRuleCall_5_2_0_1() { return cRelationshipRelationshipEStringParserRuleCall_5_2_0_1; } + + //("," relationship+=[Relationship|EString])* + public Group getGroup_5_3() { return cGroup_5_3; } + + //"," + public Keyword getCommaKeyword_5_3_0() { return cCommaKeyword_5_3_0; } + + //relationship+=[Relationship|EString] + public Assignment getRelationshipAssignment_5_3_1() { return cRelationshipAssignment_5_3_1; } + + //[Relationship|EString] + public CrossReference getRelationshipRelationshipCrossReference_5_3_1_0() { return cRelationshipRelationshipCrossReference_5_3_1_0; } + + //EString + public RuleCall getRelationshipRelationshipEStringParserRuleCall_5_3_1_0_1() { return cRelationshipRelationshipEStringParserRuleCall_5_3_1_0_1; } + + //")" + public Keyword getRightParenthesisKeyword_5_4() { return cRightParenthesisKeyword_5_4; } + + //("providedRoles" "{" providedRoles+=ProvidedRole ("," providedRoles+=ProvidedRole)* "}")? + public Group getGroup_6() { return cGroup_6; } + + //"providedRoles" + public Keyword getProvidedRolesKeyword_6_0() { return cProvidedRolesKeyword_6_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_6_1() { return cLeftCurlyBracketKeyword_6_1; } + + //providedRoles+=ProvidedRole + public Assignment getProvidedRolesAssignment_6_2() { return cProvidedRolesAssignment_6_2; } + + //ProvidedRole + public RuleCall getProvidedRolesProvidedRoleParserRuleCall_6_2_0() { return cProvidedRolesProvidedRoleParserRuleCall_6_2_0; } + + //("," providedRoles+=ProvidedRole)* + public Group getGroup_6_3() { return cGroup_6_3; } + + //"," + public Keyword getCommaKeyword_6_3_0() { return cCommaKeyword_6_3_0; } + + //providedRoles+=ProvidedRole + public Assignment getProvidedRolesAssignment_6_3_1() { return cProvidedRolesAssignment_6_3_1; } + + //ProvidedRole + public RuleCall getProvidedRolesProvidedRoleParserRuleCall_6_3_1_0() { return cProvidedRolesProvidedRoleParserRuleCall_6_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_6_4() { return cRightCurlyBracketKeyword_6_4; } + + //("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," blackBoxBehavior+=BlackBoxBehavior)* "}")? + public Group getGroup_7() { return cGroup_7; } + + //"blackBoxBehavior" + public Keyword getBlackBoxBehaviorKeyword_7_0() { return cBlackBoxBehaviorKeyword_7_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_7_1() { return cLeftCurlyBracketKeyword_7_1; } + + //blackBoxBehavior+=BlackBoxBehavior + public Assignment getBlackBoxBehaviorAssignment_7_2() { return cBlackBoxBehaviorAssignment_7_2; } + + //BlackBoxBehavior + public RuleCall getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0() { return cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_2_0; } + + //("," blackBoxBehavior+=BlackBoxBehavior)* + public Group getGroup_7_3() { return cGroup_7_3; } + + //"," + public Keyword getCommaKeyword_7_3_0() { return cCommaKeyword_7_3_0; } + + //blackBoxBehavior+=BlackBoxBehavior + public Assignment getBlackBoxBehaviorAssignment_7_3_1() { return cBlackBoxBehaviorAssignment_7_3_1; } + + //BlackBoxBehavior + public RuleCall getBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0() { return cBlackBoxBehaviorBlackBoxBehaviorParserRuleCall_7_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_7_4() { return cRightCurlyBracketKeyword_7_4; } + + //("requiredRoles" "{" requiredRoles+=RequiredRole ("," requiredRoles+=RequiredRole)* "}")? + public Group getGroup_8() { return cGroup_8; } + + //"requiredRoles" + public Keyword getRequiredRolesKeyword_8_0() { return cRequiredRolesKeyword_8_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_8_1() { return cLeftCurlyBracketKeyword_8_1; } + + //requiredRoles+=RequiredRole + public Assignment getRequiredRolesAssignment_8_2() { return cRequiredRolesAssignment_8_2; } + + //RequiredRole + public RuleCall getRequiredRolesRequiredRoleParserRuleCall_8_2_0() { return cRequiredRolesRequiredRoleParserRuleCall_8_2_0; } + + //("," requiredRoles+=RequiredRole)* + public Group getGroup_8_3() { return cGroup_8_3; } + + //"," + public Keyword getCommaKeyword_8_3_0() { return cCommaKeyword_8_3_0; } + + //requiredRoles+=RequiredRole + public Assignment getRequiredRolesAssignment_8_3_1() { return cRequiredRolesAssignment_8_3_1; } + + //RequiredRole + public RuleCall getRequiredRolesRequiredRoleParserRuleCall_8_3_1_0() { return cRequiredRolesRequiredRoleParserRuleCall_8_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_8_4() { return cRightCurlyBracketKeyword_8_4; } + + //("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior ("," + //coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? + public Group getGroup_9() { return cGroup_9; } + + //"coarseGrainedBehavior" + public Keyword getCoarseGrainedBehaviorKeyword_9_0() { return cCoarseGrainedBehaviorKeyword_9_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_9_1() { return cLeftCurlyBracketKeyword_9_1; } + + //coarseGrainedBehavior+=CoarseGrainedBehavior + public Assignment getCoarseGrainedBehaviorAssignment_9_2() { return cCoarseGrainedBehaviorAssignment_9_2; } + + //CoarseGrainedBehavior + public RuleCall getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0() { return cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_2_0; } + + //("," coarseGrainedBehavior+=CoarseGrainedBehavior)* + public Group getGroup_9_3() { return cGroup_9_3; } + + //"," + public Keyword getCommaKeyword_9_3_0() { return cCommaKeyword_9_3_0; } + + //coarseGrainedBehavior+=CoarseGrainedBehavior + public Assignment getCoarseGrainedBehaviorAssignment_9_3_1() { return cCoarseGrainedBehaviorAssignment_9_3_1; } + + //CoarseGrainedBehavior + public RuleCall getCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0() { return cCoarseGrainedBehaviorCoarseGrainedBehaviorParserRuleCall_9_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_9_4() { return cRightCurlyBracketKeyword_9_4; } + + //("assemblyContexts" "{" assemblyContexts+=AssemblyContext ("," assemblyContexts+=AssemblyContext)* "}")? + public Group getGroup_10() { return cGroup_10; } + + //"assemblyContexts" + public Keyword getAssemblyContextsKeyword_10_0() { return cAssemblyContextsKeyword_10_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_10_1() { return cLeftCurlyBracketKeyword_10_1; } + + //assemblyContexts+=AssemblyContext + public Assignment getAssemblyContextsAssignment_10_2() { return cAssemblyContextsAssignment_10_2; } + + //AssemblyContext + public RuleCall getAssemblyContextsAssemblyContextParserRuleCall_10_2_0() { return cAssemblyContextsAssemblyContextParserRuleCall_10_2_0; } + + //("," assemblyContexts+=AssemblyContext)* + public Group getGroup_10_3() { return cGroup_10_3; } + + //"," + public Keyword getCommaKeyword_10_3_0() { return cCommaKeyword_10_3_0; } + + //assemblyContexts+=AssemblyContext + public Assignment getAssemblyContextsAssignment_10_3_1() { return cAssemblyContextsAssignment_10_3_1; } + + //AssemblyContext + public RuleCall getAssemblyContextsAssemblyContextParserRuleCall_10_3_1_0() { return cAssemblyContextsAssemblyContextParserRuleCall_10_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_10_4() { return cRightCurlyBracketKeyword_10_4; } + + //("assemblyConnectors" "{" assemblyConnectors+=AssemblyConnector ("," assemblyConnectors+=AssemblyConnector)* "}")? + public Group getGroup_11() { return cGroup_11; } + + //"assemblyConnectors" + public Keyword getAssemblyConnectorsKeyword_11_0() { return cAssemblyConnectorsKeyword_11_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_11_1() { return cLeftCurlyBracketKeyword_11_1; } + + //assemblyConnectors+=AssemblyConnector + public Assignment getAssemblyConnectorsAssignment_11_2() { return cAssemblyConnectorsAssignment_11_2; } + + //AssemblyConnector + public RuleCall getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_2_0() { return cAssemblyConnectorsAssemblyConnectorParserRuleCall_11_2_0; } + + //("," assemblyConnectors+=AssemblyConnector)* + public Group getGroup_11_3() { return cGroup_11_3; } + + //"," + public Keyword getCommaKeyword_11_3_0() { return cCommaKeyword_11_3_0; } + + //assemblyConnectors+=AssemblyConnector + public Assignment getAssemblyConnectorsAssignment_11_3_1() { return cAssemblyConnectorsAssignment_11_3_1; } + + //AssemblyConnector + public RuleCall getAssemblyConnectorsAssemblyConnectorParserRuleCall_11_3_1_0() { return cAssemblyConnectorsAssemblyConnectorParserRuleCall_11_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_11_4() { return cRightCurlyBracketKeyword_11_4; } + + //("providedDelegationConnectors" "{" providedDelegationConnectors+=ProvidedDelegationConnector ("," + //providedDelegationConnectors+=ProvidedDelegationConnector)* "}")? + public Group getGroup_12() { return cGroup_12; } + + //"providedDelegationConnectors" + public Keyword getProvidedDelegationConnectorsKeyword_12_0() { return cProvidedDelegationConnectorsKeyword_12_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_12_1() { return cLeftCurlyBracketKeyword_12_1; } + + //providedDelegationConnectors+=ProvidedDelegationConnector + public Assignment getProvidedDelegationConnectorsAssignment_12_2() { return cProvidedDelegationConnectorsAssignment_12_2; } + + //ProvidedDelegationConnector + public RuleCall getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_2_0() { return cProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_2_0; } + + //("," providedDelegationConnectors+=ProvidedDelegationConnector)* + public Group getGroup_12_3() { return cGroup_12_3; } + + //"," + public Keyword getCommaKeyword_12_3_0() { return cCommaKeyword_12_3_0; } + + //providedDelegationConnectors+=ProvidedDelegationConnector + public Assignment getProvidedDelegationConnectorsAssignment_12_3_1() { return cProvidedDelegationConnectorsAssignment_12_3_1; } + + //ProvidedDelegationConnector + public RuleCall getProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_3_1_0() { return cProvidedDelegationConnectorsProvidedDelegationConnectorParserRuleCall_12_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_12_4() { return cRightCurlyBracketKeyword_12_4; } + + //("requiredDelegationConnectors" "{" requiredDelegationConnectors+=RequiredDelegationConnector ("," + //requiredDelegationConnectors+=RequiredDelegationConnector)* "}")? + public Group getGroup_13() { return cGroup_13; } + + //"requiredDelegationConnectors" + public Keyword getRequiredDelegationConnectorsKeyword_13_0() { return cRequiredDelegationConnectorsKeyword_13_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_13_1() { return cLeftCurlyBracketKeyword_13_1; } + + //requiredDelegationConnectors+=RequiredDelegationConnector + public Assignment getRequiredDelegationConnectorsAssignment_13_2() { return cRequiredDelegationConnectorsAssignment_13_2; } + + //RequiredDelegationConnector + public RuleCall getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_2_0() { return cRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_2_0; } + + //("," requiredDelegationConnectors+=RequiredDelegationConnector)* + public Group getGroup_13_3() { return cGroup_13_3; } + + //"," + public Keyword getCommaKeyword_13_3_0() { return cCommaKeyword_13_3_0; } + + //requiredDelegationConnectors+=RequiredDelegationConnector + public Assignment getRequiredDelegationConnectorsAssignment_13_3_1() { return cRequiredDelegationConnectorsAssignment_13_3_1; } + + //RequiredDelegationConnector + public RuleCall getRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_3_1_0() { return cRequiredDelegationConnectorsRequiredDelegationConnectorParserRuleCall_13_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_13_4() { return cRightCurlyBracketKeyword_13_4; } + + //"}" + public Keyword getRightCurlyBracketKeyword_14() { return cRightCurlyBracketKeyword_14; } + } + + public class InfluencingParameter_ImplElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "InfluencingParameter_Impl"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cInfluencingParameterKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cNameEStringParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Keyword cDescriptionKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cDescriptionAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cDescriptionEStringParserRuleCall_4_0 = (RuleCall)cDescriptionAssignment_4.eContents().get(0); + private final Keyword cBehaviorKeyword_5 = (Keyword)cGroup.eContents().get(5); + private final Assignment cBehaviorAssignment_6 = (Assignment)cGroup.eContents().get(6); + private final CrossReference cBehaviorServiceBehaviorAbstractionCrossReference_6_0 = (CrossReference)cBehaviorAssignment_6.eContents().get(0); + private final RuleCall cBehaviorServiceBehaviorAbstractionEStringParserRuleCall_6_0_1 = (RuleCall)cBehaviorServiceBehaviorAbstractionCrossReference_6_0.eContents().get(1); + private final Group cGroup_7 = (Group)cGroup.eContents().get(7); + private final Keyword cScopeKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_7_1 = (Keyword)cGroup_7.eContents().get(1); + private final Assignment cScopeAssignment_7_2 = (Assignment)cGroup_7.eContents().get(2); + private final RuleCall cScopeScopeParserRuleCall_7_2_0 = (RuleCall)cScopeAssignment_7_2.eContents().get(0); + private final Group cGroup_7_3 = (Group)cGroup_7.eContents().get(3); + private final Keyword cCommaKeyword_7_3_0 = (Keyword)cGroup_7_3.eContents().get(0); + private final Assignment cScopeAssignment_7_3_1 = (Assignment)cGroup_7_3.eContents().get(1); + private final RuleCall cScopeScopeParserRuleCall_7_3_1_0 = (RuleCall)cScopeAssignment_7_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_7_4 = (Keyword)cGroup_7.eContents().get(4); + private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8); + + //InfluencingParameter_Impl returns InfluencingParameter: + // "InfluencingParameter" name=EString "{" "description" description=EString "behavior" + // behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? + // "}"; + public ParserRule getRule() { return rule; } + + //"InfluencingParameter" name=EString "{" "description" description=EString "behavior" + //behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}" + public Group getGroup() { return cGroup; } + + //"InfluencingParameter" + public Keyword getInfluencingParameterKeyword_0() { return cInfluencingParameterKeyword_0; } + + //name=EString + public Assignment getNameAssignment_1() { return cNameAssignment_1; } + + //EString + public RuleCall getNameEStringParserRuleCall_1_0() { return cNameEStringParserRuleCall_1_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //"description" + public Keyword getDescriptionKeyword_3() { return cDescriptionKeyword_3; } + + //description=EString + public Assignment getDescriptionAssignment_4() { return cDescriptionAssignment_4; } + + //EString + public RuleCall getDescriptionEStringParserRuleCall_4_0() { return cDescriptionEStringParserRuleCall_4_0; } + + //"behavior" + public Keyword getBehaviorKeyword_5() { return cBehaviorKeyword_5; } + + //behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] + public Assignment getBehaviorAssignment_6() { return cBehaviorAssignment_6; } + + //[servicebehavior::ServiceBehaviorAbstraction|EString] + public CrossReference getBehaviorServiceBehaviorAbstractionCrossReference_6_0() { return cBehaviorServiceBehaviorAbstractionCrossReference_6_0; } + + //EString + public RuleCall getBehaviorServiceBehaviorAbstractionEStringParserRuleCall_6_0_1() { return cBehaviorServiceBehaviorAbstractionEStringParserRuleCall_6_0_1; } + + //("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? + public Group getGroup_7() { return cGroup_7; } + + //"scope" + public Keyword getScopeKeyword_7_0() { return cScopeKeyword_7_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_7_1() { return cLeftCurlyBracketKeyword_7_1; } + + //scope+=Scope + public Assignment getScopeAssignment_7_2() { return cScopeAssignment_7_2; } + + //Scope + public RuleCall getScopeScopeParserRuleCall_7_2_0() { return cScopeScopeParserRuleCall_7_2_0; } + + //("," scope+=Scope)* + public Group getGroup_7_3() { return cGroup_7_3; } + + //"," + public Keyword getCommaKeyword_7_3_0() { return cCommaKeyword_7_3_0; } + + //scope+=Scope + public Assignment getScopeAssignment_7_3_1() { return cScopeAssignment_7_3_1; } + + //Scope + public RuleCall getScopeScopeParserRuleCall_7_3_1_0() { return cScopeScopeParserRuleCall_7_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_7_4() { return cRightCurlyBracketKeyword_7_4; } + + //"}" + public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; } + } + + public class ResponseTimeSpecificationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ResponseTimeSpecification"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cResponseTimeSpecificationAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cResponseTimeSpecificationKeyword_1 = (Keyword)cGroup.eContents().get(1); + + //ResponseTimeSpecification returns servicebehavior::ResponseTimeSpecification: + // {servicebehavior::ResponseTimeSpecification} "ResponseTimeSpecification"; + public ParserRule getRule() { return rule; } + + //{servicebehavior::ResponseTimeSpecification} "ResponseTimeSpecification" + public Group getGroup() { return cGroup; } + + //{servicebehavior::ResponseTimeSpecification} + public Action getResponseTimeSpecificationAction_0() { return cResponseTimeSpecificationAction_0; } + + //"ResponseTimeSpecification" + public Keyword getResponseTimeSpecificationKeyword_1() { return cResponseTimeSpecificationKeyword_1; } + } + + public class ScopeElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Scope"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cScopeKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Keyword cInterfaceProvidingRequiringEntityKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cInterfaceProvidingRequiringEntityAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final CrossReference cInterfaceProvidingRequiringEntityInterfaceProvidingRequiringEntityCrossReference_3_0 = (CrossReference)cInterfaceProvidingRequiringEntityAssignment_3.eContents().get(0); + private final RuleCall cInterfaceProvidingRequiringEntityInterfaceProvidingRequiringEntityEStringParserRuleCall_3_0_1 = (RuleCall)cInterfaceProvidingRequiringEntityInterfaceProvidingRequiringEntityCrossReference_3_0.eContents().get(1); + private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); + + //Scope: + // "Scope" "{" "interfaceProvidingRequiringEntity" + // interfaceProvidingRequiringEntity=[repository::InterfaceProvidingRequiringEntity|EString] "}"; + public ParserRule getRule() { return rule; } + + //"Scope" "{" "interfaceProvidingRequiringEntity" + //interfaceProvidingRequiringEntity=[repository::InterfaceProvidingRequiringEntity|EString] "}" + public Group getGroup() { return cGroup; } + + //"Scope" + public Keyword getScopeKeyword_0() { return cScopeKeyword_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } + + //"interfaceProvidingRequiringEntity" + public Keyword getInterfaceProvidingRequiringEntityKeyword_2() { return cInterfaceProvidingRequiringEntityKeyword_2; } + + //interfaceProvidingRequiringEntity=[repository::InterfaceProvidingRequiringEntity|EString] + public Assignment getInterfaceProvidingRequiringEntityAssignment_3() { return cInterfaceProvidingRequiringEntityAssignment_3; } + + //[repository::InterfaceProvidingRequiringEntity|EString] + public CrossReference getInterfaceProvidingRequiringEntityInterfaceProvidingRequiringEntityCrossReference_3_0() { return cInterfaceProvidingRequiringEntityInterfaceProvidingRequiringEntityCrossReference_3_0; } + + //EString + public RuleCall getInterfaceProvidingRequiringEntityInterfaceProvidingRequiringEntityEStringParserRuleCall_3_0_1() { return cInterfaceProvidingRequiringEntityInterfaceProvidingRequiringEntityEStringParserRuleCall_3_0_1; } + + //"}" + public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; } + } + + public class ServiceInputParameterElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ServiceInputParameter"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cServiceInputParameterKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cNameEStringParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Keyword cDescriptionKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cDescriptionAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cDescriptionEStringParserRuleCall_4_0 = (RuleCall)cDescriptionAssignment_4.eContents().get(0); + private final Keyword cCharacterizationKeyword_5 = (Keyword)cGroup.eContents().get(5); + private final Assignment cCharacterizationAssignment_6 = (Assignment)cGroup.eContents().get(6); + private final RuleCall cCharacterizationCharacterizationTypeEnumRuleCall_6_0 = (RuleCall)cCharacterizationAssignment_6.eContents().get(0); + private final Keyword cBehaviorKeyword_7 = (Keyword)cGroup.eContents().get(7); + private final Assignment cBehaviorAssignment_8 = (Assignment)cGroup.eContents().get(8); + private final CrossReference cBehaviorServiceBehaviorAbstractionCrossReference_8_0 = (CrossReference)cBehaviorAssignment_8.eContents().get(0); + private final RuleCall cBehaviorServiceBehaviorAbstractionEStringParserRuleCall_8_0_1 = (RuleCall)cBehaviorServiceBehaviorAbstractionCrossReference_8_0.eContents().get(1); + private final Keyword cSignatureKeyword_9 = (Keyword)cGroup.eContents().get(9); + private final Assignment cSignatureAssignment_10 = (Assignment)cGroup.eContents().get(10); + private final CrossReference cSignatureSignatureCrossReference_10_0 = (CrossReference)cSignatureAssignment_10.eContents().get(0); + private final RuleCall cSignatureSignatureEStringParserRuleCall_10_0_1 = (RuleCall)cSignatureSignatureCrossReference_10_0.eContents().get(1); + private final Group cGroup_11 = (Group)cGroup.eContents().get(11); + private final Keyword cParameterKeyword_11_0 = (Keyword)cGroup_11.eContents().get(0); + private final Assignment cParameterAssignment_11_1 = (Assignment)cGroup_11.eContents().get(1); + private final CrossReference cParameterParameterCrossReference_11_1_0 = (CrossReference)cParameterAssignment_11_1.eContents().get(0); + private final RuleCall cParameterParameterEStringParserRuleCall_11_1_0_1 = (RuleCall)cParameterParameterCrossReference_11_1_0.eContents().get(1); + private final Group cGroup_12 = (Group)cGroup.eContents().get(12); + private final Keyword cReturnTypeKeyword_12_0 = (Keyword)cGroup_12.eContents().get(0); + private final Assignment cReturnTypeAssignment_12_1 = (Assignment)cGroup_12.eContents().get(1); + private final CrossReference cReturnTypeDataTypeCrossReference_12_1_0 = (CrossReference)cReturnTypeAssignment_12_1.eContents().get(0); + private final RuleCall cReturnTypeDataTypeEStringParserRuleCall_12_1_0_1 = (RuleCall)cReturnTypeDataTypeCrossReference_12_1_0.eContents().get(1); + private final Keyword cProvidedRoleKeyword_13 = (Keyword)cGroup.eContents().get(13); + private final Assignment cProvidedRoleAssignment_14 = (Assignment)cGroup.eContents().get(14); + private final CrossReference cProvidedRoleProvidedRoleCrossReference_14_0 = (CrossReference)cProvidedRoleAssignment_14.eContents().get(0); + private final RuleCall cProvidedRoleProvidedRoleEStringParserRuleCall_14_0_1 = (RuleCall)cProvidedRoleProvidedRoleCrossReference_14_0.eContents().get(1); + private final Group cGroup_15 = (Group)cGroup.eContents().get(15); + private final Keyword cScopeKeyword_15_0 = (Keyword)cGroup_15.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_15_1 = (Keyword)cGroup_15.eContents().get(1); + private final Assignment cScopeAssignment_15_2 = (Assignment)cGroup_15.eContents().get(2); + private final RuleCall cScopeScopeParserRuleCall_15_2_0 = (RuleCall)cScopeAssignment_15_2.eContents().get(0); + private final Group cGroup_15_3 = (Group)cGroup_15.eContents().get(3); + private final Keyword cCommaKeyword_15_3_0 = (Keyword)cGroup_15_3.eContents().get(0); + private final Assignment cScopeAssignment_15_3_1 = (Assignment)cGroup_15_3.eContents().get(1); + private final RuleCall cScopeScopeParserRuleCall_15_3_1_0 = (RuleCall)cScopeAssignment_15_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_15_4 = (Keyword)cGroup_15.eContents().get(4); + private final Keyword cRightCurlyBracketKeyword_16 = (Keyword)cGroup.eContents().get(16); + + //ServiceInputParameter: + // "ServiceInputParameter" name=EString "{" "description" description=EString "characterization" + // characterization=CharacterizationType "behavior" behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] + // "signature" signature=[repository::Signature|EString] ("parameter" parameter=[repository::Parameter|EString])? + // ("returnType" returnType=[repository::DataType|EString])? "providedRole" + // providedRole=[repository::ProvidedRole|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}"; + public ParserRule getRule() { return rule; } + + //"ServiceInputParameter" name=EString "{" "description" description=EString "characterization" + //characterization=CharacterizationType "behavior" behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] + //"signature" signature=[repository::Signature|EString] ("parameter" parameter=[repository::Parameter|EString])? + //("returnType" returnType=[repository::DataType|EString])? "providedRole" + //providedRole=[repository::ProvidedRole|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}" + public Group getGroup() { return cGroup; } + + //"ServiceInputParameter" + public Keyword getServiceInputParameterKeyword_0() { return cServiceInputParameterKeyword_0; } + + //name=EString + public Assignment getNameAssignment_1() { return cNameAssignment_1; } + + //EString + public RuleCall getNameEStringParserRuleCall_1_0() { return cNameEStringParserRuleCall_1_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //"description" + public Keyword getDescriptionKeyword_3() { return cDescriptionKeyword_3; } + + //description=EString + public Assignment getDescriptionAssignment_4() { return cDescriptionAssignment_4; } + + //EString + public RuleCall getDescriptionEStringParserRuleCall_4_0() { return cDescriptionEStringParserRuleCall_4_0; } + + //"characterization" + public Keyword getCharacterizationKeyword_5() { return cCharacterizationKeyword_5; } + + //characterization=CharacterizationType + public Assignment getCharacterizationAssignment_6() { return cCharacterizationAssignment_6; } + + //CharacterizationType + public RuleCall getCharacterizationCharacterizationTypeEnumRuleCall_6_0() { return cCharacterizationCharacterizationTypeEnumRuleCall_6_0; } + + //"behavior" + public Keyword getBehaviorKeyword_7() { return cBehaviorKeyword_7; } + + //behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] + public Assignment getBehaviorAssignment_8() { return cBehaviorAssignment_8; } + + //[servicebehavior::ServiceBehaviorAbstraction|EString] + public CrossReference getBehaviorServiceBehaviorAbstractionCrossReference_8_0() { return cBehaviorServiceBehaviorAbstractionCrossReference_8_0; } + + //EString + public RuleCall getBehaviorServiceBehaviorAbstractionEStringParserRuleCall_8_0_1() { return cBehaviorServiceBehaviorAbstractionEStringParserRuleCall_8_0_1; } + + //"signature" + public Keyword getSignatureKeyword_9() { return cSignatureKeyword_9; } + + //signature=[repository::Signature|EString] + public Assignment getSignatureAssignment_10() { return cSignatureAssignment_10; } + + //[repository::Signature|EString] + public CrossReference getSignatureSignatureCrossReference_10_0() { return cSignatureSignatureCrossReference_10_0; } + + //EString + public RuleCall getSignatureSignatureEStringParserRuleCall_10_0_1() { return cSignatureSignatureEStringParserRuleCall_10_0_1; } + + //("parameter" parameter=[repository::Parameter|EString])? + public Group getGroup_11() { return cGroup_11; } + + //"parameter" + public Keyword getParameterKeyword_11_0() { return cParameterKeyword_11_0; } + + //parameter=[repository::Parameter|EString] + public Assignment getParameterAssignment_11_1() { return cParameterAssignment_11_1; } + + //[repository::Parameter|EString] + public CrossReference getParameterParameterCrossReference_11_1_0() { return cParameterParameterCrossReference_11_1_0; } + + //EString + public RuleCall getParameterParameterEStringParserRuleCall_11_1_0_1() { return cParameterParameterEStringParserRuleCall_11_1_0_1; } + + //("returnType" returnType=[repository::DataType|EString])? + public Group getGroup_12() { return cGroup_12; } + + //"returnType" + public Keyword getReturnTypeKeyword_12_0() { return cReturnTypeKeyword_12_0; } + + //returnType=[repository::DataType|EString] + public Assignment getReturnTypeAssignment_12_1() { return cReturnTypeAssignment_12_1; } + + //[repository::DataType|EString] + public CrossReference getReturnTypeDataTypeCrossReference_12_1_0() { return cReturnTypeDataTypeCrossReference_12_1_0; } + + //EString + public RuleCall getReturnTypeDataTypeEStringParserRuleCall_12_1_0_1() { return cReturnTypeDataTypeEStringParserRuleCall_12_1_0_1; } + + //"providedRole" + public Keyword getProvidedRoleKeyword_13() { return cProvidedRoleKeyword_13; } + + //providedRole=[repository::ProvidedRole|EString] + public Assignment getProvidedRoleAssignment_14() { return cProvidedRoleAssignment_14; } + + //[repository::ProvidedRole|EString] + public CrossReference getProvidedRoleProvidedRoleCrossReference_14_0() { return cProvidedRoleProvidedRoleCrossReference_14_0; } + + //EString + public RuleCall getProvidedRoleProvidedRoleEStringParserRuleCall_14_0_1() { return cProvidedRoleProvidedRoleEStringParserRuleCall_14_0_1; } + + //("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? + public Group getGroup_15() { return cGroup_15; } + + //"scope" + public Keyword getScopeKeyword_15_0() { return cScopeKeyword_15_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_15_1() { return cLeftCurlyBracketKeyword_15_1; } + + //scope+=Scope + public Assignment getScopeAssignment_15_2() { return cScopeAssignment_15_2; } + + //Scope + public RuleCall getScopeScopeParserRuleCall_15_2_0() { return cScopeScopeParserRuleCall_15_2_0; } + + //("," scope+=Scope)* + public Group getGroup_15_3() { return cGroup_15_3; } + + //"," + public Keyword getCommaKeyword_15_3_0() { return cCommaKeyword_15_3_0; } + + //scope+=Scope + public Assignment getScopeAssignment_15_3_1() { return cScopeAssignment_15_3_1; } + + //Scope + public RuleCall getScopeScopeParserRuleCall_15_3_1_0() { return cScopeScopeParserRuleCall_15_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_15_4() { return cRightCurlyBracketKeyword_15_4; } + + //"}" + public Keyword getRightCurlyBracketKeyword_16() { return cRightCurlyBracketKeyword_16; } + } + + public class ExternalCallReturnParameterElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ExternalCallReturnParameter"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cExternalCallReturnParameterKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cNameEStringParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Keyword cDescriptionKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cDescriptionAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cDescriptionEStringParserRuleCall_4_0 = (RuleCall)cDescriptionAssignment_4.eContents().get(0); + private final Keyword cCharacterizationKeyword_5 = (Keyword)cGroup.eContents().get(5); + private final Assignment cCharacterizationAssignment_6 = (Assignment)cGroup.eContents().get(6); + private final RuleCall cCharacterizationCharacterizationTypeEnumRuleCall_6_0 = (RuleCall)cCharacterizationAssignment_6.eContents().get(0); + private final Keyword cBehaviorKeyword_7 = (Keyword)cGroup.eContents().get(7); + private final Assignment cBehaviorAssignment_8 = (Assignment)cGroup.eContents().get(8); + private final CrossReference cBehaviorServiceBehaviorAbstractionCrossReference_8_0 = (CrossReference)cBehaviorAssignment_8.eContents().get(0); + private final RuleCall cBehaviorServiceBehaviorAbstractionEStringParserRuleCall_8_0_1 = (RuleCall)cBehaviorServiceBehaviorAbstractionCrossReference_8_0.eContents().get(1); + private final Keyword cSignatureKeyword_9 = (Keyword)cGroup.eContents().get(9); + private final Assignment cSignatureAssignment_10 = (Assignment)cGroup.eContents().get(10); + private final CrossReference cSignatureSignatureCrossReference_10_0 = (CrossReference)cSignatureAssignment_10.eContents().get(0); + private final RuleCall cSignatureSignatureEStringParserRuleCall_10_0_1 = (RuleCall)cSignatureSignatureCrossReference_10_0.eContents().get(1); + private final Group cGroup_11 = (Group)cGroup.eContents().get(11); + private final Keyword cParameterKeyword_11_0 = (Keyword)cGroup_11.eContents().get(0); + private final Assignment cParameterAssignment_11_1 = (Assignment)cGroup_11.eContents().get(1); + private final CrossReference cParameterParameterCrossReference_11_1_0 = (CrossReference)cParameterAssignment_11_1.eContents().get(0); + private final RuleCall cParameterParameterEStringParserRuleCall_11_1_0_1 = (RuleCall)cParameterParameterCrossReference_11_1_0.eContents().get(1); + private final Group cGroup_12 = (Group)cGroup.eContents().get(12); + private final Keyword cReturnTypeKeyword_12_0 = (Keyword)cGroup_12.eContents().get(0); + private final Assignment cReturnTypeAssignment_12_1 = (Assignment)cGroup_12.eContents().get(1); + private final CrossReference cReturnTypeDataTypeCrossReference_12_1_0 = (CrossReference)cReturnTypeAssignment_12_1.eContents().get(0); + private final RuleCall cReturnTypeDataTypeEStringParserRuleCall_12_1_0_1 = (RuleCall)cReturnTypeDataTypeCrossReference_12_1_0.eContents().get(1); + private final Keyword cExternalCallKeyword_13 = (Keyword)cGroup.eContents().get(13); + private final Assignment cExternalCallAssignment_14 = (Assignment)cGroup.eContents().get(14); + private final CrossReference cExternalCallExternalCallCrossReference_14_0 = (CrossReference)cExternalCallAssignment_14.eContents().get(0); + private final RuleCall cExternalCallExternalCallEStringParserRuleCall_14_0_1 = (RuleCall)cExternalCallExternalCallCrossReference_14_0.eContents().get(1); + private final Group cGroup_15 = (Group)cGroup.eContents().get(15); + private final Keyword cScopeKeyword_15_0 = (Keyword)cGroup_15.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_15_1 = (Keyword)cGroup_15.eContents().get(1); + private final Assignment cScopeAssignment_15_2 = (Assignment)cGroup_15.eContents().get(2); + private final RuleCall cScopeScopeParserRuleCall_15_2_0 = (RuleCall)cScopeAssignment_15_2.eContents().get(0); + private final Group cGroup_15_3 = (Group)cGroup_15.eContents().get(3); + private final Keyword cCommaKeyword_15_3_0 = (Keyword)cGroup_15_3.eContents().get(0); + private final Assignment cScopeAssignment_15_3_1 = (Assignment)cGroup_15_3.eContents().get(1); + private final RuleCall cScopeScopeParserRuleCall_15_3_1_0 = (RuleCall)cScopeAssignment_15_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_15_4 = (Keyword)cGroup_15.eContents().get(4); + private final Keyword cRightCurlyBracketKeyword_16 = (Keyword)cGroup.eContents().get(16); + + //ExternalCallReturnParameter: + // "ExternalCallReturnParameter" name=EString "{" "description" description=EString "characterization" + // characterization=CharacterizationType "behavior" behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] + // "signature" signature=[repository::Signature|EString] ("parameter" parameter=[repository::Parameter|EString])? + // ("returnType" returnType=[repository::DataType|EString])? "externalCall" + // externalCall=[servicebehavior::ExternalCall|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}"; + public ParserRule getRule() { return rule; } + + //"ExternalCallReturnParameter" name=EString "{" "description" description=EString "characterization" + //characterization=CharacterizationType "behavior" behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] + //"signature" signature=[repository::Signature|EString] ("parameter" parameter=[repository::Parameter|EString])? + //("returnType" returnType=[repository::DataType|EString])? "externalCall" + //externalCall=[servicebehavior::ExternalCall|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}" + public Group getGroup() { return cGroup; } + + //"ExternalCallReturnParameter" + public Keyword getExternalCallReturnParameterKeyword_0() { return cExternalCallReturnParameterKeyword_0; } + + //name=EString + public Assignment getNameAssignment_1() { return cNameAssignment_1; } + + //EString + public RuleCall getNameEStringParserRuleCall_1_0() { return cNameEStringParserRuleCall_1_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //"description" + public Keyword getDescriptionKeyword_3() { return cDescriptionKeyword_3; } + + //description=EString + public Assignment getDescriptionAssignment_4() { return cDescriptionAssignment_4; } + + //EString + public RuleCall getDescriptionEStringParserRuleCall_4_0() { return cDescriptionEStringParserRuleCall_4_0; } + + //"characterization" + public Keyword getCharacterizationKeyword_5() { return cCharacterizationKeyword_5; } + + //characterization=CharacterizationType + public Assignment getCharacterizationAssignment_6() { return cCharacterizationAssignment_6; } + + //CharacterizationType + public RuleCall getCharacterizationCharacterizationTypeEnumRuleCall_6_0() { return cCharacterizationCharacterizationTypeEnumRuleCall_6_0; } + + //"behavior" + public Keyword getBehaviorKeyword_7() { return cBehaviorKeyword_7; } + + //behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] + public Assignment getBehaviorAssignment_8() { return cBehaviorAssignment_8; } + + //[servicebehavior::ServiceBehaviorAbstraction|EString] + public CrossReference getBehaviorServiceBehaviorAbstractionCrossReference_8_0() { return cBehaviorServiceBehaviorAbstractionCrossReference_8_0; } + + //EString + public RuleCall getBehaviorServiceBehaviorAbstractionEStringParserRuleCall_8_0_1() { return cBehaviorServiceBehaviorAbstractionEStringParserRuleCall_8_0_1; } + + //"signature" + public Keyword getSignatureKeyword_9() { return cSignatureKeyword_9; } + + //signature=[repository::Signature|EString] + public Assignment getSignatureAssignment_10() { return cSignatureAssignment_10; } + + //[repository::Signature|EString] + public CrossReference getSignatureSignatureCrossReference_10_0() { return cSignatureSignatureCrossReference_10_0; } + + //EString + public RuleCall getSignatureSignatureEStringParserRuleCall_10_0_1() { return cSignatureSignatureEStringParserRuleCall_10_0_1; } + + //("parameter" parameter=[repository::Parameter|EString])? + public Group getGroup_11() { return cGroup_11; } + + //"parameter" + public Keyword getParameterKeyword_11_0() { return cParameterKeyword_11_0; } + + //parameter=[repository::Parameter|EString] + public Assignment getParameterAssignment_11_1() { return cParameterAssignment_11_1; } + + //[repository::Parameter|EString] + public CrossReference getParameterParameterCrossReference_11_1_0() { return cParameterParameterCrossReference_11_1_0; } + + //EString + public RuleCall getParameterParameterEStringParserRuleCall_11_1_0_1() { return cParameterParameterEStringParserRuleCall_11_1_0_1; } + + //("returnType" returnType=[repository::DataType|EString])? + public Group getGroup_12() { return cGroup_12; } + + //"returnType" + public Keyword getReturnTypeKeyword_12_0() { return cReturnTypeKeyword_12_0; } + + //returnType=[repository::DataType|EString] + public Assignment getReturnTypeAssignment_12_1() { return cReturnTypeAssignment_12_1; } + + //[repository::DataType|EString] + public CrossReference getReturnTypeDataTypeCrossReference_12_1_0() { return cReturnTypeDataTypeCrossReference_12_1_0; } + + //EString + public RuleCall getReturnTypeDataTypeEStringParserRuleCall_12_1_0_1() { return cReturnTypeDataTypeEStringParserRuleCall_12_1_0_1; } + + //"externalCall" + public Keyword getExternalCallKeyword_13() { return cExternalCallKeyword_13; } + + //externalCall=[servicebehavior::ExternalCall|EString] + public Assignment getExternalCallAssignment_14() { return cExternalCallAssignment_14; } + + //[servicebehavior::ExternalCall|EString] + public CrossReference getExternalCallExternalCallCrossReference_14_0() { return cExternalCallExternalCallCrossReference_14_0; } + + //EString + public RuleCall getExternalCallExternalCallEStringParserRuleCall_14_0_1() { return cExternalCallExternalCallEStringParserRuleCall_14_0_1; } + + //("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? + public Group getGroup_15() { return cGroup_15; } + + //"scope" + public Keyword getScopeKeyword_15_0() { return cScopeKeyword_15_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_15_1() { return cLeftCurlyBracketKeyword_15_1; } + + //scope+=Scope + public Assignment getScopeAssignment_15_2() { return cScopeAssignment_15_2; } + + //Scope + public RuleCall getScopeScopeParserRuleCall_15_2_0() { return cScopeScopeParserRuleCall_15_2_0; } + + //("," scope+=Scope)* + public Group getGroup_15_3() { return cGroup_15_3; } + + //"," + public Keyword getCommaKeyword_15_3_0() { return cCommaKeyword_15_3_0; } + + //scope+=Scope + public Assignment getScopeAssignment_15_3_1() { return cScopeAssignment_15_3_1; } + + //Scope + public RuleCall getScopeScopeParserRuleCall_15_3_1_0() { return cScopeScopeParserRuleCall_15_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_15_4() { return cRightCurlyBracketKeyword_15_4; } + + //"}" + public Keyword getRightCurlyBracketKeyword_16() { return cRightCurlyBracketKeyword_16; } + } + + public class ExternalCallParameterElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ExternalCallParameter"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cExternalCallParameterKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cNameEStringParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Keyword cDescriptionKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cDescriptionAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cDescriptionEStringParserRuleCall_4_0 = (RuleCall)cDescriptionAssignment_4.eContents().get(0); + private final Keyword cCharacterizationKeyword_5 = (Keyword)cGroup.eContents().get(5); + private final Assignment cCharacterizationAssignment_6 = (Assignment)cGroup.eContents().get(6); + private final RuleCall cCharacterizationCharacterizationTypeEnumRuleCall_6_0 = (RuleCall)cCharacterizationAssignment_6.eContents().get(0); + private final Keyword cBehaviorKeyword_7 = (Keyword)cGroup.eContents().get(7); + private final Assignment cBehaviorAssignment_8 = (Assignment)cGroup.eContents().get(8); + private final CrossReference cBehaviorServiceBehaviorAbstractionCrossReference_8_0 = (CrossReference)cBehaviorAssignment_8.eContents().get(0); + private final RuleCall cBehaviorServiceBehaviorAbstractionEStringParserRuleCall_8_0_1 = (RuleCall)cBehaviorServiceBehaviorAbstractionCrossReference_8_0.eContents().get(1); + private final Keyword cSignatureKeyword_9 = (Keyword)cGroup.eContents().get(9); + private final Assignment cSignatureAssignment_10 = (Assignment)cGroup.eContents().get(10); + private final CrossReference cSignatureSignatureCrossReference_10_0 = (CrossReference)cSignatureAssignment_10.eContents().get(0); + private final RuleCall cSignatureSignatureEStringParserRuleCall_10_0_1 = (RuleCall)cSignatureSignatureCrossReference_10_0.eContents().get(1); + private final Group cGroup_11 = (Group)cGroup.eContents().get(11); + private final Keyword cParameterKeyword_11_0 = (Keyword)cGroup_11.eContents().get(0); + private final Assignment cParameterAssignment_11_1 = (Assignment)cGroup_11.eContents().get(1); + private final CrossReference cParameterParameterCrossReference_11_1_0 = (CrossReference)cParameterAssignment_11_1.eContents().get(0); + private final RuleCall cParameterParameterEStringParserRuleCall_11_1_0_1 = (RuleCall)cParameterParameterCrossReference_11_1_0.eContents().get(1); + private final Group cGroup_12 = (Group)cGroup.eContents().get(12); + private final Keyword cReturnTypeKeyword_12_0 = (Keyword)cGroup_12.eContents().get(0); + private final Assignment cReturnTypeAssignment_12_1 = (Assignment)cGroup_12.eContents().get(1); + private final CrossReference cReturnTypeDataTypeCrossReference_12_1_0 = (CrossReference)cReturnTypeAssignment_12_1.eContents().get(0); + private final RuleCall cReturnTypeDataTypeEStringParserRuleCall_12_1_0_1 = (RuleCall)cReturnTypeDataTypeCrossReference_12_1_0.eContents().get(1); + private final Keyword cExternallCallKeyword_13 = (Keyword)cGroup.eContents().get(13); + private final Assignment cExternallCallAssignment_14 = (Assignment)cGroup.eContents().get(14); + private final CrossReference cExternallCallExternalCallCrossReference_14_0 = (CrossReference)cExternallCallAssignment_14.eContents().get(0); + private final RuleCall cExternallCallExternalCallEStringParserRuleCall_14_0_1 = (RuleCall)cExternallCallExternalCallCrossReference_14_0.eContents().get(1); + private final Group cGroup_15 = (Group)cGroup.eContents().get(15); + private final Keyword cScopeKeyword_15_0 = (Keyword)cGroup_15.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_15_1 = (Keyword)cGroup_15.eContents().get(1); + private final Assignment cScopeAssignment_15_2 = (Assignment)cGroup_15.eContents().get(2); + private final RuleCall cScopeScopeParserRuleCall_15_2_0 = (RuleCall)cScopeAssignment_15_2.eContents().get(0); + private final Group cGroup_15_3 = (Group)cGroup_15.eContents().get(3); + private final Keyword cCommaKeyword_15_3_0 = (Keyword)cGroup_15_3.eContents().get(0); + private final Assignment cScopeAssignment_15_3_1 = (Assignment)cGroup_15_3.eContents().get(1); + private final RuleCall cScopeScopeParserRuleCall_15_3_1_0 = (RuleCall)cScopeAssignment_15_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_15_4 = (Keyword)cGroup_15.eContents().get(4); + private final Keyword cRightCurlyBracketKeyword_16 = (Keyword)cGroup.eContents().get(16); + + //ExternalCallParameter: + // "ExternalCallParameter" name=EString "{" "description" description=EString "characterization" + // characterization=CharacterizationType "behavior" behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] + // "signature" signature=[repository::Signature|EString] ("parameter" parameter=[repository::Parameter|EString])? + // ("returnType" returnType=[repository::DataType|EString])? "externallCall" + // externallCall=[servicebehavior::ExternalCall|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}"; + public ParserRule getRule() { return rule; } + + //"ExternalCallParameter" name=EString "{" "description" description=EString "characterization" + //characterization=CharacterizationType "behavior" behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] + //"signature" signature=[repository::Signature|EString] ("parameter" parameter=[repository::Parameter|EString])? + //("returnType" returnType=[repository::DataType|EString])? "externallCall" + //externallCall=[servicebehavior::ExternalCall|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}" + public Group getGroup() { return cGroup; } + + //"ExternalCallParameter" + public Keyword getExternalCallParameterKeyword_0() { return cExternalCallParameterKeyword_0; } + + //name=EString + public Assignment getNameAssignment_1() { return cNameAssignment_1; } + + //EString + public RuleCall getNameEStringParserRuleCall_1_0() { return cNameEStringParserRuleCall_1_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //"description" + public Keyword getDescriptionKeyword_3() { return cDescriptionKeyword_3; } + + //description=EString + public Assignment getDescriptionAssignment_4() { return cDescriptionAssignment_4; } + + //EString + public RuleCall getDescriptionEStringParserRuleCall_4_0() { return cDescriptionEStringParserRuleCall_4_0; } + + //"characterization" + public Keyword getCharacterizationKeyword_5() { return cCharacterizationKeyword_5; } + + //characterization=CharacterizationType + public Assignment getCharacterizationAssignment_6() { return cCharacterizationAssignment_6; } + + //CharacterizationType + public RuleCall getCharacterizationCharacterizationTypeEnumRuleCall_6_0() { return cCharacterizationCharacterizationTypeEnumRuleCall_6_0; } + + //"behavior" + public Keyword getBehaviorKeyword_7() { return cBehaviorKeyword_7; } + + //behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] + public Assignment getBehaviorAssignment_8() { return cBehaviorAssignment_8; } + + //[servicebehavior::ServiceBehaviorAbstraction|EString] + public CrossReference getBehaviorServiceBehaviorAbstractionCrossReference_8_0() { return cBehaviorServiceBehaviorAbstractionCrossReference_8_0; } + + //EString + public RuleCall getBehaviorServiceBehaviorAbstractionEStringParserRuleCall_8_0_1() { return cBehaviorServiceBehaviorAbstractionEStringParserRuleCall_8_0_1; } + + //"signature" + public Keyword getSignatureKeyword_9() { return cSignatureKeyword_9; } + + //signature=[repository::Signature|EString] + public Assignment getSignatureAssignment_10() { return cSignatureAssignment_10; } + + //[repository::Signature|EString] + public CrossReference getSignatureSignatureCrossReference_10_0() { return cSignatureSignatureCrossReference_10_0; } + + //EString + public RuleCall getSignatureSignatureEStringParserRuleCall_10_0_1() { return cSignatureSignatureEStringParserRuleCall_10_0_1; } + + //("parameter" parameter=[repository::Parameter|EString])? + public Group getGroup_11() { return cGroup_11; } + + //"parameter" + public Keyword getParameterKeyword_11_0() { return cParameterKeyword_11_0; } + + //parameter=[repository::Parameter|EString] + public Assignment getParameterAssignment_11_1() { return cParameterAssignment_11_1; } + + //[repository::Parameter|EString] + public CrossReference getParameterParameterCrossReference_11_1_0() { return cParameterParameterCrossReference_11_1_0; } + + //EString + public RuleCall getParameterParameterEStringParserRuleCall_11_1_0_1() { return cParameterParameterEStringParserRuleCall_11_1_0_1; } + + //("returnType" returnType=[repository::DataType|EString])? + public Group getGroup_12() { return cGroup_12; } + + //"returnType" + public Keyword getReturnTypeKeyword_12_0() { return cReturnTypeKeyword_12_0; } + + //returnType=[repository::DataType|EString] + public Assignment getReturnTypeAssignment_12_1() { return cReturnTypeAssignment_12_1; } + + //[repository::DataType|EString] + public CrossReference getReturnTypeDataTypeCrossReference_12_1_0() { return cReturnTypeDataTypeCrossReference_12_1_0; } + + //EString + public RuleCall getReturnTypeDataTypeEStringParserRuleCall_12_1_0_1() { return cReturnTypeDataTypeEStringParserRuleCall_12_1_0_1; } + + //"externallCall" + public Keyword getExternallCallKeyword_13() { return cExternallCallKeyword_13; } + + //externallCall=[servicebehavior::ExternalCall|EString] + public Assignment getExternallCallAssignment_14() { return cExternallCallAssignment_14; } + + //[servicebehavior::ExternalCall|EString] + public CrossReference getExternallCallExternalCallCrossReference_14_0() { return cExternallCallExternalCallCrossReference_14_0; } + + //EString + public RuleCall getExternallCallExternalCallEStringParserRuleCall_14_0_1() { return cExternallCallExternalCallEStringParserRuleCall_14_0_1; } + + //("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? + public Group getGroup_15() { return cGroup_15; } + + //"scope" + public Keyword getScopeKeyword_15_0() { return cScopeKeyword_15_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_15_1() { return cLeftCurlyBracketKeyword_15_1; } + + //scope+=Scope + public Assignment getScopeAssignment_15_2() { return cScopeAssignment_15_2; } + + //Scope + public RuleCall getScopeScopeParserRuleCall_15_2_0() { return cScopeScopeParserRuleCall_15_2_0; } + + //("," scope+=Scope)* + public Group getGroup_15_3() { return cGroup_15_3; } + + //"," + public Keyword getCommaKeyword_15_3_0() { return cCommaKeyword_15_3_0; } + + //scope+=Scope + public Assignment getScopeAssignment_15_3_1() { return cScopeAssignment_15_3_1; } + + //Scope + public RuleCall getScopeScopeParserRuleCall_15_3_1_0() { return cScopeScopeParserRuleCall_15_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_15_4() { return cRightCurlyBracketKeyword_15_4; } + + //"}" + public Keyword getRightCurlyBracketKeyword_16() { return cRightCurlyBracketKeyword_16; } + } + + public class FineGrainedBehaviorElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "FineGrainedBehavior"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cFineGrainedBehaviorKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Group cGroup_2 = (Group)cGroup.eContents().get(2); + private final Keyword cDescribedSignatureKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); + private final Assignment cDescribedSignatureAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); + private final CrossReference cDescribedSignatureSignatureCrossReference_2_1_0 = (CrossReference)cDescribedSignatureAssignment_2_1.eContents().get(0); + private final RuleCall cDescribedSignatureSignatureEStringParserRuleCall_2_1_0_1 = (RuleCall)cDescribedSignatureSignatureCrossReference_2_1_0.eContents().get(1); + private final Keyword cBasicComponentKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cBasicComponentAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final CrossReference cBasicComponentBasicComponentCrossReference_4_0 = (CrossReference)cBasicComponentAssignment_4.eContents().get(0); + private final RuleCall cBasicComponentBasicComponentEStringParserRuleCall_4_0_1 = (RuleCall)cBasicComponentBasicComponentCrossReference_4_0.eContents().get(1); + private final Group cGroup_5 = (Group)cGroup.eContents().get(5); + private final Keyword cInfluencingParameterKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1); + private final Assignment cInfluencingParameterAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2); + private final RuleCall cInfluencingParameterInfluencingParameterParserRuleCall_5_2_0 = (RuleCall)cInfluencingParameterAssignment_5_2.eContents().get(0); + private final Group cGroup_5_3 = (Group)cGroup_5.eContents().get(3); + private final Keyword cCommaKeyword_5_3_0 = (Keyword)cGroup_5_3.eContents().get(0); + private final Assignment cInfluencingParameterAssignment_5_3_1 = (Assignment)cGroup_5_3.eContents().get(1); + private final RuleCall cInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0 = (RuleCall)cInfluencingParameterAssignment_5_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4); + private final Group cGroup_6 = (Group)cGroup.eContents().get(6); + private final Keyword cActionsKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1); + private final Assignment cActionsAssignment_6_2 = (Assignment)cGroup_6.eContents().get(2); + private final RuleCall cActionsAbstractActionParserRuleCall_6_2_0 = (RuleCall)cActionsAssignment_6_2.eContents().get(0); + private final Group cGroup_6_3 = (Group)cGroup_6.eContents().get(3); + private final Keyword cCommaKeyword_6_3_0 = (Keyword)cGroup_6_3.eContents().get(0); + private final Assignment cActionsAssignment_6_3_1 = (Assignment)cGroup_6_3.eContents().get(1); + private final RuleCall cActionsAbstractActionParserRuleCall_6_3_1_0 = (RuleCall)cActionsAssignment_6_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_6_4 = (Keyword)cGroup_6.eContents().get(4); + private final Keyword cBehaviorKeyword_7 = (Keyword)cGroup.eContents().get(7); + private final Assignment cBehaviorAssignment_8 = (Assignment)cGroup.eContents().get(8); + private final RuleCall cBehaviorComponentInternalBehaviorParserRuleCall_8_0 = (RuleCall)cBehaviorAssignment_8.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_9 = (Keyword)cGroup.eContents().get(9); + + //FineGrainedBehavior returns servicebehavior::FineGrainedBehavior: + // "FineGrainedBehavior" "{" ("describedSignature" describedSignature=[repository::Signature|EString])? "basicComponent" + // basicComponent=[repository::BasicComponent|EString] ("influencingParameter" "{" + // influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* "}")? ("actions" "{" + // actions+=AbstractAction ("," actions+=AbstractAction)* "}")? "behavior" behavior=ComponentInternalBehavior "}"; + public ParserRule getRule() { return rule; } + + //"FineGrainedBehavior" "{" ("describedSignature" describedSignature=[repository::Signature|EString])? "basicComponent" + //basicComponent=[repository::BasicComponent|EString] ("influencingParameter" "{" + //influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* "}")? ("actions" "{" + //actions+=AbstractAction ("," actions+=AbstractAction)* "}")? "behavior" behavior=ComponentInternalBehavior "}" + public Group getGroup() { return cGroup; } + + //"FineGrainedBehavior" + public Keyword getFineGrainedBehaviorKeyword_0() { return cFineGrainedBehaviorKeyword_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } + + //("describedSignature" describedSignature=[repository::Signature|EString])? + public Group getGroup_2() { return cGroup_2; } + + //"describedSignature" + public Keyword getDescribedSignatureKeyword_2_0() { return cDescribedSignatureKeyword_2_0; } + + //describedSignature=[repository::Signature|EString] + public Assignment getDescribedSignatureAssignment_2_1() { return cDescribedSignatureAssignment_2_1; } + + //[repository::Signature|EString] + public CrossReference getDescribedSignatureSignatureCrossReference_2_1_0() { return cDescribedSignatureSignatureCrossReference_2_1_0; } + + //EString + public RuleCall getDescribedSignatureSignatureEStringParserRuleCall_2_1_0_1() { return cDescribedSignatureSignatureEStringParserRuleCall_2_1_0_1; } + + //"basicComponent" + public Keyword getBasicComponentKeyword_3() { return cBasicComponentKeyword_3; } + + //basicComponent=[repository::BasicComponent|EString] + public Assignment getBasicComponentAssignment_4() { return cBasicComponentAssignment_4; } + + //[repository::BasicComponent|EString] + public CrossReference getBasicComponentBasicComponentCrossReference_4_0() { return cBasicComponentBasicComponentCrossReference_4_0; } + + //EString + public RuleCall getBasicComponentBasicComponentEStringParserRuleCall_4_0_1() { return cBasicComponentBasicComponentEStringParserRuleCall_4_0_1; } + + //("influencingParameter" "{" influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* + //"}")? + public Group getGroup_5() { return cGroup_5; } + + //"influencingParameter" + public Keyword getInfluencingParameterKeyword_5_0() { return cInfluencingParameterKeyword_5_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_5_1() { return cLeftCurlyBracketKeyword_5_1; } + + //influencingParameter+=InfluencingParameter + public Assignment getInfluencingParameterAssignment_5_2() { return cInfluencingParameterAssignment_5_2; } + + //InfluencingParameter + public RuleCall getInfluencingParameterInfluencingParameterParserRuleCall_5_2_0() { return cInfluencingParameterInfluencingParameterParserRuleCall_5_2_0; } + + //("," influencingParameter+=InfluencingParameter)* + public Group getGroup_5_3() { return cGroup_5_3; } + + //"," + public Keyword getCommaKeyword_5_3_0() { return cCommaKeyword_5_3_0; } + + //influencingParameter+=InfluencingParameter + public Assignment getInfluencingParameterAssignment_5_3_1() { return cInfluencingParameterAssignment_5_3_1; } + + //InfluencingParameter + public RuleCall getInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0() { return cInfluencingParameterInfluencingParameterParserRuleCall_5_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_5_4() { return cRightCurlyBracketKeyword_5_4; } + + //("actions" "{" actions+=AbstractAction ("," actions+=AbstractAction)* "}")? + public Group getGroup_6() { return cGroup_6; } + + //"actions" + public Keyword getActionsKeyword_6_0() { return cActionsKeyword_6_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_6_1() { return cLeftCurlyBracketKeyword_6_1; } + + //actions+=AbstractAction + public Assignment getActionsAssignment_6_2() { return cActionsAssignment_6_2; } + + //AbstractAction + public RuleCall getActionsAbstractActionParserRuleCall_6_2_0() { return cActionsAbstractActionParserRuleCall_6_2_0; } + + //("," actions+=AbstractAction)* + public Group getGroup_6_3() { return cGroup_6_3; } + + //"," + public Keyword getCommaKeyword_6_3_0() { return cCommaKeyword_6_3_0; } + + //actions+=AbstractAction + public Assignment getActionsAssignment_6_3_1() { return cActionsAssignment_6_3_1; } + + //AbstractAction + public RuleCall getActionsAbstractActionParserRuleCall_6_3_1_0() { return cActionsAbstractActionParserRuleCall_6_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_6_4() { return cRightCurlyBracketKeyword_6_4; } + + //"behavior" + public Keyword getBehaviorKeyword_7() { return cBehaviorKeyword_7; } + + //behavior=ComponentInternalBehavior + public Assignment getBehaviorAssignment_8() { return cBehaviorAssignment_8; } + + //ComponentInternalBehavior + public RuleCall getBehaviorComponentInternalBehaviorParserRuleCall_8_0() { return cBehaviorComponentInternalBehaviorParserRuleCall_8_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_9() { return cRightCurlyBracketKeyword_9; } + } + + public class AbstractAction_ImplElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AbstractAction_Impl"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cAbstractActionAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cAbstractActionKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Group cGroup_3 = (Group)cGroup.eContents().get(3); + private final Keyword cPredecessorKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); + private final Assignment cPredecessorAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); + private final CrossReference cPredecessorAbstractActionCrossReference_3_1_0 = (CrossReference)cPredecessorAssignment_3_1.eContents().get(0); + private final RuleCall cPredecessorAbstractActionEStringParserRuleCall_3_1_0_1 = (RuleCall)cPredecessorAbstractActionCrossReference_3_1_0.eContents().get(1); + private final Group cGroup_4 = (Group)cGroup.eContents().get(4); + private final Keyword cSuccessorKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); + private final Assignment cSuccessorAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); + private final CrossReference cSuccessorAbstractActionCrossReference_4_1_0 = (CrossReference)cSuccessorAssignment_4_1.eContents().get(0); + private final RuleCall cSuccessorAbstractActionEStringParserRuleCall_4_1_0_1 = (RuleCall)cSuccessorAbstractActionCrossReference_4_1_0.eContents().get(1); + private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); + + //AbstractAction_Impl returns servicebehavior::AbstractAction: + // {servicebehavior::AbstractAction} "AbstractAction" "{" ("predecessor" + // predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + // successor=[servicebehavior::AbstractAction|EString])? "}"; + public ParserRule getRule() { return rule; } + + //{servicebehavior::AbstractAction} "AbstractAction" "{" ("predecessor" + //predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + //successor=[servicebehavior::AbstractAction|EString])? "}" + public Group getGroup() { return cGroup; } + + //{servicebehavior::AbstractAction} + public Action getAbstractActionAction_0() { return cAbstractActionAction_0; } + + //"AbstractAction" + public Keyword getAbstractActionKeyword_1() { return cAbstractActionKeyword_1; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? + public Group getGroup_3() { return cGroup_3; } + + //"predecessor" + public Keyword getPredecessorKeyword_3_0() { return cPredecessorKeyword_3_0; } + + //predecessor=[servicebehavior::AbstractAction|EString] + public Assignment getPredecessorAssignment_3_1() { return cPredecessorAssignment_3_1; } + + //[servicebehavior::AbstractAction|EString] + public CrossReference getPredecessorAbstractActionCrossReference_3_1_0() { return cPredecessorAbstractActionCrossReference_3_1_0; } + + //EString + public RuleCall getPredecessorAbstractActionEStringParserRuleCall_3_1_0_1() { return cPredecessorAbstractActionEStringParserRuleCall_3_1_0_1; } + + //("successor" successor=[servicebehavior::AbstractAction|EString])? + public Group getGroup_4() { return cGroup_4; } + + //"successor" + public Keyword getSuccessorKeyword_4_0() { return cSuccessorKeyword_4_0; } + + //successor=[servicebehavior::AbstractAction|EString] + public Assignment getSuccessorAssignment_4_1() { return cSuccessorAssignment_4_1; } + + //[servicebehavior::AbstractAction|EString] + public CrossReference getSuccessorAbstractActionCrossReference_4_1_0() { return cSuccessorAbstractActionCrossReference_4_1_0; } + + //EString + public RuleCall getSuccessorAbstractActionEStringParserRuleCall_4_1_0_1() { return cSuccessorAbstractActionEStringParserRuleCall_4_1_0_1; } + + //"}" + public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; } + } + + public class ComponentInternalBehavior_ImplElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ComponentInternalBehavior_Impl"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cComponentInternalBehaviorAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cComponentInternalBehaviorKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Group cGroup_3 = (Group)cGroup.eContents().get(3); + private final Keyword cActionsKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1); + private final Assignment cActionsAssignment_3_2 = (Assignment)cGroup_3.eContents().get(2); + private final RuleCall cActionsAbstractActionParserRuleCall_3_2_0 = (RuleCall)cActionsAssignment_3_2.eContents().get(0); + private final Group cGroup_3_3 = (Group)cGroup_3.eContents().get(3); + private final Keyword cCommaKeyword_3_3_0 = (Keyword)cGroup_3_3.eContents().get(0); + private final Assignment cActionsAssignment_3_3_1 = (Assignment)cGroup_3_3.eContents().get(1); + private final RuleCall cActionsAbstractActionParserRuleCall_3_3_1_0 = (RuleCall)cActionsAssignment_3_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_3_4 = (Keyword)cGroup_3.eContents().get(4); + private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); + + //ComponentInternalBehavior_Impl returns servicebehavior::ComponentInternalBehavior: + // {servicebehavior::ComponentInternalBehavior} "ComponentInternalBehavior" "{" ("actions" "{" actions+=AbstractAction + // ("," actions+=AbstractAction)* "}")? "}"; + public ParserRule getRule() { return rule; } + + //{servicebehavior::ComponentInternalBehavior} "ComponentInternalBehavior" "{" ("actions" "{" actions+=AbstractAction ("," + //actions+=AbstractAction)* "}")? "}" + public Group getGroup() { return cGroup; } + + //{servicebehavior::ComponentInternalBehavior} + public Action getComponentInternalBehaviorAction_0() { return cComponentInternalBehaviorAction_0; } + + //"ComponentInternalBehavior" + public Keyword getComponentInternalBehaviorKeyword_1() { return cComponentInternalBehaviorKeyword_1; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //("actions" "{" actions+=AbstractAction ("," actions+=AbstractAction)* "}")? + public Group getGroup_3() { return cGroup_3; } + + //"actions" + public Keyword getActionsKeyword_3_0() { return cActionsKeyword_3_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_3_1() { return cLeftCurlyBracketKeyword_3_1; } + + //actions+=AbstractAction + public Assignment getActionsAssignment_3_2() { return cActionsAssignment_3_2; } + + //AbstractAction + public RuleCall getActionsAbstractActionParserRuleCall_3_2_0() { return cActionsAbstractActionParserRuleCall_3_2_0; } + + //("," actions+=AbstractAction)* + public Group getGroup_3_3() { return cGroup_3_3; } + + //"," + public Keyword getCommaKeyword_3_3_0() { return cCommaKeyword_3_3_0; } + + //actions+=AbstractAction + public Assignment getActionsAssignment_3_3_1() { return cActionsAssignment_3_3_1; } + + //AbstractAction + public RuleCall getActionsAbstractActionParserRuleCall_3_3_1_0() { return cActionsAbstractActionParserRuleCall_3_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_3_4() { return cRightCurlyBracketKeyword_3_4; } + + //"}" + public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; } + } + + public class StartActionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StartAction"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cStartActionAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cStartActionKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Group cGroup_3 = (Group)cGroup.eContents().get(3); + private final Keyword cPredecessorKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); + private final Assignment cPredecessorAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); + private final CrossReference cPredecessorAbstractActionCrossReference_3_1_0 = (CrossReference)cPredecessorAssignment_3_1.eContents().get(0); + private final RuleCall cPredecessorAbstractActionEStringParserRuleCall_3_1_0_1 = (RuleCall)cPredecessorAbstractActionCrossReference_3_1_0.eContents().get(1); + private final Group cGroup_4 = (Group)cGroup.eContents().get(4); + private final Keyword cSuccessorKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); + private final Assignment cSuccessorAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); + private final CrossReference cSuccessorAbstractActionCrossReference_4_1_0 = (CrossReference)cSuccessorAssignment_4_1.eContents().get(0); + private final RuleCall cSuccessorAbstractActionEStringParserRuleCall_4_1_0_1 = (RuleCall)cSuccessorAbstractActionCrossReference_4_1_0.eContents().get(1); + private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); + + //StartAction returns servicebehavior::StartAction: + // {servicebehavior::StartAction} "StartAction" "{" ("predecessor" + // predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + // successor=[servicebehavior::AbstractAction|EString])? "}"; + public ParserRule getRule() { return rule; } + + //{servicebehavior::StartAction} "StartAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? + //("successor" successor=[servicebehavior::AbstractAction|EString])? "}" + public Group getGroup() { return cGroup; } + + //{servicebehavior::StartAction} + public Action getStartActionAction_0() { return cStartActionAction_0; } + + //"StartAction" + public Keyword getStartActionKeyword_1() { return cStartActionKeyword_1; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? + public Group getGroup_3() { return cGroup_3; } + + //"predecessor" + public Keyword getPredecessorKeyword_3_0() { return cPredecessorKeyword_3_0; } + + //predecessor=[servicebehavior::AbstractAction|EString] + public Assignment getPredecessorAssignment_3_1() { return cPredecessorAssignment_3_1; } + + //[servicebehavior::AbstractAction|EString] + public CrossReference getPredecessorAbstractActionCrossReference_3_1_0() { return cPredecessorAbstractActionCrossReference_3_1_0; } + + //EString + public RuleCall getPredecessorAbstractActionEStringParserRuleCall_3_1_0_1() { return cPredecessorAbstractActionEStringParserRuleCall_3_1_0_1; } + + //("successor" successor=[servicebehavior::AbstractAction|EString])? + public Group getGroup_4() { return cGroup_4; } + + //"successor" + public Keyword getSuccessorKeyword_4_0() { return cSuccessorKeyword_4_0; } + + //successor=[servicebehavior::AbstractAction|EString] + public Assignment getSuccessorAssignment_4_1() { return cSuccessorAssignment_4_1; } + + //[servicebehavior::AbstractAction|EString] + public CrossReference getSuccessorAbstractActionCrossReference_4_1_0() { return cSuccessorAbstractActionCrossReference_4_1_0; } + + //EString + public RuleCall getSuccessorAbstractActionEStringParserRuleCall_4_1_0_1() { return cSuccessorAbstractActionEStringParserRuleCall_4_1_0_1; } + + //"}" + public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; } + } + + public class StopActionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StopAction"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cStopActionAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cStopActionKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Group cGroup_3 = (Group)cGroup.eContents().get(3); + private final Keyword cPredecessorKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); + private final Assignment cPredecessorAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); + private final CrossReference cPredecessorAbstractActionCrossReference_3_1_0 = (CrossReference)cPredecessorAssignment_3_1.eContents().get(0); + private final RuleCall cPredecessorAbstractActionEStringParserRuleCall_3_1_0_1 = (RuleCall)cPredecessorAbstractActionCrossReference_3_1_0.eContents().get(1); + private final Group cGroup_4 = (Group)cGroup.eContents().get(4); + private final Keyword cSuccessorKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); + private final Assignment cSuccessorAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); + private final CrossReference cSuccessorAbstractActionCrossReference_4_1_0 = (CrossReference)cSuccessorAssignment_4_1.eContents().get(0); + private final RuleCall cSuccessorAbstractActionEStringParserRuleCall_4_1_0_1 = (RuleCall)cSuccessorAbstractActionCrossReference_4_1_0.eContents().get(1); + private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); + + //StopAction returns servicebehavior::StopAction: + // {servicebehavior::StopAction} "StopAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? + // ("successor" successor=[servicebehavior::AbstractAction|EString])? "}"; + public ParserRule getRule() { return rule; } + + //{servicebehavior::StopAction} "StopAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? + //("successor" successor=[servicebehavior::AbstractAction|EString])? "}" + public Group getGroup() { return cGroup; } + + //{servicebehavior::StopAction} + public Action getStopActionAction_0() { return cStopActionAction_0; } + + //"StopAction" + public Keyword getStopActionKeyword_1() { return cStopActionKeyword_1; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? + public Group getGroup_3() { return cGroup_3; } + + //"predecessor" + public Keyword getPredecessorKeyword_3_0() { return cPredecessorKeyword_3_0; } + + //predecessor=[servicebehavior::AbstractAction|EString] + public Assignment getPredecessorAssignment_3_1() { return cPredecessorAssignment_3_1; } + + //[servicebehavior::AbstractAction|EString] + public CrossReference getPredecessorAbstractActionCrossReference_3_1_0() { return cPredecessorAbstractActionCrossReference_3_1_0; } + + //EString + public RuleCall getPredecessorAbstractActionEStringParserRuleCall_3_1_0_1() { return cPredecessorAbstractActionEStringParserRuleCall_3_1_0_1; } + + //("successor" successor=[servicebehavior::AbstractAction|EString])? + public Group getGroup_4() { return cGroup_4; } + + //"successor" + public Keyword getSuccessorKeyword_4_0() { return cSuccessorKeyword_4_0; } + + //successor=[servicebehavior::AbstractAction|EString] + public Assignment getSuccessorAssignment_4_1() { return cSuccessorAssignment_4_1; } + + //[servicebehavior::AbstractAction|EString] + public CrossReference getSuccessorAbstractActionCrossReference_4_1_0() { return cSuccessorAbstractActionCrossReference_4_1_0; } + + //EString + public RuleCall getSuccessorAbstractActionEStringParserRuleCall_4_1_0_1() { return cSuccessorAbstractActionEStringParserRuleCall_4_1_0_1; } + + //"}" + public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; } + } + + public class AcquireActionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AcquireAction"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cAcquireActionKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Group cGroup_2 = (Group)cGroup.eContents().get(2); + private final Keyword cPredecessorKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); + private final Assignment cPredecessorAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); + private final CrossReference cPredecessorAbstractActionCrossReference_2_1_0 = (CrossReference)cPredecessorAssignment_2_1.eContents().get(0); + private final RuleCall cPredecessorAbstractActionEStringParserRuleCall_2_1_0_1 = (RuleCall)cPredecessorAbstractActionCrossReference_2_1_0.eContents().get(1); + private final Group cGroup_3 = (Group)cGroup.eContents().get(3); + private final Keyword cSuccessorKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); + private final Assignment cSuccessorAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); + private final CrossReference cSuccessorAbstractActionCrossReference_3_1_0 = (CrossReference)cSuccessorAssignment_3_1.eContents().get(0); + private final RuleCall cSuccessorAbstractActionEStringParserRuleCall_3_1_0_1 = (RuleCall)cSuccessorAbstractActionCrossReference_3_1_0.eContents().get(1); + private final Keyword cPassiveResourceKeyword_4 = (Keyword)cGroup.eContents().get(4); + private final Assignment cPassiveResourceAssignment_5 = (Assignment)cGroup.eContents().get(5); + private final CrossReference cPassiveResourcePassiveResourceSpecificationCrossReference_5_0 = (CrossReference)cPassiveResourceAssignment_5.eContents().get(0); + private final RuleCall cPassiveResourcePassiveResourceSpecificationEStringParserRuleCall_5_0_1 = (RuleCall)cPassiveResourcePassiveResourceSpecificationCrossReference_5_0.eContents().get(1); + private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); + + //AcquireAction returns servicebehavior::AcquireAction: + // "AcquireAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + // successor=[servicebehavior::AbstractAction|EString])? "passiveResource" + // passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString] "}"; + public ParserRule getRule() { return rule; } + + //"AcquireAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + //successor=[servicebehavior::AbstractAction|EString])? "passiveResource" + //passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString] "}" + public Group getGroup() { return cGroup; } + + //"AcquireAction" + public Keyword getAcquireActionKeyword_0() { return cAcquireActionKeyword_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } + + //("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? + public Group getGroup_2() { return cGroup_2; } + + //"predecessor" + public Keyword getPredecessorKeyword_2_0() { return cPredecessorKeyword_2_0; } + + //predecessor=[servicebehavior::AbstractAction|EString] + public Assignment getPredecessorAssignment_2_1() { return cPredecessorAssignment_2_1; } + + //[servicebehavior::AbstractAction|EString] + public CrossReference getPredecessorAbstractActionCrossReference_2_1_0() { return cPredecessorAbstractActionCrossReference_2_1_0; } + + //EString + public RuleCall getPredecessorAbstractActionEStringParserRuleCall_2_1_0_1() { return cPredecessorAbstractActionEStringParserRuleCall_2_1_0_1; } + + //("successor" successor=[servicebehavior::AbstractAction|EString])? + public Group getGroup_3() { return cGroup_3; } + + //"successor" + public Keyword getSuccessorKeyword_3_0() { return cSuccessorKeyword_3_0; } + + //successor=[servicebehavior::AbstractAction|EString] + public Assignment getSuccessorAssignment_3_1() { return cSuccessorAssignment_3_1; } + + //[servicebehavior::AbstractAction|EString] + public CrossReference getSuccessorAbstractActionCrossReference_3_1_0() { return cSuccessorAbstractActionCrossReference_3_1_0; } + + //EString + public RuleCall getSuccessorAbstractActionEStringParserRuleCall_3_1_0_1() { return cSuccessorAbstractActionEStringParserRuleCall_3_1_0_1; } + + //"passiveResource" + public Keyword getPassiveResourceKeyword_4() { return cPassiveResourceKeyword_4; } + + //passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString] + public Assignment getPassiveResourceAssignment_5() { return cPassiveResourceAssignment_5; } + + //[resourceconfiguration::PassiveResourceSpecification|EString] + public CrossReference getPassiveResourcePassiveResourceSpecificationCrossReference_5_0() { return cPassiveResourcePassiveResourceSpecificationCrossReference_5_0; } + + //EString + public RuleCall getPassiveResourcePassiveResourceSpecificationEStringParserRuleCall_5_0_1() { return cPassiveResourcePassiveResourceSpecificationEStringParserRuleCall_5_0_1; } + + //"}" + public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } + } + + public class ReleaseActionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ReleaseAction"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cReleaseActionKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Group cGroup_2 = (Group)cGroup.eContents().get(2); + private final Keyword cPredecessorKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); + private final Assignment cPredecessorAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); + private final CrossReference cPredecessorAbstractActionCrossReference_2_1_0 = (CrossReference)cPredecessorAssignment_2_1.eContents().get(0); + private final RuleCall cPredecessorAbstractActionEStringParserRuleCall_2_1_0_1 = (RuleCall)cPredecessorAbstractActionCrossReference_2_1_0.eContents().get(1); + private final Group cGroup_3 = (Group)cGroup.eContents().get(3); + private final Keyword cSuccessorKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); + private final Assignment cSuccessorAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); + private final CrossReference cSuccessorAbstractActionCrossReference_3_1_0 = (CrossReference)cSuccessorAssignment_3_1.eContents().get(0); + private final RuleCall cSuccessorAbstractActionEStringParserRuleCall_3_1_0_1 = (RuleCall)cSuccessorAbstractActionCrossReference_3_1_0.eContents().get(1); + private final Keyword cPassiveResourceKeyword_4 = (Keyword)cGroup.eContents().get(4); + private final Assignment cPassiveResourceAssignment_5 = (Assignment)cGroup.eContents().get(5); + private final CrossReference cPassiveResourcePassiveResourceSpecificationCrossReference_5_0 = (CrossReference)cPassiveResourceAssignment_5.eContents().get(0); + private final RuleCall cPassiveResourcePassiveResourceSpecificationEStringParserRuleCall_5_0_1 = (RuleCall)cPassiveResourcePassiveResourceSpecificationCrossReference_5_0.eContents().get(1); + private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); + + //ReleaseAction returns servicebehavior::ReleaseAction: + // "ReleaseAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + // successor=[servicebehavior::AbstractAction|EString])? "passiveResource" + // passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString] "}"; + public ParserRule getRule() { return rule; } + + //"ReleaseAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + //successor=[servicebehavior::AbstractAction|EString])? "passiveResource" + //passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString] "}" + public Group getGroup() { return cGroup; } + + //"ReleaseAction" + public Keyword getReleaseActionKeyword_0() { return cReleaseActionKeyword_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } + + //("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? + public Group getGroup_2() { return cGroup_2; } + + //"predecessor" + public Keyword getPredecessorKeyword_2_0() { return cPredecessorKeyword_2_0; } + + //predecessor=[servicebehavior::AbstractAction|EString] + public Assignment getPredecessorAssignment_2_1() { return cPredecessorAssignment_2_1; } + + //[servicebehavior::AbstractAction|EString] + public CrossReference getPredecessorAbstractActionCrossReference_2_1_0() { return cPredecessorAbstractActionCrossReference_2_1_0; } + + //EString + public RuleCall getPredecessorAbstractActionEStringParserRuleCall_2_1_0_1() { return cPredecessorAbstractActionEStringParserRuleCall_2_1_0_1; } + + //("successor" successor=[servicebehavior::AbstractAction|EString])? + public Group getGroup_3() { return cGroup_3; } + + //"successor" + public Keyword getSuccessorKeyword_3_0() { return cSuccessorKeyword_3_0; } + + //successor=[servicebehavior::AbstractAction|EString] + public Assignment getSuccessorAssignment_3_1() { return cSuccessorAssignment_3_1; } + + //[servicebehavior::AbstractAction|EString] + public CrossReference getSuccessorAbstractActionCrossReference_3_1_0() { return cSuccessorAbstractActionCrossReference_3_1_0; } + + //EString + public RuleCall getSuccessorAbstractActionEStringParserRuleCall_3_1_0_1() { return cSuccessorAbstractActionEStringParserRuleCall_3_1_0_1; } + + //"passiveResource" + public Keyword getPassiveResourceKeyword_4() { return cPassiveResourceKeyword_4; } + + //passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString] + public Assignment getPassiveResourceAssignment_5() { return cPassiveResourceAssignment_5; } + + //[resourceconfiguration::PassiveResourceSpecification|EString] + public CrossReference getPassiveResourcePassiveResourceSpecificationCrossReference_5_0() { return cPassiveResourcePassiveResourceSpecificationCrossReference_5_0; } + + //EString + public RuleCall getPassiveResourcePassiveResourceSpecificationEStringParserRuleCall_5_0_1() { return cPassiveResourcePassiveResourceSpecificationEStringParserRuleCall_5_0_1; } + + //"}" + public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } + } + + public class InternalActionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "InternalAction"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cInternalActionAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cInternalActionKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Group cGroup_3 = (Group)cGroup.eContents().get(3); + private final Keyword cPredecessorKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); + private final Assignment cPredecessorAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); + private final CrossReference cPredecessorAbstractActionCrossReference_3_1_0 = (CrossReference)cPredecessorAssignment_3_1.eContents().get(0); + private final RuleCall cPredecessorAbstractActionEStringParserRuleCall_3_1_0_1 = (RuleCall)cPredecessorAbstractActionCrossReference_3_1_0.eContents().get(1); + private final Group cGroup_4 = (Group)cGroup.eContents().get(4); + private final Keyword cSuccessorKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); + private final Assignment cSuccessorAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); + private final CrossReference cSuccessorAbstractActionCrossReference_4_1_0 = (CrossReference)cSuccessorAssignment_4_1.eContents().get(0); + private final RuleCall cSuccessorAbstractActionEStringParserRuleCall_4_1_0_1 = (RuleCall)cSuccessorAbstractActionCrossReference_4_1_0.eContents().get(1); + private final Group cGroup_5 = (Group)cGroup.eContents().get(5); + private final Keyword cResourceDemandSpecificationKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1); + private final Assignment cResourceDemandSpecificationAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2); + private final RuleCall cResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_5_2_0 = (RuleCall)cResourceDemandSpecificationAssignment_5_2.eContents().get(0); + private final Group cGroup_5_3 = (Group)cGroup_5.eContents().get(3); + private final Keyword cCommaKeyword_5_3_0 = (Keyword)cGroup_5_3.eContents().get(0); + private final Assignment cResourceDemandSpecificationAssignment_5_3_1 = (Assignment)cGroup_5_3.eContents().get(1); + private final RuleCall cResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_5_3_1_0 = (RuleCall)cResourceDemandSpecificationAssignment_5_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4); + private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); + + //InternalAction returns servicebehavior::InternalAction: + // {servicebehavior::InternalAction} "InternalAction" "{" ("predecessor" + // predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + // successor=[servicebehavior::AbstractAction|EString])? ("resourceDemandSpecification" "{" + // resourceDemandSpecification+=ResourceDemandSpecification ("," + // resourceDemandSpecification+=ResourceDemandSpecification)* "}")? "}"; + public ParserRule getRule() { return rule; } + + //{servicebehavior::InternalAction} "InternalAction" "{" ("predecessor" + //predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + //successor=[servicebehavior::AbstractAction|EString])? ("resourceDemandSpecification" "{" + //resourceDemandSpecification+=ResourceDemandSpecification ("," + //resourceDemandSpecification+=ResourceDemandSpecification)* "}")? "}" + public Group getGroup() { return cGroup; } + + //{servicebehavior::InternalAction} + public Action getInternalActionAction_0() { return cInternalActionAction_0; } + + //"InternalAction" + public Keyword getInternalActionKeyword_1() { return cInternalActionKeyword_1; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? + public Group getGroup_3() { return cGroup_3; } + + //"predecessor" + public Keyword getPredecessorKeyword_3_0() { return cPredecessorKeyword_3_0; } + + //predecessor=[servicebehavior::AbstractAction|EString] + public Assignment getPredecessorAssignment_3_1() { return cPredecessorAssignment_3_1; } + + //[servicebehavior::AbstractAction|EString] + public CrossReference getPredecessorAbstractActionCrossReference_3_1_0() { return cPredecessorAbstractActionCrossReference_3_1_0; } + + //EString + public RuleCall getPredecessorAbstractActionEStringParserRuleCall_3_1_0_1() { return cPredecessorAbstractActionEStringParserRuleCall_3_1_0_1; } + + //("successor" successor=[servicebehavior::AbstractAction|EString])? + public Group getGroup_4() { return cGroup_4; } + + //"successor" + public Keyword getSuccessorKeyword_4_0() { return cSuccessorKeyword_4_0; } + + //successor=[servicebehavior::AbstractAction|EString] + public Assignment getSuccessorAssignment_4_1() { return cSuccessorAssignment_4_1; } + + //[servicebehavior::AbstractAction|EString] + public CrossReference getSuccessorAbstractActionCrossReference_4_1_0() { return cSuccessorAbstractActionCrossReference_4_1_0; } + + //EString + public RuleCall getSuccessorAbstractActionEStringParserRuleCall_4_1_0_1() { return cSuccessorAbstractActionEStringParserRuleCall_4_1_0_1; } + + //("resourceDemandSpecification" "{" resourceDemandSpecification+=ResourceDemandSpecification ("," + //resourceDemandSpecification+=ResourceDemandSpecification)* "}")? + public Group getGroup_5() { return cGroup_5; } + + //"resourceDemandSpecification" + public Keyword getResourceDemandSpecificationKeyword_5_0() { return cResourceDemandSpecificationKeyword_5_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_5_1() { return cLeftCurlyBracketKeyword_5_1; } + + //resourceDemandSpecification+=ResourceDemandSpecification + public Assignment getResourceDemandSpecificationAssignment_5_2() { return cResourceDemandSpecificationAssignment_5_2; } + + //ResourceDemandSpecification + public RuleCall getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_5_2_0() { return cResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_5_2_0; } + + //("," resourceDemandSpecification+=ResourceDemandSpecification)* + public Group getGroup_5_3() { return cGroup_5_3; } + + //"," + public Keyword getCommaKeyword_5_3_0() { return cCommaKeyword_5_3_0; } + + //resourceDemandSpecification+=ResourceDemandSpecification + public Assignment getResourceDemandSpecificationAssignment_5_3_1() { return cResourceDemandSpecificationAssignment_5_3_1; } + + //ResourceDemandSpecification + public RuleCall getResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_5_3_1_0() { return cResourceDemandSpecificationResourceDemandSpecificationParserRuleCall_5_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_5_4() { return cRightCurlyBracketKeyword_5_4; } + + //"}" + public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } + } + + public class ForkActionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ForkAction"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cWithSynchronizationBarrierAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final Keyword cWithSynchronizationBarrierWithSynchronizationBarrierKeyword_0_0 = (Keyword)cWithSynchronizationBarrierAssignment_0.eContents().get(0); + private final Keyword cForkActionKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Group cGroup_3 = (Group)cGroup.eContents().get(3); + private final Keyword cPredecessorKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); + private final Assignment cPredecessorAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); + private final CrossReference cPredecessorAbstractActionCrossReference_3_1_0 = (CrossReference)cPredecessorAssignment_3_1.eContents().get(0); + private final RuleCall cPredecessorAbstractActionEStringParserRuleCall_3_1_0_1 = (RuleCall)cPredecessorAbstractActionCrossReference_3_1_0.eContents().get(1); + private final Group cGroup_4 = (Group)cGroup.eContents().get(4); + private final Keyword cSuccessorKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); + private final Assignment cSuccessorAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); + private final CrossReference cSuccessorAbstractActionCrossReference_4_1_0 = (CrossReference)cSuccessorAssignment_4_1.eContents().get(0); + private final RuleCall cSuccessorAbstractActionEStringParserRuleCall_4_1_0_1 = (RuleCall)cSuccessorAbstractActionCrossReference_4_1_0.eContents().get(1); + private final Group cGroup_5 = (Group)cGroup.eContents().get(5); + private final Keyword cForkedBehaviorsKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1); + private final Assignment cForkedBehaviorsAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2); + private final RuleCall cForkedBehaviorsComponentInternalBehaviorParserRuleCall_5_2_0 = (RuleCall)cForkedBehaviorsAssignment_5_2.eContents().get(0); + private final Group cGroup_5_3 = (Group)cGroup_5.eContents().get(3); + private final Keyword cCommaKeyword_5_3_0 = (Keyword)cGroup_5_3.eContents().get(0); + private final Assignment cForkedBehaviorsAssignment_5_3_1 = (Assignment)cGroup_5_3.eContents().get(1); + private final RuleCall cForkedBehaviorsComponentInternalBehaviorParserRuleCall_5_3_1_0 = (RuleCall)cForkedBehaviorsAssignment_5_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4); + private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); + + //ForkAction returns servicebehavior::ForkAction: + // withSynchronizationBarrier?="withSynchronizationBarrier" "ForkAction" "{" ("predecessor" + // predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + // successor=[servicebehavior::AbstractAction|EString])? ("forkedBehaviors" "{" + // forkedBehaviors+=ComponentInternalBehavior ("," forkedBehaviors+=ComponentInternalBehavior)* "}")? "}"; + public ParserRule getRule() { return rule; } + + //withSynchronizationBarrier?="withSynchronizationBarrier" "ForkAction" "{" ("predecessor" + //predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + //successor=[servicebehavior::AbstractAction|EString])? ("forkedBehaviors" "{" forkedBehaviors+=ComponentInternalBehavior + //("," forkedBehaviors+=ComponentInternalBehavior)* "}")? "}" + public Group getGroup() { return cGroup; } + + //withSynchronizationBarrier?="withSynchronizationBarrier" + public Assignment getWithSynchronizationBarrierAssignment_0() { return cWithSynchronizationBarrierAssignment_0; } + + //"withSynchronizationBarrier" + public Keyword getWithSynchronizationBarrierWithSynchronizationBarrierKeyword_0_0() { return cWithSynchronizationBarrierWithSynchronizationBarrierKeyword_0_0; } + + //"ForkAction" + public Keyword getForkActionKeyword_1() { return cForkActionKeyword_1; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? + public Group getGroup_3() { return cGroup_3; } + + //"predecessor" + public Keyword getPredecessorKeyword_3_0() { return cPredecessorKeyword_3_0; } + + //predecessor=[servicebehavior::AbstractAction|EString] + public Assignment getPredecessorAssignment_3_1() { return cPredecessorAssignment_3_1; } + + //[servicebehavior::AbstractAction|EString] + public CrossReference getPredecessorAbstractActionCrossReference_3_1_0() { return cPredecessorAbstractActionCrossReference_3_1_0; } + + //EString + public RuleCall getPredecessorAbstractActionEStringParserRuleCall_3_1_0_1() { return cPredecessorAbstractActionEStringParserRuleCall_3_1_0_1; } + + //("successor" successor=[servicebehavior::AbstractAction|EString])? + public Group getGroup_4() { return cGroup_4; } + + //"successor" + public Keyword getSuccessorKeyword_4_0() { return cSuccessorKeyword_4_0; } + + //successor=[servicebehavior::AbstractAction|EString] + public Assignment getSuccessorAssignment_4_1() { return cSuccessorAssignment_4_1; } + + //[servicebehavior::AbstractAction|EString] + public CrossReference getSuccessorAbstractActionCrossReference_4_1_0() { return cSuccessorAbstractActionCrossReference_4_1_0; } + + //EString + public RuleCall getSuccessorAbstractActionEStringParserRuleCall_4_1_0_1() { return cSuccessorAbstractActionEStringParserRuleCall_4_1_0_1; } + + //("forkedBehaviors" "{" forkedBehaviors+=ComponentInternalBehavior ("," forkedBehaviors+=ComponentInternalBehavior)* + //"}")? + public Group getGroup_5() { return cGroup_5; } + + //"forkedBehaviors" + public Keyword getForkedBehaviorsKeyword_5_0() { return cForkedBehaviorsKeyword_5_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_5_1() { return cLeftCurlyBracketKeyword_5_1; } + + //forkedBehaviors+=ComponentInternalBehavior + public Assignment getForkedBehaviorsAssignment_5_2() { return cForkedBehaviorsAssignment_5_2; } + + //ComponentInternalBehavior + public RuleCall getForkedBehaviorsComponentInternalBehaviorParserRuleCall_5_2_0() { return cForkedBehaviorsComponentInternalBehaviorParserRuleCall_5_2_0; } + + //("," forkedBehaviors+=ComponentInternalBehavior)* + public Group getGroup_5_3() { return cGroup_5_3; } + + //"," + public Keyword getCommaKeyword_5_3_0() { return cCommaKeyword_5_3_0; } + + //forkedBehaviors+=ComponentInternalBehavior + public Assignment getForkedBehaviorsAssignment_5_3_1() { return cForkedBehaviorsAssignment_5_3_1; } + + //ComponentInternalBehavior + public RuleCall getForkedBehaviorsComponentInternalBehaviorParserRuleCall_5_3_1_0() { return cForkedBehaviorsComponentInternalBehaviorParserRuleCall_5_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_5_4() { return cRightCurlyBracketKeyword_5_4; } + + //"}" + public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } + } + + public class BranchActionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BranchAction"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cBranchActionKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Group cGroup_2 = (Group)cGroup.eContents().get(2); + private final Keyword cPredecessorKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); + private final Assignment cPredecessorAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); + private final CrossReference cPredecessorAbstractActionCrossReference_2_1_0 = (CrossReference)cPredecessorAssignment_2_1.eContents().get(0); + private final RuleCall cPredecessorAbstractActionEStringParserRuleCall_2_1_0_1 = (RuleCall)cPredecessorAbstractActionCrossReference_2_1_0.eContents().get(1); + private final Group cGroup_3 = (Group)cGroup.eContents().get(3); + private final Keyword cSuccessorKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); + private final Assignment cSuccessorAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); + private final CrossReference cSuccessorAbstractActionCrossReference_3_1_0 = (CrossReference)cSuccessorAssignment_3_1.eContents().get(0); + private final RuleCall cSuccessorAbstractActionEStringParserRuleCall_3_1_0_1 = (RuleCall)cSuccessorAbstractActionCrossReference_3_1_0.eContents().get(1); + private final Group cGroup_4 = (Group)cGroup.eContents().get(4); + private final Keyword cBranchesKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_4_1 = (Keyword)cGroup_4.eContents().get(1); + private final Assignment cBranchesAssignment_4_2 = (Assignment)cGroup_4.eContents().get(2); + private final RuleCall cBranchesBranchTransitionParserRuleCall_4_2_0 = (RuleCall)cBranchesAssignment_4_2.eContents().get(0); + private final Group cGroup_4_3 = (Group)cGroup_4.eContents().get(3); + private final Keyword cCommaKeyword_4_3_0 = (Keyword)cGroup_4_3.eContents().get(0); + private final Assignment cBranchesAssignment_4_3_1 = (Assignment)cGroup_4_3.eContents().get(1); + private final RuleCall cBranchesBranchTransitionParserRuleCall_4_3_1_0 = (RuleCall)cBranchesAssignment_4_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_4_4 = (Keyword)cGroup_4.eContents().get(4); + private final Keyword cBranchProbabilitiesKeyword_5 = (Keyword)cGroup.eContents().get(5); + private final Assignment cBranchProbabilitiesAssignment_6 = (Assignment)cGroup.eContents().get(6); + private final RuleCall cBranchProbabilitiesBranchProbabilitiesParserRuleCall_6_0 = (RuleCall)cBranchProbabilitiesAssignment_6.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); + + //BranchAction returns servicebehavior::BranchAction: + // "BranchAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + // successor=[servicebehavior::AbstractAction|EString])? ("branches" "{" branches+=BranchTransition ("," + // branches+=BranchTransition)* "}")? "branchProbabilities" branchProbabilities=BranchProbabilities "}"; + public ParserRule getRule() { return rule; } + + //"BranchAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + //successor=[servicebehavior::AbstractAction|EString])? ("branches" "{" branches+=BranchTransition ("," + //branches+=BranchTransition)* "}")? "branchProbabilities" branchProbabilities=BranchProbabilities "}" + public Group getGroup() { return cGroup; } + + //"BranchAction" + public Keyword getBranchActionKeyword_0() { return cBranchActionKeyword_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } + + //("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? + public Group getGroup_2() { return cGroup_2; } + + //"predecessor" + public Keyword getPredecessorKeyword_2_0() { return cPredecessorKeyword_2_0; } + + //predecessor=[servicebehavior::AbstractAction|EString] + public Assignment getPredecessorAssignment_2_1() { return cPredecessorAssignment_2_1; } + + //[servicebehavior::AbstractAction|EString] + public CrossReference getPredecessorAbstractActionCrossReference_2_1_0() { return cPredecessorAbstractActionCrossReference_2_1_0; } + + //EString + public RuleCall getPredecessorAbstractActionEStringParserRuleCall_2_1_0_1() { return cPredecessorAbstractActionEStringParserRuleCall_2_1_0_1; } + + //("successor" successor=[servicebehavior::AbstractAction|EString])? + public Group getGroup_3() { return cGroup_3; } + + //"successor" + public Keyword getSuccessorKeyword_3_0() { return cSuccessorKeyword_3_0; } + + //successor=[servicebehavior::AbstractAction|EString] + public Assignment getSuccessorAssignment_3_1() { return cSuccessorAssignment_3_1; } + + //[servicebehavior::AbstractAction|EString] + public CrossReference getSuccessorAbstractActionCrossReference_3_1_0() { return cSuccessorAbstractActionCrossReference_3_1_0; } + + //EString + public RuleCall getSuccessorAbstractActionEStringParserRuleCall_3_1_0_1() { return cSuccessorAbstractActionEStringParserRuleCall_3_1_0_1; } + + //("branches" "{" branches+=BranchTransition ("," branches+=BranchTransition)* "}")? + public Group getGroup_4() { return cGroup_4; } + + //"branches" + public Keyword getBranchesKeyword_4_0() { return cBranchesKeyword_4_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_4_1() { return cLeftCurlyBracketKeyword_4_1; } + + //branches+=BranchTransition + public Assignment getBranchesAssignment_4_2() { return cBranchesAssignment_4_2; } + + //BranchTransition + public RuleCall getBranchesBranchTransitionParserRuleCall_4_2_0() { return cBranchesBranchTransitionParserRuleCall_4_2_0; } + + //("," branches+=BranchTransition)* + public Group getGroup_4_3() { return cGroup_4_3; } + + //"," + public Keyword getCommaKeyword_4_3_0() { return cCommaKeyword_4_3_0; } + + //branches+=BranchTransition + public Assignment getBranchesAssignment_4_3_1() { return cBranchesAssignment_4_3_1; } + + //BranchTransition + public RuleCall getBranchesBranchTransitionParserRuleCall_4_3_1_0() { return cBranchesBranchTransitionParserRuleCall_4_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_4_4() { return cRightCurlyBracketKeyword_4_4; } + + //"branchProbabilities" + public Keyword getBranchProbabilitiesKeyword_5() { return cBranchProbabilitiesKeyword_5; } + + //branchProbabilities=BranchProbabilities + public Assignment getBranchProbabilitiesAssignment_6() { return cBranchProbabilitiesAssignment_6; } + + //BranchProbabilities + public RuleCall getBranchProbabilitiesBranchProbabilitiesParserRuleCall_6_0() { return cBranchProbabilitiesBranchProbabilitiesParserRuleCall_6_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; } + } + + public class LoopActionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LoopAction"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cLoopActionKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Group cGroup_2 = (Group)cGroup.eContents().get(2); + private final Keyword cPredecessorKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); + private final Assignment cPredecessorAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); + private final CrossReference cPredecessorAbstractActionCrossReference_2_1_0 = (CrossReference)cPredecessorAssignment_2_1.eContents().get(0); + private final RuleCall cPredecessorAbstractActionEStringParserRuleCall_2_1_0_1 = (RuleCall)cPredecessorAbstractActionCrossReference_2_1_0.eContents().get(1); + private final Group cGroup_3 = (Group)cGroup.eContents().get(3); + private final Keyword cSuccessorKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); + private final Assignment cSuccessorAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); + private final CrossReference cSuccessorAbstractActionCrossReference_3_1_0 = (CrossReference)cSuccessorAssignment_3_1.eContents().get(0); + private final RuleCall cSuccessorAbstractActionEStringParserRuleCall_3_1_0_1 = (RuleCall)cSuccessorAbstractActionCrossReference_3_1_0.eContents().get(1); + private final Keyword cLoopBodyBehaviorKeyword_4 = (Keyword)cGroup.eContents().get(4); + private final Assignment cLoopBodyBehaviorAssignment_5 = (Assignment)cGroup.eContents().get(5); + private final RuleCall cLoopBodyBehaviorComponentInternalBehaviorParserRuleCall_5_0 = (RuleCall)cLoopBodyBehaviorAssignment_5.eContents().get(0); + private final Keyword cLoopIterationCountDistributionKeyword_6 = (Keyword)cGroup.eContents().get(6); + private final Assignment cLoopIterationCountDistributionAssignment_7 = (Assignment)cGroup.eContents().get(7); + private final RuleCall cLoopIterationCountDistributionLoopIterationCountDistributionParserRuleCall_7_0 = (RuleCall)cLoopIterationCountDistributionAssignment_7.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8); + + //LoopAction returns servicebehavior::LoopAction: + // "LoopAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + // successor=[servicebehavior::AbstractAction|EString])? "loopBodyBehavior" loopBodyBehavior=ComponentInternalBehavior + // "loopIterationCountDistribution" loopIterationCountDistribution=LoopIterationCountDistribution "}"; + public ParserRule getRule() { return rule; } + + //"LoopAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + //successor=[servicebehavior::AbstractAction|EString])? "loopBodyBehavior" loopBodyBehavior=ComponentInternalBehavior + //"loopIterationCountDistribution" loopIterationCountDistribution=LoopIterationCountDistribution "}" + public Group getGroup() { return cGroup; } + + //"LoopAction" + public Keyword getLoopActionKeyword_0() { return cLoopActionKeyword_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } + + //("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? + public Group getGroup_2() { return cGroup_2; } + + //"predecessor" + public Keyword getPredecessorKeyword_2_0() { return cPredecessorKeyword_2_0; } + + //predecessor=[servicebehavior::AbstractAction|EString] + public Assignment getPredecessorAssignment_2_1() { return cPredecessorAssignment_2_1; } + + //[servicebehavior::AbstractAction|EString] + public CrossReference getPredecessorAbstractActionCrossReference_2_1_0() { return cPredecessorAbstractActionCrossReference_2_1_0; } + + //EString + public RuleCall getPredecessorAbstractActionEStringParserRuleCall_2_1_0_1() { return cPredecessorAbstractActionEStringParserRuleCall_2_1_0_1; } + + //("successor" successor=[servicebehavior::AbstractAction|EString])? + public Group getGroup_3() { return cGroup_3; } + + //"successor" + public Keyword getSuccessorKeyword_3_0() { return cSuccessorKeyword_3_0; } + + //successor=[servicebehavior::AbstractAction|EString] + public Assignment getSuccessorAssignment_3_1() { return cSuccessorAssignment_3_1; } + + //[servicebehavior::AbstractAction|EString] + public CrossReference getSuccessorAbstractActionCrossReference_3_1_0() { return cSuccessorAbstractActionCrossReference_3_1_0; } + + //EString + public RuleCall getSuccessorAbstractActionEStringParserRuleCall_3_1_0_1() { return cSuccessorAbstractActionEStringParserRuleCall_3_1_0_1; } + + //"loopBodyBehavior" + public Keyword getLoopBodyBehaviorKeyword_4() { return cLoopBodyBehaviorKeyword_4; } + + //loopBodyBehavior=ComponentInternalBehavior + public Assignment getLoopBodyBehaviorAssignment_5() { return cLoopBodyBehaviorAssignment_5; } + + //ComponentInternalBehavior + public RuleCall getLoopBodyBehaviorComponentInternalBehaviorParserRuleCall_5_0() { return cLoopBodyBehaviorComponentInternalBehaviorParserRuleCall_5_0; } + + //"loopIterationCountDistribution" + public Keyword getLoopIterationCountDistributionKeyword_6() { return cLoopIterationCountDistributionKeyword_6; } + + //loopIterationCountDistribution=LoopIterationCountDistribution + public Assignment getLoopIterationCountDistributionAssignment_7() { return cLoopIterationCountDistributionAssignment_7; } + + //LoopIterationCountDistribution + public RuleCall getLoopIterationCountDistributionLoopIterationCountDistributionParserRuleCall_7_0() { return cLoopIterationCountDistributionLoopIterationCountDistributionParserRuleCall_7_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; } + } + + public class ExternalCallActionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ExternalCallAction"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cExternalCallActionKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Group cGroup_2 = (Group)cGroup.eContents().get(2); + private final Keyword cPredecessorKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); + private final Assignment cPredecessorAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); + private final CrossReference cPredecessorAbstractActionCrossReference_2_1_0 = (CrossReference)cPredecessorAssignment_2_1.eContents().get(0); + private final RuleCall cPredecessorAbstractActionEStringParserRuleCall_2_1_0_1 = (RuleCall)cPredecessorAbstractActionCrossReference_2_1_0.eContents().get(1); + private final Group cGroup_3 = (Group)cGroup.eContents().get(3); + private final Keyword cSuccessorKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); + private final Assignment cSuccessorAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); + private final CrossReference cSuccessorAbstractActionCrossReference_3_1_0 = (CrossReference)cSuccessorAssignment_3_1.eContents().get(0); + private final RuleCall cSuccessorAbstractActionEStringParserRuleCall_3_1_0_1 = (RuleCall)cSuccessorAbstractActionCrossReference_3_1_0.eContents().get(1); + private final Keyword cSignatureKeyword_4 = (Keyword)cGroup.eContents().get(4); + private final Assignment cSignatureAssignment_5 = (Assignment)cGroup.eContents().get(5); + private final CrossReference cSignatureSignatureCrossReference_5_0 = (CrossReference)cSignatureAssignment_5.eContents().get(0); + private final RuleCall cSignatureSignatureEStringParserRuleCall_5_0_1 = (RuleCall)cSignatureSignatureCrossReference_5_0.eContents().get(1); + private final Keyword cRequiredRoleKeyword_6 = (Keyword)cGroup.eContents().get(6); + private final Assignment cRequiredRoleAssignment_7 = (Assignment)cGroup.eContents().get(7); + private final CrossReference cRequiredRoleRequiredRoleCrossReference_7_0 = (CrossReference)cRequiredRoleAssignment_7.eContents().get(0); + private final RuleCall cRequiredRoleRequiredRoleEStringParserRuleCall_7_0_1 = (RuleCall)cRequiredRoleRequiredRoleCrossReference_7_0.eContents().get(1); + private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8); + + //ExternalCallAction returns servicebehavior::ExternalCallAction: + // "ExternalCallAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + // successor=[servicebehavior::AbstractAction|EString])? "signature" signature=[repository::Signature|EString] + // "requiredRole" requiredRole=[repository::RequiredRole|EString] "}"; + public ParserRule getRule() { return rule; } + + //"ExternalCallAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + //successor=[servicebehavior::AbstractAction|EString])? "signature" signature=[repository::Signature|EString] + //"requiredRole" requiredRole=[repository::RequiredRole|EString] "}" + public Group getGroup() { return cGroup; } + + //"ExternalCallAction" + public Keyword getExternalCallActionKeyword_0() { return cExternalCallActionKeyword_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } + + //("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? + public Group getGroup_2() { return cGroup_2; } + + //"predecessor" + public Keyword getPredecessorKeyword_2_0() { return cPredecessorKeyword_2_0; } + + //predecessor=[servicebehavior::AbstractAction|EString] + public Assignment getPredecessorAssignment_2_1() { return cPredecessorAssignment_2_1; } + + //[servicebehavior::AbstractAction|EString] + public CrossReference getPredecessorAbstractActionCrossReference_2_1_0() { return cPredecessorAbstractActionCrossReference_2_1_0; } + + //EString + public RuleCall getPredecessorAbstractActionEStringParserRuleCall_2_1_0_1() { return cPredecessorAbstractActionEStringParserRuleCall_2_1_0_1; } + + //("successor" successor=[servicebehavior::AbstractAction|EString])? + public Group getGroup_3() { return cGroup_3; } + + //"successor" + public Keyword getSuccessorKeyword_3_0() { return cSuccessorKeyword_3_0; } + + //successor=[servicebehavior::AbstractAction|EString] + public Assignment getSuccessorAssignment_3_1() { return cSuccessorAssignment_3_1; } + + //[servicebehavior::AbstractAction|EString] + public CrossReference getSuccessorAbstractActionCrossReference_3_1_0() { return cSuccessorAbstractActionCrossReference_3_1_0; } + + //EString + public RuleCall getSuccessorAbstractActionEStringParserRuleCall_3_1_0_1() { return cSuccessorAbstractActionEStringParserRuleCall_3_1_0_1; } + + //"signature" + public Keyword getSignatureKeyword_4() { return cSignatureKeyword_4; } + + //signature=[repository::Signature|EString] + public Assignment getSignatureAssignment_5() { return cSignatureAssignment_5; } + + //[repository::Signature|EString] + public CrossReference getSignatureSignatureCrossReference_5_0() { return cSignatureSignatureCrossReference_5_0; } + + //EString + public RuleCall getSignatureSignatureEStringParserRuleCall_5_0_1() { return cSignatureSignatureEStringParserRuleCall_5_0_1; } + + //"requiredRole" + public Keyword getRequiredRoleKeyword_6() { return cRequiredRoleKeyword_6; } + + //requiredRole=[repository::RequiredRole|EString] + public Assignment getRequiredRoleAssignment_7() { return cRequiredRoleAssignment_7; } + + //[repository::RequiredRole|EString] + public CrossReference getRequiredRoleRequiredRoleCrossReference_7_0() { return cRequiredRoleRequiredRoleCrossReference_7_0; } + + //EString + public RuleCall getRequiredRoleRequiredRoleEStringParserRuleCall_7_0_1() { return cRequiredRoleRequiredRoleEStringParserRuleCall_7_0_1; } + + //"}" + public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; } + } + + public class PassiveResourceSpecificationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PassiveResourceSpecification"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cPassiveResourceSpecificationKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0); + private final Keyword cPassiveResourceTypeKeyword_5 = (Keyword)cGroup.eContents().get(5); + private final Assignment cPassiveResourceTypeAssignment_6 = (Assignment)cGroup.eContents().get(6); + private final CrossReference cPassiveResourceTypePassiveResourceTypeCrossReference_6_0 = (CrossReference)cPassiveResourceTypeAssignment_6.eContents().get(0); + private final RuleCall cPassiveResourceTypePassiveResourceTypeEStringParserRuleCall_6_0_1 = (RuleCall)cPassiveResourceTypePassiveResourceTypeCrossReference_6_0.eContents().get(1); + private final Keyword cCapacityKeyword_7 = (Keyword)cGroup.eContents().get(7); + private final Assignment cCapacityAssignment_8 = (Assignment)cGroup.eContents().get(8); + private final RuleCall cCapacityPassiveResourceCapacityParserRuleCall_8_0 = (RuleCall)cCapacityAssignment_8.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_9 = (Keyword)cGroup.eContents().get(9); + + //PassiveResourceSpecification returns resourceconfiguration::PassiveResourceSpecification: + // "PassiveResourceSpecification" id=EString "{" "name" name=EString "passiveResourceType" + // passiveResourceType=[resourcetype::PassiveResourceType|EString] "capacity" capacity=PassiveResourceCapacity "}"; + public ParserRule getRule() { return rule; } + + //"PassiveResourceSpecification" id=EString "{" "name" name=EString "passiveResourceType" + //passiveResourceType=[resourcetype::PassiveResourceType|EString] "capacity" capacity=PassiveResourceCapacity "}" + public Group getGroup() { return cGroup; } + + //"PassiveResourceSpecification" + public Keyword getPassiveResourceSpecificationKeyword_0() { return cPassiveResourceSpecificationKeyword_0; } + + //id=EString + public Assignment getIdAssignment_1() { return cIdAssignment_1; } + + //EString + public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //"name" + public Keyword getNameKeyword_3() { return cNameKeyword_3; } + + //name=EString + public Assignment getNameAssignment_4() { return cNameAssignment_4; } + + //EString + public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; } + + //"passiveResourceType" + public Keyword getPassiveResourceTypeKeyword_5() { return cPassiveResourceTypeKeyword_5; } + + //passiveResourceType=[resourcetype::PassiveResourceType|EString] + public Assignment getPassiveResourceTypeAssignment_6() { return cPassiveResourceTypeAssignment_6; } + + //[resourcetype::PassiveResourceType|EString] + public CrossReference getPassiveResourceTypePassiveResourceTypeCrossReference_6_0() { return cPassiveResourceTypePassiveResourceTypeCrossReference_6_0; } + + //EString + public RuleCall getPassiveResourceTypePassiveResourceTypeEStringParserRuleCall_6_0_1() { return cPassiveResourceTypePassiveResourceTypeEStringParserRuleCall_6_0_1; } + + //"capacity" + public Keyword getCapacityKeyword_7() { return cCapacityKeyword_7; } + + //capacity=PassiveResourceCapacity + public Assignment getCapacityAssignment_8() { return cCapacityAssignment_8; } + + //PassiveResourceCapacity + public RuleCall getCapacityPassiveResourceCapacityParserRuleCall_8_0() { return cCapacityPassiveResourceCapacityParserRuleCall_8_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_9() { return cRightCurlyBracketKeyword_9; } + } + + public class PassiveResourceCapacityElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PassiveResourceCapacity"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cPassiveResourceCapacityKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0); + private final Keyword cCapacityKeyword_5 = (Keyword)cGroup.eContents().get(5); + private final Assignment cCapacityAssignment_6 = (Assignment)cGroup.eContents().get(6); + private final RuleCall cCapacityEBigIntegerParserRuleCall_6_0 = (RuleCall)cCapacityAssignment_6.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); + + //PassiveResourceCapacity returns resourceconfiguration::PassiveResourceCapacity: + // "PassiveResourceCapacity" id=EString "{" "name" name=EString "capacity" capacity=EBigInteger "}"; + public ParserRule getRule() { return rule; } + + //"PassiveResourceCapacity" id=EString "{" "name" name=EString "capacity" capacity=EBigInteger "}" + public Group getGroup() { return cGroup; } + + //"PassiveResourceCapacity" + public Keyword getPassiveResourceCapacityKeyword_0() { return cPassiveResourceCapacityKeyword_0; } + + //id=EString + public Assignment getIdAssignment_1() { return cIdAssignment_1; } + + //EString + public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //"name" + public Keyword getNameKeyword_3() { return cNameKeyword_3; } + + //name=EString + public Assignment getNameAssignment_4() { return cNameAssignment_4; } + + //EString + public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; } + + //"capacity" + public Keyword getCapacityKeyword_5() { return cCapacityKeyword_5; } + + //capacity=EBigInteger + public Assignment getCapacityAssignment_6() { return cCapacityAssignment_6; } + + //EBigInteger + public RuleCall getCapacityEBigIntegerParserRuleCall_6_0() { return cCapacityEBigIntegerParserRuleCall_6_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; } + } + + public class PassiveResourceTypeElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PassiveResourceType"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cPassiveResourceTypeKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); + + //PassiveResourceType returns resourcetype::PassiveResourceType: + // "PassiveResourceType" id=EString "{" "name" name=EString "}"; + public ParserRule getRule() { return rule; } + + //"PassiveResourceType" id=EString "{" "name" name=EString "}" + public Group getGroup() { return cGroup; } + + //"PassiveResourceType" + public Keyword getPassiveResourceTypeKeyword_0() { return cPassiveResourceTypeKeyword_0; } + + //id=EString + public Assignment getIdAssignment_1() { return cIdAssignment_1; } + + //EString + public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //"name" + public Keyword getNameKeyword_3() { return cNameKeyword_3; } + + //name=EString + public Assignment getNameAssignment_4() { return cNameAssignment_4; } + + //EString + public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; } + } + + public class EBigIntegerElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EBigInteger"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cHyphenMinusKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final RuleCall cINTTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1); + + //EBigInteger returns ecore::EBigInteger: + // "-"? INT; + public ParserRule getRule() { return rule; } + + //"-"? INT + public Group getGroup() { return cGroup; } + + //"-"? + public Keyword getHyphenMinusKeyword_0() { return cHyphenMinusKeyword_0; } + + //INT + public RuleCall getINTTerminalRuleCall_1() { return cINTTerminalRuleCall_1; } + } + + public class ResourceDemandSpecificationElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ResourceDemandSpecification"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cResourceDemandSpecificationKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Keyword cProcessingResourceTypeKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cProcessingResourceTypeAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final CrossReference cProcessingResourceTypeProcessingResourceTypeCrossReference_3_0 = (CrossReference)cProcessingResourceTypeAssignment_3.eContents().get(0); + private final RuleCall cProcessingResourceTypeProcessingResourceTypeEStringParserRuleCall_3_0_1 = (RuleCall)cProcessingResourceTypeProcessingResourceTypeCrossReference_3_0.eContents().get(1); + private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); + + //ResourceDemandSpecification returns servicebehavior::ResourceDemandSpecification: + // "ResourceDemandSpecification" "{" "processingResourceType" + // processingResourceType=[resourcetype::ProcessingResourceType|EString] "}"; + public ParserRule getRule() { return rule; } + + //"ResourceDemandSpecification" "{" "processingResourceType" + //processingResourceType=[resourcetype::ProcessingResourceType|EString] "}" + public Group getGroup() { return cGroup; } + + //"ResourceDemandSpecification" + public Keyword getResourceDemandSpecificationKeyword_0() { return cResourceDemandSpecificationKeyword_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } + + //"processingResourceType" + public Keyword getProcessingResourceTypeKeyword_2() { return cProcessingResourceTypeKeyword_2; } + + //processingResourceType=[resourcetype::ProcessingResourceType|EString] + public Assignment getProcessingResourceTypeAssignment_3() { return cProcessingResourceTypeAssignment_3; } + + //[resourcetype::ProcessingResourceType|EString] + public CrossReference getProcessingResourceTypeProcessingResourceTypeCrossReference_3_0() { return cProcessingResourceTypeProcessingResourceTypeCrossReference_3_0; } + + //EString + public RuleCall getProcessingResourceTypeProcessingResourceTypeEStringParserRuleCall_3_0_1() { return cProcessingResourceTypeProcessingResourceTypeEStringParserRuleCall_3_0_1; } + + //"}" + public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; } + } + + public class ProcessingResourceType_ImplElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ProcessingResourceType_Impl"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cProcessingResourceTypeKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); + + //ProcessingResourceType_Impl returns resourcetype::ProcessingResourceType: + // "ProcessingResourceType" id=EString "{" "name" name=EString "}"; + public ParserRule getRule() { return rule; } + + //"ProcessingResourceType" id=EString "{" "name" name=EString "}" + public Group getGroup() { return cGroup; } + + //"ProcessingResourceType" + public Keyword getProcessingResourceTypeKeyword_0() { return cProcessingResourceTypeKeyword_0; } + + //id=EString + public Assignment getIdAssignment_1() { return cIdAssignment_1; } + + //EString + public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //"name" + public Keyword getNameKeyword_3() { return cNameKeyword_3; } + + //name=EString + public Assignment getNameAssignment_4() { return cNameAssignment_4; } + + //EString + public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; } + } + + public class CommunicationLinkResourceTypeElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "CommunicationLinkResourceType"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cCommunicationLinkResourceTypeKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); + + //CommunicationLinkResourceType returns resourcetype::CommunicationLinkResourceType: + // "CommunicationLinkResourceType" id=EString "{" "name" name=EString "}"; + public ParserRule getRule() { return rule; } + + //"CommunicationLinkResourceType" id=EString "{" "name" name=EString "}" + public Group getGroup() { return cGroup; } + + //"CommunicationLinkResourceType" + public Keyword getCommunicationLinkResourceTypeKeyword_0() { return cCommunicationLinkResourceTypeKeyword_0; } + + //id=EString + public Assignment getIdAssignment_1() { return cIdAssignment_1; } + + //EString + public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //"name" + public Keyword getNameKeyword_3() { return cNameKeyword_3; } + + //name=EString + public Assignment getNameAssignment_4() { return cNameAssignment_4; } + + //EString + public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; } + } + + public class EBooleanElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EBoolean"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final Keyword cTrueKeyword_0 = (Keyword)cAlternatives.eContents().get(0); + private final Keyword cFalseKeyword_1 = (Keyword)cAlternatives.eContents().get(1); + + //EBoolean returns ecore::EBoolean: + // "true" | "false"; + public ParserRule getRule() { return rule; } + + //"true" | "false" + public Alternatives getAlternatives() { return cAlternatives; } + + //"true" + public Keyword getTrueKeyword_0() { return cTrueKeyword_0; } + + //"false" + public Keyword getFalseKeyword_1() { return cFalseKeyword_1; } + } + + public class BranchTransitionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BranchTransition"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cBranchTransitionKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0); + private final Keyword cBranchBehaviorKeyword_5 = (Keyword)cGroup.eContents().get(5); + private final Assignment cBranchBehaviorAssignment_6 = (Assignment)cGroup.eContents().get(6); + private final RuleCall cBranchBehaviorComponentInternalBehaviorParserRuleCall_6_0 = (RuleCall)cBranchBehaviorAssignment_6.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); + + //BranchTransition returns servicebehavior::BranchTransition: + // "BranchTransition" id=EString "{" "name" name=EString "branchBehavior" branchBehavior=ComponentInternalBehavior "}"; + public ParserRule getRule() { return rule; } + + //"BranchTransition" id=EString "{" "name" name=EString "branchBehavior" branchBehavior=ComponentInternalBehavior "}" + public Group getGroup() { return cGroup; } + + //"BranchTransition" + public Keyword getBranchTransitionKeyword_0() { return cBranchTransitionKeyword_0; } + + //id=EString + public Assignment getIdAssignment_1() { return cIdAssignment_1; } + + //EString + public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //"name" + public Keyword getNameKeyword_3() { return cNameKeyword_3; } + + //name=EString + public Assignment getNameAssignment_4() { return cNameAssignment_4; } + + //EString + public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; } + + //"branchBehavior" + public Keyword getBranchBehaviorKeyword_5() { return cBranchBehaviorKeyword_5; } + + //branchBehavior=ComponentInternalBehavior + public Assignment getBranchBehaviorAssignment_6() { return cBranchBehaviorAssignment_6; } + + //ComponentInternalBehavior + public RuleCall getBranchBehaviorComponentInternalBehaviorParserRuleCall_6_0() { return cBranchBehaviorComponentInternalBehaviorParserRuleCall_6_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; } + } + + public class BranchProbabilitiesElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BranchProbabilities"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cBranchProbabilitiesKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Keyword cProbabilitiesKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cProbabilitiesAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final CrossReference cProbabilitiesRandomVariableCrossReference_3_0 = (CrossReference)cProbabilitiesAssignment_3.eContents().get(0); + private final RuleCall cProbabilitiesRandomVariableEStringParserRuleCall_3_0_1 = (RuleCall)cProbabilitiesRandomVariableCrossReference_3_0.eContents().get(1); + private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); + + //BranchProbabilities returns servicebehavior::BranchProbabilities: + // "BranchProbabilities" "{" "probabilities" probabilities=[functions::RandomVariable|EString] "}"; + public ParserRule getRule() { return rule; } + + //"BranchProbabilities" "{" "probabilities" probabilities=[functions::RandomVariable|EString] "}" + public Group getGroup() { return cGroup; } + + //"BranchProbabilities" + public Keyword getBranchProbabilitiesKeyword_0() { return cBranchProbabilitiesKeyword_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } + + //"probabilities" + public Keyword getProbabilitiesKeyword_2() { return cProbabilitiesKeyword_2; } + + //probabilities=[functions::RandomVariable|EString] + public Assignment getProbabilitiesAssignment_3() { return cProbabilitiesAssignment_3; } + + //[functions::RandomVariable|EString] + public CrossReference getProbabilitiesRandomVariableCrossReference_3_0() { return cProbabilitiesRandomVariableCrossReference_3_0; } + + //EString + public RuleCall getProbabilitiesRandomVariableEStringParserRuleCall_3_0_1() { return cProbabilitiesRandomVariableEStringParserRuleCall_3_0_1; } + + //"}" + public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; } + } + + public class RandomVariableElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RandomVariable"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cRandomVariableKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Keyword cSpecificationKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cSpecificationAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cSpecificationEStringParserRuleCall_3_0 = (RuleCall)cSpecificationAssignment_3.eContents().get(0); + private final Keyword cProbFunctionKeyword_4 = (Keyword)cGroup.eContents().get(4); + private final Assignment cProbFunctionAssignment_5 = (Assignment)cGroup.eContents().get(5); + private final CrossReference cProbFunctionProbabilityFunctionCrossReference_5_0 = (CrossReference)cProbFunctionAssignment_5.eContents().get(0); + private final RuleCall cProbFunctionProbabilityFunctionEStringParserRuleCall_5_0_1 = (RuleCall)cProbFunctionProbabilityFunctionCrossReference_5_0.eContents().get(1); + private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); + + //RandomVariable returns functions::RandomVariable: + // "RandomVariable" "{" "specification" specification=EString "probFunction" + // probFunction=[functions::ProbabilityFunction|EString] "}"; + public ParserRule getRule() { return rule; } + + //"RandomVariable" "{" "specification" specification=EString "probFunction" + //probFunction=[functions::ProbabilityFunction|EString] "}" + public Group getGroup() { return cGroup; } + + //"RandomVariable" + public Keyword getRandomVariableKeyword_0() { return cRandomVariableKeyword_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } + + //"specification" + public Keyword getSpecificationKeyword_2() { return cSpecificationKeyword_2; } + + //specification=EString + public Assignment getSpecificationAssignment_3() { return cSpecificationAssignment_3; } + + //EString + public RuleCall getSpecificationEStringParserRuleCall_3_0() { return cSpecificationEStringParserRuleCall_3_0; } + + //"probFunction" + public Keyword getProbFunctionKeyword_4() { return cProbFunctionKeyword_4; } + + //probFunction=[functions::ProbabilityFunction|EString] + public Assignment getProbFunctionAssignment_5() { return cProbFunctionAssignment_5; } + + //[functions::ProbabilityFunction|EString] + public CrossReference getProbFunctionProbabilityFunctionCrossReference_5_0() { return cProbFunctionProbabilityFunctionCrossReference_5_0; } + + //EString + public RuleCall getProbFunctionProbabilityFunctionEStringParserRuleCall_5_0_1() { return cProbFunctionProbabilityFunctionEStringParserRuleCall_5_0_1; } + + //"}" + public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } + } + + public class ProbabilityMassFunctionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ProbabilityMassFunction"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cProbabilityMassFunctionAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cProbabilityMassFunctionKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Group cGroup_3 = (Group)cGroup.eContents().get(3); + private final Keyword cSampleKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1); + private final Assignment cSampleAssignment_3_2 = (Assignment)cGroup_3.eContents().get(2); + private final RuleCall cSampleSampleParserRuleCall_3_2_0 = (RuleCall)cSampleAssignment_3_2.eContents().get(0); + private final Group cGroup_3_3 = (Group)cGroup_3.eContents().get(3); + private final Keyword cCommaKeyword_3_3_0 = (Keyword)cGroup_3_3.eContents().get(0); + private final Assignment cSampleAssignment_3_3_1 = (Assignment)cGroup_3_3.eContents().get(1); + private final RuleCall cSampleSampleParserRuleCall_3_3_1_0 = (RuleCall)cSampleAssignment_3_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_3_4 = (Keyword)cGroup_3.eContents().get(4); + private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); + + //ProbabilityMassFunction returns functions::ProbabilityMassFunction: + // {functions::ProbabilityMassFunction} "ProbabilityMassFunction" "{" ("sample" "{" sample+=Sample ("," sample+=Sample)* + // "}")? "}"; + public ParserRule getRule() { return rule; } + + //{functions::ProbabilityMassFunction} "ProbabilityMassFunction" "{" ("sample" "{" sample+=Sample ("," sample+=Sample)* + //"}")? "}" + public Group getGroup() { return cGroup; } + + //{functions::ProbabilityMassFunction} + public Action getProbabilityMassFunctionAction_0() { return cProbabilityMassFunctionAction_0; } + + //"ProbabilityMassFunction" + public Keyword getProbabilityMassFunctionKeyword_1() { return cProbabilityMassFunctionKeyword_1; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //("sample" "{" sample+=Sample ("," sample+=Sample)* "}")? + public Group getGroup_3() { return cGroup_3; } + + //"sample" + public Keyword getSampleKeyword_3_0() { return cSampleKeyword_3_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_3_1() { return cLeftCurlyBracketKeyword_3_1; } + + //sample+=Sample + public Assignment getSampleAssignment_3_2() { return cSampleAssignment_3_2; } + + //Sample + public RuleCall getSampleSampleParserRuleCall_3_2_0() { return cSampleSampleParserRuleCall_3_2_0; } + + //("," sample+=Sample)* + public Group getGroup_3_3() { return cGroup_3_3; } + + //"," + public Keyword getCommaKeyword_3_3_0() { return cCommaKeyword_3_3_0; } + + //sample+=Sample + public Assignment getSampleAssignment_3_3_1() { return cSampleAssignment_3_3_1; } + + //Sample + public RuleCall getSampleSampleParserRuleCall_3_3_1_0() { return cSampleSampleParserRuleCall_3_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_3_4() { return cRightCurlyBracketKeyword_3_4; } + + //"}" + public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; } + } + + public class ProbabilityDensityFunction_ImplElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ProbabilityDensityFunction_Impl"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cProbabilityDensityFunctionAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cProbabilityDensityFunctionKeyword_1 = (Keyword)cGroup.eContents().get(1); + + //ProbabilityDensityFunction_Impl returns functions::ProbabilityDensityFunction: + // {functions::ProbabilityDensityFunction} "ProbabilityDensityFunction"; + public ParserRule getRule() { return rule; } + + //{functions::ProbabilityDensityFunction} "ProbabilityDensityFunction" + public Group getGroup() { return cGroup; } + + //{functions::ProbabilityDensityFunction} + public Action getProbabilityDensityFunctionAction_0() { return cProbabilityDensityFunctionAction_0; } + + //"ProbabilityDensityFunction" + public Keyword getProbabilityDensityFunctionKeyword_1() { return cProbabilityDensityFunctionKeyword_1; } + } + + public class BoxedPDFElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BoxedPDF"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cBoxedPDFAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cBoxedPDFKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Group cGroup_3 = (Group)cGroup.eContents().get(3); + private final Keyword cSampleKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1); + private final Assignment cSampleAssignment_3_2 = (Assignment)cGroup_3.eContents().get(2); + private final RuleCall cSampleContinuousSampleParserRuleCall_3_2_0 = (RuleCall)cSampleAssignment_3_2.eContents().get(0); + private final Group cGroup_3_3 = (Group)cGroup_3.eContents().get(3); + private final Keyword cCommaKeyword_3_3_0 = (Keyword)cGroup_3_3.eContents().get(0); + private final Assignment cSampleAssignment_3_3_1 = (Assignment)cGroup_3_3.eContents().get(1); + private final RuleCall cSampleContinuousSampleParserRuleCall_3_3_1_0 = (RuleCall)cSampleAssignment_3_3_1.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_3_4 = (Keyword)cGroup_3.eContents().get(4); + private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); + + //BoxedPDF returns functions::BoxedPDF: + // {functions::BoxedPDF} "BoxedPDF" "{" ("sample" "{" sample+=ContinuousSample ("," sample+=ContinuousSample)* "}")? "}"; + public ParserRule getRule() { return rule; } + + //{functions::BoxedPDF} "BoxedPDF" "{" ("sample" "{" sample+=ContinuousSample ("," sample+=ContinuousSample)* "}")? "}" + public Group getGroup() { return cGroup; } + + //{functions::BoxedPDF} + public Action getBoxedPDFAction_0() { return cBoxedPDFAction_0; } + + //"BoxedPDF" + public Keyword getBoxedPDFKeyword_1() { return cBoxedPDFKeyword_1; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //("sample" "{" sample+=ContinuousSample ("," sample+=ContinuousSample)* "}")? + public Group getGroup_3() { return cGroup_3; } + + //"sample" + public Keyword getSampleKeyword_3_0() { return cSampleKeyword_3_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_3_1() { return cLeftCurlyBracketKeyword_3_1; } + + //sample+=ContinuousSample + public Assignment getSampleAssignment_3_2() { return cSampleAssignment_3_2; } + + //ContinuousSample + public RuleCall getSampleContinuousSampleParserRuleCall_3_2_0() { return cSampleContinuousSampleParserRuleCall_3_2_0; } + + //("," sample+=ContinuousSample)* + public Group getGroup_3_3() { return cGroup_3_3; } + + //"," + public Keyword getCommaKeyword_3_3_0() { return cCommaKeyword_3_3_0; } + + //sample+=ContinuousSample + public Assignment getSampleAssignment_3_3_1() { return cSampleAssignment_3_3_1; } + + //ContinuousSample + public RuleCall getSampleContinuousSampleParserRuleCall_3_3_1_0() { return cSampleContinuousSampleParserRuleCall_3_3_1_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_3_4() { return cRightCurlyBracketKeyword_3_4; } + + //"}" + public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; } + } + + public class ContinuousPDF_ImplElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ContinuousPDF_Impl"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cContinuousPDFAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cContinuousPDFKeyword_1 = (Keyword)cGroup.eContents().get(1); + + //ContinuousPDF_Impl returns functions::ContinuousPDF: + // {functions::ContinuousPDF} "ContinuousPDF"; + public ParserRule getRule() { return rule; } + + //{functions::ContinuousPDF} "ContinuousPDF" + public Group getGroup() { return cGroup; } + + //{functions::ContinuousPDF} + public Action getContinuousPDFAction_0() { return cContinuousPDFAction_0; } + + //"ContinuousPDF" + public Keyword getContinuousPDFKeyword_1() { return cContinuousPDFKeyword_1; } + } + + public class NormalDistributionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "NormalDistribution"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cNormalDistributionKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Keyword cMuKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cMuAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cMuEBigDecimalParserRuleCall_3_0 = (RuleCall)cMuAssignment_3.eContents().get(0); + private final Keyword cSigmaKeyword_4 = (Keyword)cGroup.eContents().get(4); + private final Assignment cSigmaAssignment_5 = (Assignment)cGroup.eContents().get(5); + private final RuleCall cSigmaEBigDecimalParserRuleCall_5_0 = (RuleCall)cSigmaAssignment_5.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); + + //NormalDistribution returns functions::NormalDistribution: + // "NormalDistribution" "{" "mu" mu=EBigDecimal "sigma" sigma=EBigDecimal "}"; + public ParserRule getRule() { return rule; } + + //"NormalDistribution" "{" "mu" mu=EBigDecimal "sigma" sigma=EBigDecimal "}" + public Group getGroup() { return cGroup; } + + //"NormalDistribution" + public Keyword getNormalDistributionKeyword_0() { return cNormalDistributionKeyword_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } + + //"mu" + public Keyword getMuKeyword_2() { return cMuKeyword_2; } + + //mu=EBigDecimal + public Assignment getMuAssignment_3() { return cMuAssignment_3; } + + //EBigDecimal + public RuleCall getMuEBigDecimalParserRuleCall_3_0() { return cMuEBigDecimalParserRuleCall_3_0; } + + //"sigma" + public Keyword getSigmaKeyword_4() { return cSigmaKeyword_4; } + + //sigma=EBigDecimal + public Assignment getSigmaAssignment_5() { return cSigmaAssignment_5; } + + //EBigDecimal + public RuleCall getSigmaEBigDecimalParserRuleCall_5_0() { return cSigmaEBigDecimalParserRuleCall_5_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } + } + + public class ExponentialDistributionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ExponentialDistribution"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cExponentialDistributionKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Keyword cRateKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cRateAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cRateEBigDecimalParserRuleCall_3_0 = (RuleCall)cRateAssignment_3.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); + + //ExponentialDistribution returns functions::ExponentialDistribution: + // "ExponentialDistribution" "{" "rate" rate=EBigDecimal "}"; + public ParserRule getRule() { return rule; } + + //"ExponentialDistribution" "{" "rate" rate=EBigDecimal "}" + public Group getGroup() { return cGroup; } + + //"ExponentialDistribution" + public Keyword getExponentialDistributionKeyword_0() { return cExponentialDistributionKeyword_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } + + //"rate" + public Keyword getRateKeyword_2() { return cRateKeyword_2; } + + //rate=EBigDecimal + public Assignment getRateAssignment_3() { return cRateAssignment_3; } + + //EBigDecimal + public RuleCall getRateEBigDecimalParserRuleCall_3_0() { return cRateEBigDecimalParserRuleCall_3_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; } + } + + public class SampleElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Sample"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cSampleKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Keyword cProbabilityKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cProbabilityAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cProbabilityEBigDecimalParserRuleCall_3_0 = (RuleCall)cProbabilityAssignment_3.eContents().get(0); + private final Keyword cValueKeyword_4 = (Keyword)cGroup.eContents().get(4); + private final Assignment cValueAssignment_5 = (Assignment)cGroup.eContents().get(5); + private final CrossReference cValueEObjectCrossReference_5_0 = (CrossReference)cValueAssignment_5.eContents().get(0); + private final RuleCall cValueEObjectEStringParserRuleCall_5_0_1 = (RuleCall)cValueEObjectCrossReference_5_0.eContents().get(1); + private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); + + //Sample returns functions::Sample: + // "Sample" "{" "probability" probability=EBigDecimal "value" value=[ecore::EObject|EString] "}"; + public ParserRule getRule() { return rule; } + + //"Sample" "{" "probability" probability=EBigDecimal "value" value=[ecore::EObject|EString] "}" + public Group getGroup() { return cGroup; } + + //"Sample" + public Keyword getSampleKeyword_0() { return cSampleKeyword_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } + + //"probability" + public Keyword getProbabilityKeyword_2() { return cProbabilityKeyword_2; } + + //probability=EBigDecimal + public Assignment getProbabilityAssignment_3() { return cProbabilityAssignment_3; } + + //EBigDecimal + public RuleCall getProbabilityEBigDecimalParserRuleCall_3_0() { return cProbabilityEBigDecimalParserRuleCall_3_0; } + + //"value" + public Keyword getValueKeyword_4() { return cValueKeyword_4; } + + //value=[ecore::EObject|EString] + public Assignment getValueAssignment_5() { return cValueAssignment_5; } + + //[ecore::EObject|EString] + public CrossReference getValueEObjectCrossReference_5_0() { return cValueEObjectCrossReference_5_0; } + + //EString + public RuleCall getValueEObjectEStringParserRuleCall_5_0_1() { return cValueEObjectEStringParserRuleCall_5_0_1; } + + //"}" + public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } + } + + public class EObjectElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EObject"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cEObjectAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cEObjectKeyword_1 = (Keyword)cGroup.eContents().get(1); + + //EObject returns ecore::EObject: + // {ecore::EObject} "EObject"; + public ParserRule getRule() { return rule; } + + //{ecore::EObject} "EObject" + public Group getGroup() { return cGroup; } + + //{ecore::EObject} + public Action getEObjectAction_0() { return cEObjectAction_0; } + + //"EObject" + public Keyword getEObjectKeyword_1() { return cEObjectKeyword_1; } + } + + public class EBigDecimalElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EBigDecimal"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final RuleCall cINTTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0); + private final Keyword cFullStopKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final RuleCall cINTTerminalRuleCall_2 = (RuleCall)cGroup.eContents().get(2); + + //EBigDecimal returns ecore::EBigDecimal: + // INT? "." INT; + public ParserRule getRule() { return rule; } + + //INT? "." INT + public Group getGroup() { return cGroup; } + + //INT? + public RuleCall getINTTerminalRuleCall_0() { return cINTTerminalRuleCall_0; } + + //"." + public Keyword getFullStopKeyword_1() { return cFullStopKeyword_1; } + + //INT + public RuleCall getINTTerminalRuleCall_2() { return cINTTerminalRuleCall_2; } + } + + public class ContinuousSampleElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ContinuousSample"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cContinuousSampleKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Keyword cValueKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cValueAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cValueEBigDecimalParserRuleCall_3_0 = (RuleCall)cValueAssignment_3.eContents().get(0); + private final Keyword cProbabilityKeyword_4 = (Keyword)cGroup.eContents().get(4); + private final Assignment cProbabilityAssignment_5 = (Assignment)cGroup.eContents().get(5); + private final RuleCall cProbabilityEBigDecimalParserRuleCall_5_0 = (RuleCall)cProbabilityAssignment_5.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); + + //ContinuousSample returns functions::ContinuousSample: + // "ContinuousSample" "{" "value" value=EBigDecimal "probability" probability=EBigDecimal "}"; + public ParserRule getRule() { return rule; } + + //"ContinuousSample" "{" "value" value=EBigDecimal "probability" probability=EBigDecimal "}" + public Group getGroup() { return cGroup; } + + //"ContinuousSample" + public Keyword getContinuousSampleKeyword_0() { return cContinuousSampleKeyword_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } + + //"value" + public Keyword getValueKeyword_2() { return cValueKeyword_2; } + + //value=EBigDecimal + public Assignment getValueAssignment_3() { return cValueAssignment_3; } + + //EBigDecimal + public RuleCall getValueEBigDecimalParserRuleCall_3_0() { return cValueEBigDecimalParserRuleCall_3_0; } + + //"probability" + public Keyword getProbabilityKeyword_4() { return cProbabilityKeyword_4; } + + //probability=EBigDecimal + public Assignment getProbabilityAssignment_5() { return cProbabilityAssignment_5; } + + //EBigDecimal + public RuleCall getProbabilityEBigDecimalParserRuleCall_5_0() { return cProbabilityEBigDecimalParserRuleCall_5_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } + } + + public class LoopIterationCountDistributionElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LoopIterationCountDistribution"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cLoopIterationCountDistributionKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Keyword cLoopIterationCountDistributionKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cLoopIterationCountDistributionAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final CrossReference cLoopIterationCountDistributionRandomVariableCrossReference_3_0 = (CrossReference)cLoopIterationCountDistributionAssignment_3.eContents().get(0); + private final RuleCall cLoopIterationCountDistributionRandomVariableEStringParserRuleCall_3_0_1 = (RuleCall)cLoopIterationCountDistributionRandomVariableCrossReference_3_0.eContents().get(1); + private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); + + //LoopIterationCountDistribution returns servicebehavior::LoopIterationCountDistribution: + // "LoopIterationCountDistribution" "{" "loopIterationCountDistribution" + // loopIterationCountDistribution=[functions::RandomVariable|EString] "}"; + public ParserRule getRule() { return rule; } + + //"LoopIterationCountDistribution" "{" "loopIterationCountDistribution" + //loopIterationCountDistribution=[functions::RandomVariable|EString] "}" + public Group getGroup() { return cGroup; } + + //"LoopIterationCountDistribution" + public Keyword getLoopIterationCountDistributionKeyword_0() { return cLoopIterationCountDistributionKeyword_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } + + //"loopIterationCountDistribution" + public Keyword getLoopIterationCountDistributionKeyword_2() { return cLoopIterationCountDistributionKeyword_2; } + + //loopIterationCountDistribution=[functions::RandomVariable|EString] + public Assignment getLoopIterationCountDistributionAssignment_3() { return cLoopIterationCountDistributionAssignment_3; } + + //[functions::RandomVariable|EString] + public CrossReference getLoopIterationCountDistributionRandomVariableCrossReference_3_0() { return cLoopIterationCountDistributionRandomVariableCrossReference_3_0; } + + //EString + public RuleCall getLoopIterationCountDistributionRandomVariableEStringParserRuleCall_3_0_1() { return cLoopIterationCountDistributionRandomVariableEStringParserRuleCall_3_0_1; } + + //"}" + public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; } + } + + public class AssemblyContextElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AssemblyContext"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cAssemblyContextKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0); + private final Keyword cEncapsulatedComponentKeyword_5 = (Keyword)cGroup.eContents().get(5); + private final Assignment cEncapsulatedComponentAssignment_6 = (Assignment)cGroup.eContents().get(6); + private final CrossReference cEncapsulatedComponentRepositoryComponentCrossReference_6_0 = (CrossReference)cEncapsulatedComponentAssignment_6.eContents().get(0); + private final RuleCall cEncapsulatedComponentRepositoryComponentEStringParserRuleCall_6_0_1 = (RuleCall)cEncapsulatedComponentRepositoryComponentCrossReference_6_0.eContents().get(1); + private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); + + //AssemblyContext returns repository::AssemblyContext: + // "AssemblyContext" id=EString "{" "name" name=EString "encapsulatedComponent" + // encapsulatedComponent=[repository::RepositoryComponent|EString] "}"; + public ParserRule getRule() { return rule; } + + //"AssemblyContext" id=EString "{" "name" name=EString "encapsulatedComponent" + //encapsulatedComponent=[repository::RepositoryComponent|EString] "}" + public Group getGroup() { return cGroup; } + + //"AssemblyContext" + public Keyword getAssemblyContextKeyword_0() { return cAssemblyContextKeyword_0; } + + //id=EString + public Assignment getIdAssignment_1() { return cIdAssignment_1; } + + //EString + public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //"name" + public Keyword getNameKeyword_3() { return cNameKeyword_3; } + + //name=EString + public Assignment getNameAssignment_4() { return cNameAssignment_4; } + + //EString + public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; } + + //"encapsulatedComponent" + public Keyword getEncapsulatedComponentKeyword_5() { return cEncapsulatedComponentKeyword_5; } + + //encapsulatedComponent=[repository::RepositoryComponent|EString] + public Assignment getEncapsulatedComponentAssignment_6() { return cEncapsulatedComponentAssignment_6; } + + //[repository::RepositoryComponent|EString] + public CrossReference getEncapsulatedComponentRepositoryComponentCrossReference_6_0() { return cEncapsulatedComponentRepositoryComponentCrossReference_6_0; } + + //EString + public RuleCall getEncapsulatedComponentRepositoryComponentEStringParserRuleCall_6_0_1() { return cEncapsulatedComponentRepositoryComponentEStringParserRuleCall_6_0_1; } + + //"}" + public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; } + } + + public class AssemblyConnectorElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AssemblyConnector"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cAssemblyConnectorKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0); + private final Keyword cRequiredRoleKeyword_5 = (Keyword)cGroup.eContents().get(5); + private final Assignment cRequiredRoleAssignment_6 = (Assignment)cGroup.eContents().get(6); + private final CrossReference cRequiredRoleRequiredRoleCrossReference_6_0 = (CrossReference)cRequiredRoleAssignment_6.eContents().get(0); + private final RuleCall cRequiredRoleRequiredRoleEStringParserRuleCall_6_0_1 = (RuleCall)cRequiredRoleRequiredRoleCrossReference_6_0.eContents().get(1); + private final Keyword cProvidedRoleKeyword_7 = (Keyword)cGroup.eContents().get(7); + private final Assignment cProvidedRoleAssignment_8 = (Assignment)cGroup.eContents().get(8); + private final CrossReference cProvidedRoleProvidedRoleCrossReference_8_0 = (CrossReference)cProvidedRoleAssignment_8.eContents().get(0); + private final RuleCall cProvidedRoleProvidedRoleEStringParserRuleCall_8_0_1 = (RuleCall)cProvidedRoleProvidedRoleCrossReference_8_0.eContents().get(1); + private final Keyword cProvidingAssemblyContextKeyword_9 = (Keyword)cGroup.eContents().get(9); + private final Assignment cProvidingAssemblyContextAssignment_10 = (Assignment)cGroup.eContents().get(10); + private final CrossReference cProvidingAssemblyContextAssemblyContextCrossReference_10_0 = (CrossReference)cProvidingAssemblyContextAssignment_10.eContents().get(0); + private final RuleCall cProvidingAssemblyContextAssemblyContextEStringParserRuleCall_10_0_1 = (RuleCall)cProvidingAssemblyContextAssemblyContextCrossReference_10_0.eContents().get(1); + private final Keyword cRequiringAssemblyContextKeyword_11 = (Keyword)cGroup.eContents().get(11); + private final Assignment cRequiringAssemblyContextAssignment_12 = (Assignment)cGroup.eContents().get(12); + private final CrossReference cRequiringAssemblyContextAssemblyContextCrossReference_12_0 = (CrossReference)cRequiringAssemblyContextAssignment_12.eContents().get(0); + private final RuleCall cRequiringAssemblyContextAssemblyContextEStringParserRuleCall_12_0_1 = (RuleCall)cRequiringAssemblyContextAssemblyContextCrossReference_12_0.eContents().get(1); + private final Keyword cRightCurlyBracketKeyword_13 = (Keyword)cGroup.eContents().get(13); + + //AssemblyConnector returns repository::AssemblyConnector: + // "AssemblyConnector" id=EString "{" "name" name=EString "requiredRole" requiredRole=[repository::RequiredRole|EString] + // "providedRole" providedRole=[repository::ProvidedRole|EString] "providingAssemblyContext" + // providingAssemblyContext=[repository::AssemblyContext|EString] "requiringAssemblyContext" + // requiringAssemblyContext=[repository::AssemblyContext|EString] "}"; + public ParserRule getRule() { return rule; } + + //"AssemblyConnector" id=EString "{" "name" name=EString "requiredRole" requiredRole=[repository::RequiredRole|EString] + //"providedRole" providedRole=[repository::ProvidedRole|EString] "providingAssemblyContext" + //providingAssemblyContext=[repository::AssemblyContext|EString] "requiringAssemblyContext" + //requiringAssemblyContext=[repository::AssemblyContext|EString] "}" + public Group getGroup() { return cGroup; } + + //"AssemblyConnector" + public Keyword getAssemblyConnectorKeyword_0() { return cAssemblyConnectorKeyword_0; } + + //id=EString + public Assignment getIdAssignment_1() { return cIdAssignment_1; } + + //EString + public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //"name" + public Keyword getNameKeyword_3() { return cNameKeyword_3; } + + //name=EString + public Assignment getNameAssignment_4() { return cNameAssignment_4; } + + //EString + public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; } + + //"requiredRole" + public Keyword getRequiredRoleKeyword_5() { return cRequiredRoleKeyword_5; } + + //requiredRole=[repository::RequiredRole|EString] + public Assignment getRequiredRoleAssignment_6() { return cRequiredRoleAssignment_6; } + + //[repository::RequiredRole|EString] + public CrossReference getRequiredRoleRequiredRoleCrossReference_6_0() { return cRequiredRoleRequiredRoleCrossReference_6_0; } + + //EString + public RuleCall getRequiredRoleRequiredRoleEStringParserRuleCall_6_0_1() { return cRequiredRoleRequiredRoleEStringParserRuleCall_6_0_1; } + + //"providedRole" + public Keyword getProvidedRoleKeyword_7() { return cProvidedRoleKeyword_7; } + + //providedRole=[repository::ProvidedRole|EString] + public Assignment getProvidedRoleAssignment_8() { return cProvidedRoleAssignment_8; } + + //[repository::ProvidedRole|EString] + public CrossReference getProvidedRoleProvidedRoleCrossReference_8_0() { return cProvidedRoleProvidedRoleCrossReference_8_0; } + + //EString + public RuleCall getProvidedRoleProvidedRoleEStringParserRuleCall_8_0_1() { return cProvidedRoleProvidedRoleEStringParserRuleCall_8_0_1; } + + //"providingAssemblyContext" + public Keyword getProvidingAssemblyContextKeyword_9() { return cProvidingAssemblyContextKeyword_9; } + + //providingAssemblyContext=[repository::AssemblyContext|EString] + public Assignment getProvidingAssemblyContextAssignment_10() { return cProvidingAssemblyContextAssignment_10; } + + //[repository::AssemblyContext|EString] + public CrossReference getProvidingAssemblyContextAssemblyContextCrossReference_10_0() { return cProvidingAssemblyContextAssemblyContextCrossReference_10_0; } + + //EString + public RuleCall getProvidingAssemblyContextAssemblyContextEStringParserRuleCall_10_0_1() { return cProvidingAssemblyContextAssemblyContextEStringParserRuleCall_10_0_1; } + + //"requiringAssemblyContext" + public Keyword getRequiringAssemblyContextKeyword_11() { return cRequiringAssemblyContextKeyword_11; } + + //requiringAssemblyContext=[repository::AssemblyContext|EString] + public Assignment getRequiringAssemblyContextAssignment_12() { return cRequiringAssemblyContextAssignment_12; } + + //[repository::AssemblyContext|EString] + public CrossReference getRequiringAssemblyContextAssemblyContextCrossReference_12_0() { return cRequiringAssemblyContextAssemblyContextCrossReference_12_0; } + + //EString + public RuleCall getRequiringAssemblyContextAssemblyContextEStringParserRuleCall_12_0_1() { return cRequiringAssemblyContextAssemblyContextEStringParserRuleCall_12_0_1; } + + //"}" + public Keyword getRightCurlyBracketKeyword_13() { return cRightCurlyBracketKeyword_13; } + } + + public class ProvidedDelegationConnectorElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ProvidedDelegationConnector"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cProvidedDelegationConnectorKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0); + private final Keyword cAssemblyContextKeyword_5 = (Keyword)cGroup.eContents().get(5); + private final Assignment cAssemblyContextAssignment_6 = (Assignment)cGroup.eContents().get(6); + private final CrossReference cAssemblyContextAssemblyContextCrossReference_6_0 = (CrossReference)cAssemblyContextAssignment_6.eContents().get(0); + private final RuleCall cAssemblyContextAssemblyContextEStringParserRuleCall_6_0_1 = (RuleCall)cAssemblyContextAssemblyContextCrossReference_6_0.eContents().get(1); + private final Keyword cInnerProvidedRoleKeyword_7 = (Keyword)cGroup.eContents().get(7); + private final Assignment cInnerProvidedRoleAssignment_8 = (Assignment)cGroup.eContents().get(8); + private final CrossReference cInnerProvidedRoleProvidedRoleCrossReference_8_0 = (CrossReference)cInnerProvidedRoleAssignment_8.eContents().get(0); + private final RuleCall cInnerProvidedRoleProvidedRoleEStringParserRuleCall_8_0_1 = (RuleCall)cInnerProvidedRoleProvidedRoleCrossReference_8_0.eContents().get(1); + private final Keyword cOuterProvidedRoleKeyword_9 = (Keyword)cGroup.eContents().get(9); + private final Assignment cOuterProvidedRoleAssignment_10 = (Assignment)cGroup.eContents().get(10); + private final CrossReference cOuterProvidedRoleProvidedRoleCrossReference_10_0 = (CrossReference)cOuterProvidedRoleAssignment_10.eContents().get(0); + private final RuleCall cOuterProvidedRoleProvidedRoleEStringParserRuleCall_10_0_1 = (RuleCall)cOuterProvidedRoleProvidedRoleCrossReference_10_0.eContents().get(1); + private final Keyword cRightCurlyBracketKeyword_11 = (Keyword)cGroup.eContents().get(11); + + //ProvidedDelegationConnector returns repository::ProvidedDelegationConnector: + // "ProvidedDelegationConnector" id=EString "{" "name" name=EString "assemblyContext" + // assemblyContext=[repository::AssemblyContext|EString] "innerProvidedRole" + // innerProvidedRole=[repository::ProvidedRole|EString] "outerProvidedRole" + // outerProvidedRole=[repository::ProvidedRole|EString] "}"; + public ParserRule getRule() { return rule; } + + //"ProvidedDelegationConnector" id=EString "{" "name" name=EString "assemblyContext" + //assemblyContext=[repository::AssemblyContext|EString] "innerProvidedRole" + //innerProvidedRole=[repository::ProvidedRole|EString] "outerProvidedRole" + //outerProvidedRole=[repository::ProvidedRole|EString] "}" + public Group getGroup() { return cGroup; } + + //"ProvidedDelegationConnector" + public Keyword getProvidedDelegationConnectorKeyword_0() { return cProvidedDelegationConnectorKeyword_0; } + + //id=EString + public Assignment getIdAssignment_1() { return cIdAssignment_1; } + + //EString + public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //"name" + public Keyword getNameKeyword_3() { return cNameKeyword_3; } + + //name=EString + public Assignment getNameAssignment_4() { return cNameAssignment_4; } + + //EString + public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; } + + //"assemblyContext" + public Keyword getAssemblyContextKeyword_5() { return cAssemblyContextKeyword_5; } + + //assemblyContext=[repository::AssemblyContext|EString] + public Assignment getAssemblyContextAssignment_6() { return cAssemblyContextAssignment_6; } + + //[repository::AssemblyContext|EString] + public CrossReference getAssemblyContextAssemblyContextCrossReference_6_0() { return cAssemblyContextAssemblyContextCrossReference_6_0; } + + //EString + public RuleCall getAssemblyContextAssemblyContextEStringParserRuleCall_6_0_1() { return cAssemblyContextAssemblyContextEStringParserRuleCall_6_0_1; } + + //"innerProvidedRole" + public Keyword getInnerProvidedRoleKeyword_7() { return cInnerProvidedRoleKeyword_7; } + + //innerProvidedRole=[repository::ProvidedRole|EString] + public Assignment getInnerProvidedRoleAssignment_8() { return cInnerProvidedRoleAssignment_8; } + + //[repository::ProvidedRole|EString] + public CrossReference getInnerProvidedRoleProvidedRoleCrossReference_8_0() { return cInnerProvidedRoleProvidedRoleCrossReference_8_0; } + + //EString + public RuleCall getInnerProvidedRoleProvidedRoleEStringParserRuleCall_8_0_1() { return cInnerProvidedRoleProvidedRoleEStringParserRuleCall_8_0_1; } + + //"outerProvidedRole" + public Keyword getOuterProvidedRoleKeyword_9() { return cOuterProvidedRoleKeyword_9; } + + //outerProvidedRole=[repository::ProvidedRole|EString] + public Assignment getOuterProvidedRoleAssignment_10() { return cOuterProvidedRoleAssignment_10; } + + //[repository::ProvidedRole|EString] + public CrossReference getOuterProvidedRoleProvidedRoleCrossReference_10_0() { return cOuterProvidedRoleProvidedRoleCrossReference_10_0; } + + //EString + public RuleCall getOuterProvidedRoleProvidedRoleEStringParserRuleCall_10_0_1() { return cOuterProvidedRoleProvidedRoleEStringParserRuleCall_10_0_1; } + + //"}" + public Keyword getRightCurlyBracketKeyword_11() { return cRightCurlyBracketKeyword_11; } + } + + public class RequiredDelegationConnectorElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RequiredDelegationConnector"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cRequiredDelegationConnectorKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cIdEStringParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Keyword cNameKeyword_3 = (Keyword)cGroup.eContents().get(3); + private final Assignment cNameAssignment_4 = (Assignment)cGroup.eContents().get(4); + private final RuleCall cNameEStringParserRuleCall_4_0 = (RuleCall)cNameAssignment_4.eContents().get(0); + private final Keyword cAssemblyContextKeyword_5 = (Keyword)cGroup.eContents().get(5); + private final Assignment cAssemblyContextAssignment_6 = (Assignment)cGroup.eContents().get(6); + private final CrossReference cAssemblyContextAssemblyContextCrossReference_6_0 = (CrossReference)cAssemblyContextAssignment_6.eContents().get(0); + private final RuleCall cAssemblyContextAssemblyContextEStringParserRuleCall_6_0_1 = (RuleCall)cAssemblyContextAssemblyContextCrossReference_6_0.eContents().get(1); + private final Keyword cInnerRequiredRoleKeyword_7 = (Keyword)cGroup.eContents().get(7); + private final Assignment cInnerRequiredRoleAssignment_8 = (Assignment)cGroup.eContents().get(8); + private final CrossReference cInnerRequiredRoleRequiredRoleCrossReference_8_0 = (CrossReference)cInnerRequiredRoleAssignment_8.eContents().get(0); + private final RuleCall cInnerRequiredRoleRequiredRoleEStringParserRuleCall_8_0_1 = (RuleCall)cInnerRequiredRoleRequiredRoleCrossReference_8_0.eContents().get(1); + private final Keyword cOuterRequiredRoleKeyword_9 = (Keyword)cGroup.eContents().get(9); + private final Assignment cOuterRequiredRoleAssignment_10 = (Assignment)cGroup.eContents().get(10); + private final CrossReference cOuterRequiredRoleRequiredRoleCrossReference_10_0 = (CrossReference)cOuterRequiredRoleAssignment_10.eContents().get(0); + private final RuleCall cOuterRequiredRoleRequiredRoleEStringParserRuleCall_10_0_1 = (RuleCall)cOuterRequiredRoleRequiredRoleCrossReference_10_0.eContents().get(1); + private final Keyword cRightCurlyBracketKeyword_11 = (Keyword)cGroup.eContents().get(11); + + //RequiredDelegationConnector returns repository::RequiredDelegationConnector: + // "RequiredDelegationConnector" id=EString "{" "name" name=EString "assemblyContext" + // assemblyContext=[repository::AssemblyContext|EString] "innerRequiredRole" + // innerRequiredRole=[repository::RequiredRole|EString] "outerRequiredRole" + // outerRequiredRole=[repository::RequiredRole|EString] "}"; + public ParserRule getRule() { return rule; } + + //"RequiredDelegationConnector" id=EString "{" "name" name=EString "assemblyContext" + //assemblyContext=[repository::AssemblyContext|EString] "innerRequiredRole" + //innerRequiredRole=[repository::RequiredRole|EString] "outerRequiredRole" + //outerRequiredRole=[repository::RequiredRole|EString] "}" + public Group getGroup() { return cGroup; } + + //"RequiredDelegationConnector" + public Keyword getRequiredDelegationConnectorKeyword_0() { return cRequiredDelegationConnectorKeyword_0; } + + //id=EString + public Assignment getIdAssignment_1() { return cIdAssignment_1; } + + //EString + public RuleCall getIdEStringParserRuleCall_1_0() { return cIdEStringParserRuleCall_1_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //"name" + public Keyword getNameKeyword_3() { return cNameKeyword_3; } + + //name=EString + public Assignment getNameAssignment_4() { return cNameAssignment_4; } + + //EString + public RuleCall getNameEStringParserRuleCall_4_0() { return cNameEStringParserRuleCall_4_0; } + + //"assemblyContext" + public Keyword getAssemblyContextKeyword_5() { return cAssemblyContextKeyword_5; } + + //assemblyContext=[repository::AssemblyContext|EString] + public Assignment getAssemblyContextAssignment_6() { return cAssemblyContextAssignment_6; } + + //[repository::AssemblyContext|EString] + public CrossReference getAssemblyContextAssemblyContextCrossReference_6_0() { return cAssemblyContextAssemblyContextCrossReference_6_0; } + + //EString + public RuleCall getAssemblyContextAssemblyContextEStringParserRuleCall_6_0_1() { return cAssemblyContextAssemblyContextEStringParserRuleCall_6_0_1; } + + //"innerRequiredRole" + public Keyword getInnerRequiredRoleKeyword_7() { return cInnerRequiredRoleKeyword_7; } + + //innerRequiredRole=[repository::RequiredRole|EString] + public Assignment getInnerRequiredRoleAssignment_8() { return cInnerRequiredRoleAssignment_8; } + + //[repository::RequiredRole|EString] + public CrossReference getInnerRequiredRoleRequiredRoleCrossReference_8_0() { return cInnerRequiredRoleRequiredRoleCrossReference_8_0; } + + //EString + public RuleCall getInnerRequiredRoleRequiredRoleEStringParserRuleCall_8_0_1() { return cInnerRequiredRoleRequiredRoleEStringParserRuleCall_8_0_1; } + + //"outerRequiredRole" + public Keyword getOuterRequiredRoleKeyword_9() { return cOuterRequiredRoleKeyword_9; } + + //outerRequiredRole=[repository::RequiredRole|EString] + public Assignment getOuterRequiredRoleAssignment_10() { return cOuterRequiredRoleAssignment_10; } + + //[repository::RequiredRole|EString] + public CrossReference getOuterRequiredRoleRequiredRoleCrossReference_10_0() { return cOuterRequiredRoleRequiredRoleCrossReference_10_0; } + + //EString + public RuleCall getOuterRequiredRoleRequiredRoleEStringParserRuleCall_10_0_1() { return cOuterRequiredRoleRequiredRoleEStringParserRuleCall_10_0_1; } + + //"}" + public Keyword getRightCurlyBracketKeyword_11() { return cRightCurlyBracketKeyword_11; } + } + + public class ExternalCall_ImplElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ExternalCall_Impl"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cExternalCallKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Keyword cSignatureKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cSignatureAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final CrossReference cSignatureSignatureCrossReference_3_0 = (CrossReference)cSignatureAssignment_3.eContents().get(0); + private final RuleCall cSignatureSignatureEStringParserRuleCall_3_0_1 = (RuleCall)cSignatureSignatureCrossReference_3_0.eContents().get(1); + private final Keyword cRequiredRoleKeyword_4 = (Keyword)cGroup.eContents().get(4); + private final Assignment cRequiredRoleAssignment_5 = (Assignment)cGroup.eContents().get(5); + private final CrossReference cRequiredRoleRequiredRoleCrossReference_5_0 = (CrossReference)cRequiredRoleAssignment_5.eContents().get(0); + private final RuleCall cRequiredRoleRequiredRoleEStringParserRuleCall_5_0_1 = (RuleCall)cRequiredRoleRequiredRoleCrossReference_5_0.eContents().get(1); + private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); + + //ExternalCall_Impl returns servicebehavior::ExternalCall: + // "ExternalCall" "{" "signature" signature=[repository::Signature|EString] "requiredRole" + // requiredRole=[repository::RequiredRole|EString] "}"; + public ParserRule getRule() { return rule; } + + //"ExternalCall" "{" "signature" signature=[repository::Signature|EString] "requiredRole" + //requiredRole=[repository::RequiredRole|EString] "}" + public Group getGroup() { return cGroup; } + + //"ExternalCall" + public Keyword getExternalCallKeyword_0() { return cExternalCallKeyword_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } + + //"signature" + public Keyword getSignatureKeyword_2() { return cSignatureKeyword_2; } + + //signature=[repository::Signature|EString] + public Assignment getSignatureAssignment_3() { return cSignatureAssignment_3; } + + //[repository::Signature|EString] + public CrossReference getSignatureSignatureCrossReference_3_0() { return cSignatureSignatureCrossReference_3_0; } + + //EString + public RuleCall getSignatureSignatureEStringParserRuleCall_3_0_1() { return cSignatureSignatureEStringParserRuleCall_3_0_1; } + + //"requiredRole" + public Keyword getRequiredRoleKeyword_4() { return cRequiredRoleKeyword_4; } + + //requiredRole=[repository::RequiredRole|EString] + public Assignment getRequiredRoleAssignment_5() { return cRequiredRoleAssignment_5; } + + //[repository::RequiredRole|EString] + public CrossReference getRequiredRoleRequiredRoleCrossReference_5_0() { return cRequiredRoleRequiredRoleCrossReference_5_0; } + + //EString + public RuleCall getRequiredRoleRequiredRoleEStringParserRuleCall_5_0_1() { return cRequiredRoleRequiredRoleEStringParserRuleCall_5_0_1; } + + //"}" + public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } + } + + public class ExternalCallFrequencyElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ExternalCallFrequency"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cExternalCallFrequencyKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Keyword cExternalCallKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cExternalCallAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cExternalCallExternalCallParserRuleCall_3_0 = (RuleCall)cExternalCallAssignment_3.eContents().get(0); + private final Keyword cFrequencyKeyword_4 = (Keyword)cGroup.eContents().get(4); + private final Assignment cFrequencyAssignment_5 = (Assignment)cGroup.eContents().get(5); + private final RuleCall cFrequencyCallFrequencyParserRuleCall_5_0 = (RuleCall)cFrequencyAssignment_5.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); + + //ExternalCallFrequency returns servicebehavior::ExternalCallFrequency: + // "ExternalCallFrequency" "{" "externalCall" externalCall=ExternalCall "frequency" frequency=CallFrequency "}"; + public ParserRule getRule() { return rule; } + + //"ExternalCallFrequency" "{" "externalCall" externalCall=ExternalCall "frequency" frequency=CallFrequency "}" + public Group getGroup() { return cGroup; } + + //"ExternalCallFrequency" + public Keyword getExternalCallFrequencyKeyword_0() { return cExternalCallFrequencyKeyword_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } + + //"externalCall" + public Keyword getExternalCallKeyword_2() { return cExternalCallKeyword_2; } + + //externalCall=ExternalCall + public Assignment getExternalCallAssignment_3() { return cExternalCallAssignment_3; } + + //ExternalCall + public RuleCall getExternalCallExternalCallParserRuleCall_3_0() { return cExternalCallExternalCallParserRuleCall_3_0; } + + //"frequency" + public Keyword getFrequencyKeyword_4() { return cFrequencyKeyword_4; } + + //frequency=CallFrequency + public Assignment getFrequencyAssignment_5() { return cFrequencyAssignment_5; } + + //CallFrequency + public RuleCall getFrequencyCallFrequencyParserRuleCall_5_0() { return cFrequencyCallFrequencyParserRuleCall_5_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } + } + + public class CallFrequencyElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "CallFrequency"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cCallFrequencyKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Keyword cFrequencyKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cFrequencyAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final CrossReference cFrequencyRandomVariableCrossReference_3_0 = (CrossReference)cFrequencyAssignment_3.eContents().get(0); + private final RuleCall cFrequencyRandomVariableEStringParserRuleCall_3_0_1 = (RuleCall)cFrequencyRandomVariableCrossReference_3_0.eContents().get(1); + private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); + + //CallFrequency returns servicebehavior::CallFrequency: + // "CallFrequency" "{" "frequency" frequency=[functions::RandomVariable|EString] "}"; + public ParserRule getRule() { return rule; } + + //"CallFrequency" "{" "frequency" frequency=[functions::RandomVariable|EString] "}" + public Group getGroup() { return cGroup; } + + //"CallFrequency" + public Keyword getCallFrequencyKeyword_0() { return cCallFrequencyKeyword_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } + + //"frequency" + public Keyword getFrequencyKeyword_2() { return cFrequencyKeyword_2; } + + //frequency=[functions::RandomVariable|EString] + public Assignment getFrequencyAssignment_3() { return cFrequencyAssignment_3; } + + //[functions::RandomVariable|EString] + public CrossReference getFrequencyRandomVariableCrossReference_3_0() { return cFrequencyRandomVariableCrossReference_3_0; } + + //EString + public RuleCall getFrequencyRandomVariableEStringParserRuleCall_3_0_1() { return cFrequencyRandomVariableEStringParserRuleCall_3_0_1; } + + //"}" + public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; } + } + + public class DependencyRelationshipElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DependencyRelationship"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cDependencyRelationshipKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Keyword cSurroundingEntityKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cSurroundingEntityAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final CrossReference cSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0 = (CrossReference)cSurroundingEntityAssignment_3.eContents().get(0); + private final RuleCall cSurroundingEntityInterfaceProvidingRequiringEntityEStringParserRuleCall_3_0_1 = (RuleCall)cSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0.eContents().get(1); + private final Keyword cInfluencedVariableKeyword_4 = (Keyword)cGroup.eContents().get(4); + private final Assignment cInfluencedVariableAssignment_5 = (Assignment)cGroup.eContents().get(5); + private final CrossReference cInfluencedVariableInfluencedVariableCrossReference_5_0 = (CrossReference)cInfluencedVariableAssignment_5.eContents().get(0); + private final RuleCall cInfluencedVariableInfluencedVariableEStringParserRuleCall_5_0_1 = (RuleCall)cInfluencedVariableInfluencedVariableCrossReference_5_0.eContents().get(1); + private final Keyword cInfluencingParameterKeyword_6 = (Keyword)cGroup.eContents().get(6); + private final Assignment cInfluencingParameterAssignment_7 = (Assignment)cGroup.eContents().get(7); + private final CrossReference cInfluencingParameterInfluencingParameterCrossReference_7_0 = (CrossReference)cInfluencingParameterAssignment_7.eContents().get(0); + private final RuleCall cInfluencingParameterInfluencingParameterEStringParserRuleCall_7_0_1 = (RuleCall)cInfluencingParameterInfluencingParameterCrossReference_7_0.eContents().get(1); + private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8); + + //DependencyRelationship: + // "DependencyRelationship" "{" "surroundingEntity" + // surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString] "influencedVariable" + // influencedVariable=[InfluencedVariable|EString] "influencingParameter" + // influencingParameter=[InfluencingParameter|EString] "}"; + public ParserRule getRule() { return rule; } + + //"DependencyRelationship" "{" "surroundingEntity" + //surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString] "influencedVariable" + //influencedVariable=[InfluencedVariable|EString] "influencingParameter" + //influencingParameter=[InfluencingParameter|EString] "}" + public Group getGroup() { return cGroup; } + + //"DependencyRelationship" + public Keyword getDependencyRelationshipKeyword_0() { return cDependencyRelationshipKeyword_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } + + //"surroundingEntity" + public Keyword getSurroundingEntityKeyword_2() { return cSurroundingEntityKeyword_2; } + + //surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString] + public Assignment getSurroundingEntityAssignment_3() { return cSurroundingEntityAssignment_3; } + + //[repository::InterfaceProvidingRequiringEntity|EString] + public CrossReference getSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0() { return cSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0; } + + //EString + public RuleCall getSurroundingEntityInterfaceProvidingRequiringEntityEStringParserRuleCall_3_0_1() { return cSurroundingEntityInterfaceProvidingRequiringEntityEStringParserRuleCall_3_0_1; } + + //"influencedVariable" + public Keyword getInfluencedVariableKeyword_4() { return cInfluencedVariableKeyword_4; } + + //influencedVariable=[InfluencedVariable|EString] + public Assignment getInfluencedVariableAssignment_5() { return cInfluencedVariableAssignment_5; } + + //[InfluencedVariable|EString] + public CrossReference getInfluencedVariableInfluencedVariableCrossReference_5_0() { return cInfluencedVariableInfluencedVariableCrossReference_5_0; } + + //EString + public RuleCall getInfluencedVariableInfluencedVariableEStringParserRuleCall_5_0_1() { return cInfluencedVariableInfluencedVariableEStringParserRuleCall_5_0_1; } + + //"influencingParameter" + public Keyword getInfluencingParameterKeyword_6() { return cInfluencingParameterKeyword_6; } + + //influencingParameter=[InfluencingParameter|EString] + public Assignment getInfluencingParameterAssignment_7() { return cInfluencingParameterAssignment_7; } + + //[InfluencingParameter|EString] + public CrossReference getInfluencingParameterInfluencingParameterCrossReference_7_0() { return cInfluencingParameterInfluencingParameterCrossReference_7_0; } + + //EString + public RuleCall getInfluencingParameterInfluencingParameterEStringParserRuleCall_7_0_1() { return cInfluencingParameterInfluencingParameterEStringParserRuleCall_7_0_1; } + + //"}" + public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; } + } + + public class CorrelationRelationshipElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "CorrelationRelationship"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cCorrelationRelationshipKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Keyword cSurroundingEntityKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cSurroundingEntityAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final CrossReference cSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0 = (CrossReference)cSurroundingEntityAssignment_3.eContents().get(0); + private final RuleCall cSurroundingEntityInterfaceProvidingRequiringEntityEStringParserRuleCall_3_0_1 = (RuleCall)cSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0.eContents().get(1); + private final Keyword cLeftInfluencingParameterKeyword_4 = (Keyword)cGroup.eContents().get(4); + private final Assignment cLeftInfluencingParameterAssignment_5 = (Assignment)cGroup.eContents().get(5); + private final CrossReference cLeftInfluencingParameterInfluencingParameterCrossReference_5_0 = (CrossReference)cLeftInfluencingParameterAssignment_5.eContents().get(0); + private final RuleCall cLeftInfluencingParameterInfluencingParameterEStringParserRuleCall_5_0_1 = (RuleCall)cLeftInfluencingParameterInfluencingParameterCrossReference_5_0.eContents().get(1); + private final Keyword cRightInfluencingParameterKeyword_6 = (Keyword)cGroup.eContents().get(6); + private final Assignment cRightInfluencingParameterAssignment_7 = (Assignment)cGroup.eContents().get(7); + private final CrossReference cRightInfluencingParameterInfluencingParameterCrossReference_7_0 = (CrossReference)cRightInfluencingParameterAssignment_7.eContents().get(0); + private final RuleCall cRightInfluencingParameterInfluencingParameterEStringParserRuleCall_7_0_1 = (RuleCall)cRightInfluencingParameterInfluencingParameterCrossReference_7_0.eContents().get(1); + private final Keyword cLeftComponentInstanceReferenceKeyword_8 = (Keyword)cGroup.eContents().get(8); + private final Assignment cLeftComponentInstanceReferenceAssignment_9 = (Assignment)cGroup.eContents().get(9); + private final RuleCall cLeftComponentInstanceReferenceComponentInstanceReferenceParserRuleCall_9_0 = (RuleCall)cLeftComponentInstanceReferenceAssignment_9.eContents().get(0); + private final Keyword cRightComponentInstanceReferenceKeyword_10 = (Keyword)cGroup.eContents().get(10); + private final Assignment cRightComponentInstanceReferenceAssignment_11 = (Assignment)cGroup.eContents().get(11); + private final RuleCall cRightComponentInstanceReferenceComponentInstanceReferenceParserRuleCall_11_0 = (RuleCall)cRightComponentInstanceReferenceAssignment_11.eContents().get(0); + private final Keyword cRightCurlyBracketKeyword_12 = (Keyword)cGroup.eContents().get(12); + + //CorrelationRelationship: + // "CorrelationRelationship" "{" "surroundingEntity" + // surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString] "leftInfluencingParameter" + // leftInfluencingParameter=[InfluencingParameter|EString] "rightInfluencingParameter" + // rightInfluencingParameter=[InfluencingParameter|EString] "leftComponentInstanceReference" + // leftComponentInstanceReference=ComponentInstanceReference "rightComponentInstanceReference" + // rightComponentInstanceReference=ComponentInstanceReference "}"; + public ParserRule getRule() { return rule; } + + //"CorrelationRelationship" "{" "surroundingEntity" + //surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString] "leftInfluencingParameter" + //leftInfluencingParameter=[InfluencingParameter|EString] "rightInfluencingParameter" + //rightInfluencingParameter=[InfluencingParameter|EString] "leftComponentInstanceReference" + //leftComponentInstanceReference=ComponentInstanceReference "rightComponentInstanceReference" + //rightComponentInstanceReference=ComponentInstanceReference "}" + public Group getGroup() { return cGroup; } + + //"CorrelationRelationship" + public Keyword getCorrelationRelationshipKeyword_0() { return cCorrelationRelationshipKeyword_0; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } + + //"surroundingEntity" + public Keyword getSurroundingEntityKeyword_2() { return cSurroundingEntityKeyword_2; } + + //surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString] + public Assignment getSurroundingEntityAssignment_3() { return cSurroundingEntityAssignment_3; } + + //[repository::InterfaceProvidingRequiringEntity|EString] + public CrossReference getSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0() { return cSurroundingEntityInterfaceProvidingRequiringEntityCrossReference_3_0; } + + //EString + public RuleCall getSurroundingEntityInterfaceProvidingRequiringEntityEStringParserRuleCall_3_0_1() { return cSurroundingEntityInterfaceProvidingRequiringEntityEStringParserRuleCall_3_0_1; } + + //"leftInfluencingParameter" + public Keyword getLeftInfluencingParameterKeyword_4() { return cLeftInfluencingParameterKeyword_4; } + + //leftInfluencingParameter=[InfluencingParameter|EString] + public Assignment getLeftInfluencingParameterAssignment_5() { return cLeftInfluencingParameterAssignment_5; } + + //[InfluencingParameter|EString] + public CrossReference getLeftInfluencingParameterInfluencingParameterCrossReference_5_0() { return cLeftInfluencingParameterInfluencingParameterCrossReference_5_0; } + + //EString + public RuleCall getLeftInfluencingParameterInfluencingParameterEStringParserRuleCall_5_0_1() { return cLeftInfluencingParameterInfluencingParameterEStringParserRuleCall_5_0_1; } + + //"rightInfluencingParameter" + public Keyword getRightInfluencingParameterKeyword_6() { return cRightInfluencingParameterKeyword_6; } + + //rightInfluencingParameter=[InfluencingParameter|EString] + public Assignment getRightInfluencingParameterAssignment_7() { return cRightInfluencingParameterAssignment_7; } + + //[InfluencingParameter|EString] + public CrossReference getRightInfluencingParameterInfluencingParameterCrossReference_7_0() { return cRightInfluencingParameterInfluencingParameterCrossReference_7_0; } + + //EString + public RuleCall getRightInfluencingParameterInfluencingParameterEStringParserRuleCall_7_0_1() { return cRightInfluencingParameterInfluencingParameterEStringParserRuleCall_7_0_1; } + + //"leftComponentInstanceReference" + public Keyword getLeftComponentInstanceReferenceKeyword_8() { return cLeftComponentInstanceReferenceKeyword_8; } + + //leftComponentInstanceReference=ComponentInstanceReference + public Assignment getLeftComponentInstanceReferenceAssignment_9() { return cLeftComponentInstanceReferenceAssignment_9; } + + //ComponentInstanceReference + public RuleCall getLeftComponentInstanceReferenceComponentInstanceReferenceParserRuleCall_9_0() { return cLeftComponentInstanceReferenceComponentInstanceReferenceParserRuleCall_9_0; } + + //"rightComponentInstanceReference" + public Keyword getRightComponentInstanceReferenceKeyword_10() { return cRightComponentInstanceReferenceKeyword_10; } + + //rightComponentInstanceReference=ComponentInstanceReference + public Assignment getRightComponentInstanceReferenceAssignment_11() { return cRightComponentInstanceReferenceAssignment_11; } + + //ComponentInstanceReference + public RuleCall getRightComponentInstanceReferenceComponentInstanceReferenceParserRuleCall_11_0() { return cRightComponentInstanceReferenceComponentInstanceReferenceParserRuleCall_11_0; } + + //"}" + public Keyword getRightCurlyBracketKeyword_12() { return cRightCurlyBracketKeyword_12; } + } + + public class InfluencedVariableElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "InfluencedVariable"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cInfluencedVariableAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cInfluencedVariableKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Group cGroup_3 = (Group)cGroup.eContents().get(3); + private final Keyword cControlFlowVariableKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); + private final Assignment cControlFlowVariableAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); + private final CrossReference cControlFlowVariableControlFlowSpecificationCrossReference_3_1_0 = (CrossReference)cControlFlowVariableAssignment_3_1.eContents().get(0); + private final RuleCall cControlFlowVariableControlFlowSpecificationEStringParserRuleCall_3_1_0_1 = (RuleCall)cControlFlowVariableControlFlowSpecificationCrossReference_3_1_0.eContents().get(1); + private final Group cGroup_4 = (Group)cGroup.eContents().get(4); + private final Keyword cResourceDemandKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); + private final Assignment cResourceDemandAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); + private final CrossReference cResourceDemandResourceDemandSpecificationCrossReference_4_1_0 = (CrossReference)cResourceDemandAssignment_4_1.eContents().get(0); + private final RuleCall cResourceDemandResourceDemandSpecificationEStringParserRuleCall_4_1_0_1 = (RuleCall)cResourceDemandResourceDemandSpecificationCrossReference_4_1_0.eContents().get(1); + private final Group cGroup_5 = (Group)cGroup.eContents().get(5); + private final Keyword cResponseTimeKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); + private final Assignment cResponseTimeAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1); + private final CrossReference cResponseTimeResponseTimeSpecificationCrossReference_5_1_0 = (CrossReference)cResponseTimeAssignment_5_1.eContents().get(0); + private final RuleCall cResponseTimeResponseTimeSpecificationEStringParserRuleCall_5_1_0_1 = (RuleCall)cResponseTimeResponseTimeSpecificationCrossReference_5_1_0.eContents().get(1); + private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); + + //InfluencedVariable: + // {InfluencedVariable} "InfluencedVariable" "{" ("controlFlowVariable" + // controlFlowVariable=[ControlFlowSpecification|EString])? ("resourceDemand" + // resourceDemand=[servicebehavior::ResourceDemandSpecification|EString])? ("responseTime" + // responseTime=[servicebehavior::ResponseTimeSpecification|EString])? "}"; + public ParserRule getRule() { return rule; } + + //{InfluencedVariable} "InfluencedVariable" "{" ("controlFlowVariable" + //controlFlowVariable=[ControlFlowSpecification|EString])? ("resourceDemand" + //resourceDemand=[servicebehavior::ResourceDemandSpecification|EString])? ("responseTime" + //responseTime=[servicebehavior::ResponseTimeSpecification|EString])? "}" + public Group getGroup() { return cGroup; } + + //{InfluencedVariable} + public Action getInfluencedVariableAction_0() { return cInfluencedVariableAction_0; } + + //"InfluencedVariable" + public Keyword getInfluencedVariableKeyword_1() { return cInfluencedVariableKeyword_1; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //("controlFlowVariable" controlFlowVariable=[ControlFlowSpecification|EString])? + public Group getGroup_3() { return cGroup_3; } + + //"controlFlowVariable" + public Keyword getControlFlowVariableKeyword_3_0() { return cControlFlowVariableKeyword_3_0; } + + //controlFlowVariable=[ControlFlowSpecification|EString] + public Assignment getControlFlowVariableAssignment_3_1() { return cControlFlowVariableAssignment_3_1; } + + //[ControlFlowSpecification|EString] + public CrossReference getControlFlowVariableControlFlowSpecificationCrossReference_3_1_0() { return cControlFlowVariableControlFlowSpecificationCrossReference_3_1_0; } + + //EString + public RuleCall getControlFlowVariableControlFlowSpecificationEStringParserRuleCall_3_1_0_1() { return cControlFlowVariableControlFlowSpecificationEStringParserRuleCall_3_1_0_1; } + + //("resourceDemand" resourceDemand=[servicebehavior::ResourceDemandSpecification|EString])? + public Group getGroup_4() { return cGroup_4; } + + //"resourceDemand" + public Keyword getResourceDemandKeyword_4_0() { return cResourceDemandKeyword_4_0; } + + //resourceDemand=[servicebehavior::ResourceDemandSpecification|EString] + public Assignment getResourceDemandAssignment_4_1() { return cResourceDemandAssignment_4_1; } + + //[servicebehavior::ResourceDemandSpecification|EString] + public CrossReference getResourceDemandResourceDemandSpecificationCrossReference_4_1_0() { return cResourceDemandResourceDemandSpecificationCrossReference_4_1_0; } + + //EString + public RuleCall getResourceDemandResourceDemandSpecificationEStringParserRuleCall_4_1_0_1() { return cResourceDemandResourceDemandSpecificationEStringParserRuleCall_4_1_0_1; } + + //("responseTime" responseTime=[servicebehavior::ResponseTimeSpecification|EString])? + public Group getGroup_5() { return cGroup_5; } + + //"responseTime" + public Keyword getResponseTimeKeyword_5_0() { return cResponseTimeKeyword_5_0; } + + //responseTime=[servicebehavior::ResponseTimeSpecification|EString] + public Assignment getResponseTimeAssignment_5_1() { return cResponseTimeAssignment_5_1; } + + //[servicebehavior::ResponseTimeSpecification|EString] + public CrossReference getResponseTimeResponseTimeSpecificationCrossReference_5_1_0() { return cResponseTimeResponseTimeSpecificationCrossReference_5_1_0; } + + //EString + public RuleCall getResponseTimeResponseTimeSpecificationEStringParserRuleCall_5_1_0_1() { return cResponseTimeResponseTimeSpecificationEStringParserRuleCall_5_1_0_1; } + + //"}" + public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } + } + + public class ComponentInstanceReferenceElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ComponentInstanceReference"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cComponentInstanceReferenceAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cComponentInstanceReferenceKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Group cGroup_3 = (Group)cGroup.eContents().get(3); + private final Keyword cAssembliesKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); + private final Keyword cLeftParenthesisKeyword_3_1 = (Keyword)cGroup_3.eContents().get(1); + private final Assignment cAssembliesAssignment_3_2 = (Assignment)cGroup_3.eContents().get(2); + private final CrossReference cAssembliesAssemblyContextCrossReference_3_2_0 = (CrossReference)cAssembliesAssignment_3_2.eContents().get(0); + private final RuleCall cAssembliesAssemblyContextEStringParserRuleCall_3_2_0_1 = (RuleCall)cAssembliesAssemblyContextCrossReference_3_2_0.eContents().get(1); + private final Group cGroup_3_3 = (Group)cGroup_3.eContents().get(3); + private final Keyword cCommaKeyword_3_3_0 = (Keyword)cGroup_3_3.eContents().get(0); + private final Assignment cAssembliesAssignment_3_3_1 = (Assignment)cGroup_3_3.eContents().get(1); + private final CrossReference cAssembliesAssemblyContextCrossReference_3_3_1_0 = (CrossReference)cAssembliesAssignment_3_3_1.eContents().get(0); + private final RuleCall cAssembliesAssemblyContextEStringParserRuleCall_3_3_1_0_1 = (RuleCall)cAssembliesAssemblyContextCrossReference_3_3_1_0.eContents().get(1); + private final Keyword cRightParenthesisKeyword_3_4 = (Keyword)cGroup_3.eContents().get(4); + private final Keyword cRightCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); + + //ComponentInstanceReference: + // {ComponentInstanceReference} "ComponentInstanceReference" "{" ("assemblies" "(" + // assemblies+=[repository::AssemblyContext|EString] ("," assemblies+=[repository::AssemblyContext|EString])* ")")? "}"; + public ParserRule getRule() { return rule; } + + //{ComponentInstanceReference} "ComponentInstanceReference" "{" ("assemblies" "(" + //assemblies+=[repository::AssemblyContext|EString] ("," assemblies+=[repository::AssemblyContext|EString])* ")")? "}" + public Group getGroup() { return cGroup; } + + //{ComponentInstanceReference} + public Action getComponentInstanceReferenceAction_0() { return cComponentInstanceReferenceAction_0; } + + //"ComponentInstanceReference" + public Keyword getComponentInstanceReferenceKeyword_1() { return cComponentInstanceReferenceKeyword_1; } + + //"{" + public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } + + //("assemblies" "(" assemblies+=[repository::AssemblyContext|EString] ("," + //assemblies+=[repository::AssemblyContext|EString])* ")")? + public Group getGroup_3() { return cGroup_3; } + + //"assemblies" + public Keyword getAssembliesKeyword_3_0() { return cAssembliesKeyword_3_0; } + + //"(" + public Keyword getLeftParenthesisKeyword_3_1() { return cLeftParenthesisKeyword_3_1; } + + //assemblies+=[repository::AssemblyContext|EString] + public Assignment getAssembliesAssignment_3_2() { return cAssembliesAssignment_3_2; } + + //[repository::AssemblyContext|EString] + public CrossReference getAssembliesAssemblyContextCrossReference_3_2_0() { return cAssembliesAssemblyContextCrossReference_3_2_0; } + + //EString + public RuleCall getAssembliesAssemblyContextEStringParserRuleCall_3_2_0_1() { return cAssembliesAssemblyContextEStringParserRuleCall_3_2_0_1; } + + //("," assemblies+=[repository::AssemblyContext|EString])* + public Group getGroup_3_3() { return cGroup_3_3; } + + //"," + public Keyword getCommaKeyword_3_3_0() { return cCommaKeyword_3_3_0; } + + //assemblies+=[repository::AssemblyContext|EString] + public Assignment getAssembliesAssignment_3_3_1() { return cAssembliesAssignment_3_3_1; } + + //[repository::AssemblyContext|EString] + public CrossReference getAssembliesAssemblyContextCrossReference_3_3_1_0() { return cAssembliesAssemblyContextCrossReference_3_3_1_0; } + + //EString + public RuleCall getAssembliesAssemblyContextEStringParserRuleCall_3_3_1_0_1() { return cAssembliesAssemblyContextEStringParserRuleCall_3_3_1_0_1; } + + //")" + public Keyword getRightParenthesisKeyword_3_4() { return cRightParenthesisKeyword_3_4; } + + //"}" + public Keyword getRightCurlyBracketKeyword_4() { return cRightCurlyBracketKeyword_4; } + } + + + public class PrimitiveTypeEnumElements extends AbstractEnumRuleElementFinder { + private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "PrimitiveTypeEnum"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final EnumLiteralDeclaration cINTEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); + private final Keyword cINTINTKeyword_0_0 = (Keyword)cINTEnumLiteralDeclaration_0.eContents().get(0); + private final EnumLiteralDeclaration cSTRINGEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); + private final Keyword cSTRINGSTRINGKeyword_1_0 = (Keyword)cSTRINGEnumLiteralDeclaration_1.eContents().get(0); + private final EnumLiteralDeclaration cBOOLEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2); + private final Keyword cBOOLBOOLKeyword_2_0 = (Keyword)cBOOLEnumLiteralDeclaration_2.eContents().get(0); + private final EnumLiteralDeclaration cDOUBLEEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3); + private final Keyword cDOUBLEDOUBLEKeyword_3_0 = (Keyword)cDOUBLEEnumLiteralDeclaration_3.eContents().get(0); + private final EnumLiteralDeclaration cCHAREnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4); + private final Keyword cCHARCHARKeyword_4_0 = (Keyword)cCHAREnumLiteralDeclaration_4.eContents().get(0); + private final EnumLiteralDeclaration cBYTEEnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5); + private final Keyword cBYTEBYTEKeyword_5_0 = (Keyword)cBYTEEnumLiteralDeclaration_5.eContents().get(0); + private final EnumLiteralDeclaration cLONGEnumLiteralDeclaration_6 = (EnumLiteralDeclaration)cAlternatives.eContents().get(6); + private final Keyword cLONGLONGKeyword_6_0 = (Keyword)cLONGEnumLiteralDeclaration_6.eContents().get(0); + + //enum PrimitiveTypeEnum returns repository::PrimitiveTypeEnum: + // INT | STRING | BOOL | DOUBLE | CHAR | BYTE | LONG; + public EnumRule getRule() { return rule; } + + //INT | STRING | BOOL | DOUBLE | CHAR | BYTE | LONG + public Alternatives getAlternatives() { return cAlternatives; } + + //INT + public EnumLiteralDeclaration getINTEnumLiteralDeclaration_0() { return cINTEnumLiteralDeclaration_0; } + + //"INT" + public Keyword getINTINTKeyword_0_0() { return cINTINTKeyword_0_0; } + + //STRING + public EnumLiteralDeclaration getSTRINGEnumLiteralDeclaration_1() { return cSTRINGEnumLiteralDeclaration_1; } + + //"STRING" + public Keyword getSTRINGSTRINGKeyword_1_0() { return cSTRINGSTRINGKeyword_1_0; } + + //BOOL + public EnumLiteralDeclaration getBOOLEnumLiteralDeclaration_2() { return cBOOLEnumLiteralDeclaration_2; } + + //"BOOL" + public Keyword getBOOLBOOLKeyword_2_0() { return cBOOLBOOLKeyword_2_0; } + + //DOUBLE + public EnumLiteralDeclaration getDOUBLEEnumLiteralDeclaration_3() { return cDOUBLEEnumLiteralDeclaration_3; } + + //"DOUBLE" + public Keyword getDOUBLEDOUBLEKeyword_3_0() { return cDOUBLEDOUBLEKeyword_3_0; } + + //CHAR + public EnumLiteralDeclaration getCHAREnumLiteralDeclaration_4() { return cCHAREnumLiteralDeclaration_4; } + + //"CHAR" + public Keyword getCHARCHARKeyword_4_0() { return cCHARCHARKeyword_4_0; } + + //BYTE + public EnumLiteralDeclaration getBYTEEnumLiteralDeclaration_5() { return cBYTEEnumLiteralDeclaration_5; } + + //"BYTE" + public Keyword getBYTEBYTEKeyword_5_0() { return cBYTEBYTEKeyword_5_0; } + + //LONG + public EnumLiteralDeclaration getLONGEnumLiteralDeclaration_6() { return cLONGEnumLiteralDeclaration_6; } + + //"LONG" + public Keyword getLONGLONGKeyword_6_0() { return cLONGLONGKeyword_6_0; } + } + + public class ParameterModifierElements extends AbstractEnumRuleElementFinder { + private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "ParameterModifier"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final EnumLiteralDeclaration cNONEEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); + private final Keyword cNONENONEKeyword_0_0 = (Keyword)cNONEEnumLiteralDeclaration_0.eContents().get(0); + private final EnumLiteralDeclaration cINEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); + private final Keyword cININKeyword_1_0 = (Keyword)cINEnumLiteralDeclaration_1.eContents().get(0); + private final EnumLiteralDeclaration cOUTEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2); + private final Keyword cOUTOUTKeyword_2_0 = (Keyword)cOUTEnumLiteralDeclaration_2.eContents().get(0); + private final EnumLiteralDeclaration cINOUTEnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3); + private final Keyword cINOUTINOUTKeyword_3_0 = (Keyword)cINOUTEnumLiteralDeclaration_3.eContents().get(0); + + //enum ParameterModifier returns repository::ParameterModifier: + // NONE | IN | OUT | INOUT; + public EnumRule getRule() { return rule; } + + //NONE | IN | OUT | INOUT + public Alternatives getAlternatives() { return cAlternatives; } + + //NONE + public EnumLiteralDeclaration getNONEEnumLiteralDeclaration_0() { return cNONEEnumLiteralDeclaration_0; } + + //"NONE" + public Keyword getNONENONEKeyword_0_0() { return cNONENONEKeyword_0_0; } + + //IN + public EnumLiteralDeclaration getINEnumLiteralDeclaration_1() { return cINEnumLiteralDeclaration_1; } + + //"IN" + public Keyword getININKeyword_1_0() { return cININKeyword_1_0; } + + //OUT + public EnumLiteralDeclaration getOUTEnumLiteralDeclaration_2() { return cOUTEnumLiteralDeclaration_2; } + + //"OUT" + public Keyword getOUTOUTKeyword_2_0() { return cOUTOUTKeyword_2_0; } + + //INOUT + public EnumLiteralDeclaration getINOUTEnumLiteralDeclaration_3() { return cINOUTEnumLiteralDeclaration_3; } + + //"INOUT" + public Keyword getINOUTINOUTKeyword_3_0() { return cINOUTINOUTKeyword_3_0; } + } + + public class CharacterizationTypeElements extends AbstractEnumRuleElementFinder { + private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "CharacterizationType"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final EnumLiteralDeclaration cVALUEEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); + private final Keyword cVALUEVALUEKeyword_0_0 = (Keyword)cVALUEEnumLiteralDeclaration_0.eContents().get(0); + private final EnumLiteralDeclaration cNUMBER_OF_ELEMENTSEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); + private final Keyword cNUMBER_OF_ELEMENTSNUMBER_OF_ELEMENTSKeyword_1_0 = (Keyword)cNUMBER_OF_ELEMENTSEnumLiteralDeclaration_1.eContents().get(0); + + //enum CharacterizationType: + // VALUE | NUMBER_OF_ELEMENTS; + public EnumRule getRule() { return rule; } + + //VALUE | NUMBER_OF_ELEMENTS + public Alternatives getAlternatives() { return cAlternatives; } + + //VALUE + public EnumLiteralDeclaration getVALUEEnumLiteralDeclaration_0() { return cVALUEEnumLiteralDeclaration_0; } + + //"VALUE" + public Keyword getVALUEVALUEKeyword_0_0() { return cVALUEVALUEKeyword_0_0; } + + //NUMBER_OF_ELEMENTS + public EnumLiteralDeclaration getNUMBER_OF_ELEMENTSEnumLiteralDeclaration_1() { return cNUMBER_OF_ELEMENTSEnumLiteralDeclaration_1; } + + //"NUMBER_OF_ELEMENTS" + public Keyword getNUMBER_OF_ELEMENTSNUMBER_OF_ELEMENTSKeyword_1_0() { return cNUMBER_OF_ELEMENTSNUMBER_OF_ELEMENTSKeyword_1_0; } + } + + private RepositoryElements pRepository; + private DataTypeElements pDataType; + private RepositoryComponentElements pRepositoryComponent; + private RelationshipElements pRelationship; + private InfluencingParameterElements pInfluencingParameter; + private InterfaceProvidingEntityElements pInterfaceProvidingEntity; + private InterfaceProvidingRequiringEntityElements pInterfaceProvidingRequiringEntity; + private ServiceBehaviorAbstractionElements pServiceBehaviorAbstraction; + private ExternalCallElements pExternalCall; + private AbstractActionElements pAbstractAction; + private ComponentInternalBehaviorElements pComponentInternalBehavior; + private ProcessingResourceTypeElements pProcessingResourceType; + private ProbabilityFunctionElements pProbabilityFunction; + private EStringElements pEString; + private InterfaceElements pInterface; + private RepositoryComponent_ImplElements pRepositoryComponent_Impl; + private CollectionDataTypeElements pCollectionDataType; + private CompositeDataTypeElements pCompositeDataType; + private PrimitiveDataTypeElements pPrimitiveDataType; + private InnerDeclarationElements pInnerDeclaration; + private PrimitiveTypeEnumElements unknownRulePrimitiveTypeEnum; + private SignatureElements pSignature; + private ParameterElements pParameter; + private ParameterModifierElements unknownRuleParameterModifier; + private ProvidedRoleElements pProvidedRole; + private BlackBoxBehaviorElements pBlackBoxBehavior; + private RequiredRoleElements pRequiredRole; + private CoarseGrainedBehaviorElements pCoarseGrainedBehavior; + private BasicComponentElements pBasicComponent; + private CompositeComponentElements pCompositeComponent; + private SubSystemElements pSubSystem; + private InfluencingParameter_ImplElements pInfluencingParameter_Impl; + private ResponseTimeSpecificationElements pResponseTimeSpecification; + private ScopeElements pScope; + private ServiceInputParameterElements pServiceInputParameter; + private ExternalCallReturnParameterElements pExternalCallReturnParameter; + private ExternalCallParameterElements pExternalCallParameter; + private FineGrainedBehaviorElements pFineGrainedBehavior; + private AbstractAction_ImplElements pAbstractAction_Impl; + private ComponentInternalBehavior_ImplElements pComponentInternalBehavior_Impl; + private StartActionElements pStartAction; + private StopActionElements pStopAction; + private AcquireActionElements pAcquireAction; + private ReleaseActionElements pReleaseAction; + private InternalActionElements pInternalAction; + private ForkActionElements pForkAction; + private BranchActionElements pBranchAction; + private LoopActionElements pLoopAction; + private ExternalCallActionElements pExternalCallAction; + private PassiveResourceSpecificationElements pPassiveResourceSpecification; + private PassiveResourceCapacityElements pPassiveResourceCapacity; + private PassiveResourceTypeElements pPassiveResourceType; + private EBigIntegerElements pEBigInteger; + private ResourceDemandSpecificationElements pResourceDemandSpecification; + private ProcessingResourceType_ImplElements pProcessingResourceType_Impl; + private CommunicationLinkResourceTypeElements pCommunicationLinkResourceType; + private EBooleanElements pEBoolean; + private BranchTransitionElements pBranchTransition; + private BranchProbabilitiesElements pBranchProbabilities; + private RandomVariableElements pRandomVariable; + private ProbabilityMassFunctionElements pProbabilityMassFunction; + private ProbabilityDensityFunction_ImplElements pProbabilityDensityFunction_Impl; + private BoxedPDFElements pBoxedPDF; + private ContinuousPDF_ImplElements pContinuousPDF_Impl; + private NormalDistributionElements pNormalDistribution; + private ExponentialDistributionElements pExponentialDistribution; + private SampleElements pSample; + private EObjectElements pEObject; + private EBigDecimalElements pEBigDecimal; + private ContinuousSampleElements pContinuousSample; + private LoopIterationCountDistributionElements pLoopIterationCountDistribution; + private AssemblyContextElements pAssemblyContext; + private AssemblyConnectorElements pAssemblyConnector; + private ProvidedDelegationConnectorElements pProvidedDelegationConnector; + private RequiredDelegationConnectorElements pRequiredDelegationConnector; + private CharacterizationTypeElements unknownRuleCharacterizationType; + private ExternalCall_ImplElements pExternalCall_Impl; + private ExternalCallFrequencyElements pExternalCallFrequency; + private CallFrequencyElements pCallFrequency; + private DependencyRelationshipElements pDependencyRelationship; + private CorrelationRelationshipElements pCorrelationRelationship; + private InfluencedVariableElements pInfluencedVariable; + private ComponentInstanceReferenceElements pComponentInstanceReference; + + private final GrammarProvider grammarProvider; + + private TerminalsGrammarAccess gaTerminals; + + @Inject + public RepositoryDSLGrammarAccess(GrammarProvider grammarProvider, + TerminalsGrammarAccess gaTerminals) { + this.grammarProvider = grammarProvider; + this.gaTerminals = gaTerminals; + } + + public Grammar getGrammar() { + return grammarProvider.getGrammar(this); + } + + + public TerminalsGrammarAccess getTerminalsGrammarAccess() { + return gaTerminals; + } + + + //Repository returns repository::Repository: + // "Repository" id=EString "{" "name" name=EString ("datatypes" "{" datatypes+=DataType ("," datatypes+=DataType)* "}")? + // ("interfaces" "{" interfaces+=Interface ("," interfaces+=Interface)* "}")? ("components" "{" + // components+=RepositoryComponent ("," components+=RepositoryComponent)* "}")? "}"; + public RepositoryElements getRepositoryAccess() { + return (pRepository != null) ? pRepository : (pRepository = new RepositoryElements()); + } + + public ParserRule getRepositoryRule() { + return getRepositoryAccess().getRule(); + } + + //DataType returns repository::DataType: + // CollectionDataType | CompositeDataType | PrimitiveDataType; + public DataTypeElements getDataTypeAccess() { + return (pDataType != null) ? pDataType : (pDataType = new DataTypeElements()); + } + + public ParserRule getDataTypeRule() { + return getDataTypeAccess().getRule(); + } + + //RepositoryComponent returns repository::RepositoryComponent: + // RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem; + public RepositoryComponentElements getRepositoryComponentAccess() { + return (pRepositoryComponent != null) ? pRepositoryComponent : (pRepositoryComponent = new RepositoryComponentElements()); + } + + public ParserRule getRepositoryComponentRule() { + return getRepositoryComponentAccess().getRule(); + } + + //Relationship: + // DependencyRelationship | CorrelationRelationship; + public RelationshipElements getRelationshipAccess() { + return (pRelationship != null) ? pRelationship : (pRelationship = new RelationshipElements()); + } + + public ParserRule getRelationshipRule() { + return getRelationshipAccess().getRule(); + } + + //InfluencingParameter: + // InfluencingParameter_Impl | ServiceInputParameter | ExternalCallReturnParameter | ExternalCallParameter; + public InfluencingParameterElements getInfluencingParameterAccess() { + return (pInfluencingParameter != null) ? pInfluencingParameter : (pInfluencingParameter = new InfluencingParameterElements()); + } + + public ParserRule getInfluencingParameterRule() { + return getInfluencingParameterAccess().getRule(); + } + + //InterfaceProvidingEntity returns repository::InterfaceProvidingEntity: + // RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem; + public InterfaceProvidingEntityElements getInterfaceProvidingEntityAccess() { + return (pInterfaceProvidingEntity != null) ? pInterfaceProvidingEntity : (pInterfaceProvidingEntity = new InterfaceProvidingEntityElements()); + } + + public ParserRule getInterfaceProvidingEntityRule() { + return getInterfaceProvidingEntityAccess().getRule(); + } + + //InterfaceProvidingRequiringEntity returns repository::InterfaceProvidingRequiringEntity: + // RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem; + public InterfaceProvidingRequiringEntityElements getInterfaceProvidingRequiringEntityAccess() { + return (pInterfaceProvidingRequiringEntity != null) ? pInterfaceProvidingRequiringEntity : (pInterfaceProvidingRequiringEntity = new InterfaceProvidingRequiringEntityElements()); + } + + public ParserRule getInterfaceProvidingRequiringEntityRule() { + return getInterfaceProvidingRequiringEntityAccess().getRule(); + } + + //ServiceBehaviorAbstraction returns servicebehavior::ServiceBehaviorAbstraction: + // FineGrainedBehavior | CoarseGrainedBehavior | BlackBoxBehavior; + public ServiceBehaviorAbstractionElements getServiceBehaviorAbstractionAccess() { + return (pServiceBehaviorAbstraction != null) ? pServiceBehaviorAbstraction : (pServiceBehaviorAbstraction = new ServiceBehaviorAbstractionElements()); + } + + public ParserRule getServiceBehaviorAbstractionRule() { + return getServiceBehaviorAbstractionAccess().getRule(); + } + + //ExternalCall returns servicebehavior::ExternalCall: + // ExternalCall_Impl | ExternalCallAction; + public ExternalCallElements getExternalCallAccess() { + return (pExternalCall != null) ? pExternalCall : (pExternalCall = new ExternalCallElements()); + } + + public ParserRule getExternalCallRule() { + return getExternalCallAccess().getRule(); + } + + //AbstractAction returns servicebehavior::AbstractAction: + // AbstractAction_Impl | StartAction | StopAction | AcquireAction | ReleaseAction | InternalAction | ForkAction | + // BranchAction | LoopAction | ExternalCallAction; + public AbstractActionElements getAbstractActionAccess() { + return (pAbstractAction != null) ? pAbstractAction : (pAbstractAction = new AbstractActionElements()); + } + + public ParserRule getAbstractActionRule() { + return getAbstractActionAccess().getRule(); + } + + //ComponentInternalBehavior returns servicebehavior::ComponentInternalBehavior: + // ComponentInternalBehavior_Impl | FineGrainedBehavior; + public ComponentInternalBehaviorElements getComponentInternalBehaviorAccess() { + return (pComponentInternalBehavior != null) ? pComponentInternalBehavior : (pComponentInternalBehavior = new ComponentInternalBehaviorElements()); + } + + public ParserRule getComponentInternalBehaviorRule() { + return getComponentInternalBehaviorAccess().getRule(); + } + + //ProcessingResourceType returns resourcetype::ProcessingResourceType: + // ProcessingResourceType_Impl | CommunicationLinkResourceType; + public ProcessingResourceTypeElements getProcessingResourceTypeAccess() { + return (pProcessingResourceType != null) ? pProcessingResourceType : (pProcessingResourceType = new ProcessingResourceTypeElements()); + } + + public ParserRule getProcessingResourceTypeRule() { + return getProcessingResourceTypeAccess().getRule(); + } + + //ProbabilityFunction returns functions::ProbabilityFunction: + // ProbabilityMassFunction | ProbabilityDensityFunction_Impl | BoxedPDF | ContinuousPDF_Impl | NormalDistribution | + // ExponentialDistribution; + public ProbabilityFunctionElements getProbabilityFunctionAccess() { + return (pProbabilityFunction != null) ? pProbabilityFunction : (pProbabilityFunction = new ProbabilityFunctionElements()); + } + + public ParserRule getProbabilityFunctionRule() { + return getProbabilityFunctionAccess().getRule(); + } + + //EString returns ecore::EString: + // STRING | ID; + public EStringElements getEStringAccess() { + return (pEString != null) ? pEString : (pEString = new EStringElements()); + } + + public ParserRule getEStringRule() { + return getEStringAccess().getRule(); + } + + //Interface returns repository::Interface: + // "Interface" id=EString "{" "name" name=EString ("parentInterfaces" "(" + // parentInterfaces+=[repository::Interface|EString] ("," parentInterfaces+=[repository::Interface|EString])* ")")? + // ("signatures" "{" signatures+=Signature ("," signatures+=Signature)* "}")? "}"; + public InterfaceElements getInterfaceAccess() { + return (pInterface != null) ? pInterface : (pInterface = new InterfaceElements()); + } + + public ParserRule getInterfaceRule() { + return getInterfaceAccess().getRule(); + } + + //RepositoryComponent_Impl returns repository::RepositoryComponent: + // "RepositoryComponent" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] ("," + // relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole ("," + // providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," + // blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole ("," + // requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior ("," + // coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? "}"; + public RepositoryComponent_ImplElements getRepositoryComponent_ImplAccess() { + return (pRepositoryComponent_Impl != null) ? pRepositoryComponent_Impl : (pRepositoryComponent_Impl = new RepositoryComponent_ImplElements()); + } + + public ParserRule getRepositoryComponent_ImplRule() { + return getRepositoryComponent_ImplAccess().getRule(); + } + + //CollectionDataType returns repository::CollectionDataType: + // "CollectionDataType" id=EString "{" "name" name=EString "innerType" innerType=[repository::DataType|EString] "}"; + public CollectionDataTypeElements getCollectionDataTypeAccess() { + return (pCollectionDataType != null) ? pCollectionDataType : (pCollectionDataType = new CollectionDataTypeElements()); + } + + public ParserRule getCollectionDataTypeRule() { + return getCollectionDataTypeAccess().getRule(); + } + + //CompositeDataType returns repository::CompositeDataType: + // "CompositeDataType" id=EString "{" "name" name=EString ("parentTypes" "(" + // parentTypes+=[repository::CompositeDataType|EString] ("," parentTypes+=[repository::CompositeDataType|EString])* ")")? + // ("innerDeclarations" "{" innerDeclarations+=InnerDeclaration ("," innerDeclarations+=InnerDeclaration)* "}")? "}"; + public CompositeDataTypeElements getCompositeDataTypeAccess() { + return (pCompositeDataType != null) ? pCompositeDataType : (pCompositeDataType = new CompositeDataTypeElements()); + } + + public ParserRule getCompositeDataTypeRule() { + return getCompositeDataTypeAccess().getRule(); + } + + //PrimitiveDataType returns repository::PrimitiveDataType: + // "PrimitiveDataType" "{" "type" type=PrimitiveTypeEnum "}"; + public PrimitiveDataTypeElements getPrimitiveDataTypeAccess() { + return (pPrimitiveDataType != null) ? pPrimitiveDataType : (pPrimitiveDataType = new PrimitiveDataTypeElements()); + } + + public ParserRule getPrimitiveDataTypeRule() { + return getPrimitiveDataTypeAccess().getRule(); + } + + //InnerDeclaration returns repository::InnerDeclaration: + // "InnerDeclaration" id=EString "{" "name" name=EString "dataType" dataType=[repository::DataType|EString] "}"; + public InnerDeclarationElements getInnerDeclarationAccess() { + return (pInnerDeclaration != null) ? pInnerDeclaration : (pInnerDeclaration = new InnerDeclarationElements()); + } + + public ParserRule getInnerDeclarationRule() { + return getInnerDeclarationAccess().getRule(); + } + + //enum PrimitiveTypeEnum returns repository::PrimitiveTypeEnum: + // INT | STRING | BOOL | DOUBLE | CHAR | BYTE | LONG; + public PrimitiveTypeEnumElements getPrimitiveTypeEnumAccess() { + return (unknownRulePrimitiveTypeEnum != null) ? unknownRulePrimitiveTypeEnum : (unknownRulePrimitiveTypeEnum = new PrimitiveTypeEnumElements()); + } + + public EnumRule getPrimitiveTypeEnumRule() { + return getPrimitiveTypeEnumAccess().getRule(); + } + + //Signature returns repository::Signature: + // "Signature" id=EString "{" "name" name=EString ("returnType" returnType=[repository::DataType|EString])? ("parameters" + // "{" parameters+=Parameter ("," parameters+=Parameter)* "}")? "}"; + public SignatureElements getSignatureAccess() { + return (pSignature != null) ? pSignature : (pSignature = new SignatureElements()); + } + + public ParserRule getSignatureRule() { + return getSignatureAccess().getRule(); + } + + //Parameter returns repository::Parameter: + // "Parameter" name=EString "{" "modifier" modifier=ParameterModifier "dataType" dataType=[repository::DataType|EString] + // "}"; + public ParameterElements getParameterAccess() { + return (pParameter != null) ? pParameter : (pParameter = new ParameterElements()); + } + + public ParserRule getParameterRule() { + return getParameterAccess().getRule(); + } + + //enum ParameterModifier returns repository::ParameterModifier: + // NONE | IN | OUT | INOUT; + public ParameterModifierElements getParameterModifierAccess() { + return (unknownRuleParameterModifier != null) ? unknownRuleParameterModifier : (unknownRuleParameterModifier = new ParameterModifierElements()); + } + + public EnumRule getParameterModifierRule() { + return getParameterModifierAccess().getRule(); + } + + //ProvidedRole returns repository::ProvidedRole: + // "ProvidedRole" id=EString "{" "name" name=EString "interface" interface=[repository::Interface|EString] "}"; + public ProvidedRoleElements getProvidedRoleAccess() { + return (pProvidedRole != null) ? pProvidedRole : (pProvidedRole = new ProvidedRoleElements()); + } + + public ParserRule getProvidedRoleRule() { + return getProvidedRoleAccess().getRule(); + } + + //BlackBoxBehavior returns servicebehavior::BlackBoxBehavior: + // "BlackBoxBehavior" "{" ("describedSignature" describedSignature=[repository::Signature|EString])? "describedEntity" + // describedEntity=[repository::InterfaceProvidingEntity|EString] ("influencingParameter" "{" + // influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* "}")? + // ("responseTimeSpecification" responseTimeSpecification=ResponseTimeSpecification)? "}"; + public BlackBoxBehaviorElements getBlackBoxBehaviorAccess() { + return (pBlackBoxBehavior != null) ? pBlackBoxBehavior : (pBlackBoxBehavior = new BlackBoxBehaviorElements()); + } + + public ParserRule getBlackBoxBehaviorRule() { + return getBlackBoxBehaviorAccess().getRule(); + } + + //RequiredRole returns repository::RequiredRole: + // "RequiredRole" id=EString "{" "name" name=EString "interface" interface=[repository::Interface|EString] "}"; + public RequiredRoleElements getRequiredRoleAccess() { + return (pRequiredRole != null) ? pRequiredRole : (pRequiredRole = new RequiredRoleElements()); + } + + public ParserRule getRequiredRoleRule() { + return getRequiredRoleAccess().getRule(); + } + + //CoarseGrainedBehavior returns servicebehavior::CoarseGrainedBehavior: + // "CoarseGrainedBehavior" "{" ("describedSignature" describedSignature=[repository::Signature|EString])? + // "describedEntity" describedEntity=[repository::InterfaceProvidingRequiringEntity|EString] ("influencingParameter" "{" + // influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* "}")? + // ("externalCallFrequency" "{" externalCallFrequency+=ExternalCallFrequency ("," + // externalCallFrequency+=ExternalCallFrequency)* "}")? ("resourceDemandSpecification" "{" + // resourceDemandSpecification+=ResourceDemandSpecification ("," + // resourceDemandSpecification+=ResourceDemandSpecification)* "}")? "}"; + public CoarseGrainedBehaviorElements getCoarseGrainedBehaviorAccess() { + return (pCoarseGrainedBehavior != null) ? pCoarseGrainedBehavior : (pCoarseGrainedBehavior = new CoarseGrainedBehaviorElements()); + } + + public ParserRule getCoarseGrainedBehaviorRule() { + return getCoarseGrainedBehaviorAccess().getRule(); + } + + //BasicComponent returns repository::BasicComponent: + // "BasicComponent" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] ("," + // relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole ("," + // providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," + // blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole ("," + // requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior ("," + // coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? ("passiveResources" "{" + // passiveResources+=PassiveResourceSpecification ("," passiveResources+=PassiveResourceSpecification)* "}")? + // ("fineGrainedBehavior" "{" fineGrainedBehavior+=FineGrainedBehavior ("," fineGrainedBehavior+=FineGrainedBehavior)* + // "}")? "}"; + public BasicComponentElements getBasicComponentAccess() { + return (pBasicComponent != null) ? pBasicComponent : (pBasicComponent = new BasicComponentElements()); + } + + public ParserRule getBasicComponentRule() { + return getBasicComponentAccess().getRule(); + } + + //CompositeComponent returns repository::CompositeComponent: + // "CompositeComponent" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] ("," + // relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole ("," + // providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," + // blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole ("," + // requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior ("," + // coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? ("assemblyContexts" "{" assemblyContexts+=AssemblyContext ("," + // assemblyContexts+=AssemblyContext)* "}")? ("assemblyConnectors" "{" assemblyConnectors+=AssemblyConnector ("," + // assemblyConnectors+=AssemblyConnector)* "}")? ("providedDelegationConnectors" "{" + // providedDelegationConnectors+=ProvidedDelegationConnector ("," + // providedDelegationConnectors+=ProvidedDelegationConnector)* "}")? ("requiredDelegationConnectors" "{" + // requiredDelegationConnectors+=RequiredDelegationConnector ("," + // requiredDelegationConnectors+=RequiredDelegationConnector)* "}")? "}"; + public CompositeComponentElements getCompositeComponentAccess() { + return (pCompositeComponent != null) ? pCompositeComponent : (pCompositeComponent = new CompositeComponentElements()); + } + + public ParserRule getCompositeComponentRule() { + return getCompositeComponentAccess().getRule(); + } + + //SubSystem returns repository::SubSystem: + // "SubSystem" id=EString "{" "name" name=EString ("relationship" "(" relationship+=[Relationship|EString] ("," + // relationship+=[Relationship|EString])* ")")? ("providedRoles" "{" providedRoles+=ProvidedRole ("," + // providedRoles+=ProvidedRole)* "}")? ("blackBoxBehavior" "{" blackBoxBehavior+=BlackBoxBehavior ("," + // blackBoxBehavior+=BlackBoxBehavior)* "}")? ("requiredRoles" "{" requiredRoles+=RequiredRole ("," + // requiredRoles+=RequiredRole)* "}")? ("coarseGrainedBehavior" "{" coarseGrainedBehavior+=CoarseGrainedBehavior ("," + // coarseGrainedBehavior+=CoarseGrainedBehavior)* "}")? ("assemblyContexts" "{" assemblyContexts+=AssemblyContext ("," + // assemblyContexts+=AssemblyContext)* "}")? ("assemblyConnectors" "{" assemblyConnectors+=AssemblyConnector ("," + // assemblyConnectors+=AssemblyConnector)* "}")? ("providedDelegationConnectors" "{" + // providedDelegationConnectors+=ProvidedDelegationConnector ("," + // providedDelegationConnectors+=ProvidedDelegationConnector)* "}")? ("requiredDelegationConnectors" "{" + // requiredDelegationConnectors+=RequiredDelegationConnector ("," + // requiredDelegationConnectors+=RequiredDelegationConnector)* "}")? "}"; + public SubSystemElements getSubSystemAccess() { + return (pSubSystem != null) ? pSubSystem : (pSubSystem = new SubSystemElements()); + } + + public ParserRule getSubSystemRule() { + return getSubSystemAccess().getRule(); + } + + //InfluencingParameter_Impl returns InfluencingParameter: + // "InfluencingParameter" name=EString "{" "description" description=EString "behavior" + // behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? + // "}"; + public InfluencingParameter_ImplElements getInfluencingParameter_ImplAccess() { + return (pInfluencingParameter_Impl != null) ? pInfluencingParameter_Impl : (pInfluencingParameter_Impl = new InfluencingParameter_ImplElements()); + } + + public ParserRule getInfluencingParameter_ImplRule() { + return getInfluencingParameter_ImplAccess().getRule(); + } + + //ResponseTimeSpecification returns servicebehavior::ResponseTimeSpecification: + // {servicebehavior::ResponseTimeSpecification} "ResponseTimeSpecification"; + public ResponseTimeSpecificationElements getResponseTimeSpecificationAccess() { + return (pResponseTimeSpecification != null) ? pResponseTimeSpecification : (pResponseTimeSpecification = new ResponseTimeSpecificationElements()); + } + + public ParserRule getResponseTimeSpecificationRule() { + return getResponseTimeSpecificationAccess().getRule(); + } + + //Scope: + // "Scope" "{" "interfaceProvidingRequiringEntity" + // interfaceProvidingRequiringEntity=[repository::InterfaceProvidingRequiringEntity|EString] "}"; + public ScopeElements getScopeAccess() { + return (pScope != null) ? pScope : (pScope = new ScopeElements()); + } + + public ParserRule getScopeRule() { + return getScopeAccess().getRule(); + } + + //ServiceInputParameter: + // "ServiceInputParameter" name=EString "{" "description" description=EString "characterization" + // characterization=CharacterizationType "behavior" behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] + // "signature" signature=[repository::Signature|EString] ("parameter" parameter=[repository::Parameter|EString])? + // ("returnType" returnType=[repository::DataType|EString])? "providedRole" + // providedRole=[repository::ProvidedRole|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}"; + public ServiceInputParameterElements getServiceInputParameterAccess() { + return (pServiceInputParameter != null) ? pServiceInputParameter : (pServiceInputParameter = new ServiceInputParameterElements()); + } + + public ParserRule getServiceInputParameterRule() { + return getServiceInputParameterAccess().getRule(); + } + + //ExternalCallReturnParameter: + // "ExternalCallReturnParameter" name=EString "{" "description" description=EString "characterization" + // characterization=CharacterizationType "behavior" behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] + // "signature" signature=[repository::Signature|EString] ("parameter" parameter=[repository::Parameter|EString])? + // ("returnType" returnType=[repository::DataType|EString])? "externalCall" + // externalCall=[servicebehavior::ExternalCall|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}"; + public ExternalCallReturnParameterElements getExternalCallReturnParameterAccess() { + return (pExternalCallReturnParameter != null) ? pExternalCallReturnParameter : (pExternalCallReturnParameter = new ExternalCallReturnParameterElements()); + } + + public ParserRule getExternalCallReturnParameterRule() { + return getExternalCallReturnParameterAccess().getRule(); + } + + //ExternalCallParameter: + // "ExternalCallParameter" name=EString "{" "description" description=EString "characterization" + // characterization=CharacterizationType "behavior" behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] + // "signature" signature=[repository::Signature|EString] ("parameter" parameter=[repository::Parameter|EString])? + // ("returnType" returnType=[repository::DataType|EString])? "externallCall" + // externallCall=[servicebehavior::ExternalCall|EString] ("scope" "{" scope+=Scope ("," scope+=Scope)* "}")? "}"; + public ExternalCallParameterElements getExternalCallParameterAccess() { + return (pExternalCallParameter != null) ? pExternalCallParameter : (pExternalCallParameter = new ExternalCallParameterElements()); + } + + public ParserRule getExternalCallParameterRule() { + return getExternalCallParameterAccess().getRule(); + } + + //FineGrainedBehavior returns servicebehavior::FineGrainedBehavior: + // "FineGrainedBehavior" "{" ("describedSignature" describedSignature=[repository::Signature|EString])? "basicComponent" + // basicComponent=[repository::BasicComponent|EString] ("influencingParameter" "{" + // influencingParameter+=InfluencingParameter ("," influencingParameter+=InfluencingParameter)* "}")? ("actions" "{" + // actions+=AbstractAction ("," actions+=AbstractAction)* "}")? "behavior" behavior=ComponentInternalBehavior "}"; + public FineGrainedBehaviorElements getFineGrainedBehaviorAccess() { + return (pFineGrainedBehavior != null) ? pFineGrainedBehavior : (pFineGrainedBehavior = new FineGrainedBehaviorElements()); + } + + public ParserRule getFineGrainedBehaviorRule() { + return getFineGrainedBehaviorAccess().getRule(); + } + + //AbstractAction_Impl returns servicebehavior::AbstractAction: + // {servicebehavior::AbstractAction} "AbstractAction" "{" ("predecessor" + // predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + // successor=[servicebehavior::AbstractAction|EString])? "}"; + public AbstractAction_ImplElements getAbstractAction_ImplAccess() { + return (pAbstractAction_Impl != null) ? pAbstractAction_Impl : (pAbstractAction_Impl = new AbstractAction_ImplElements()); + } + + public ParserRule getAbstractAction_ImplRule() { + return getAbstractAction_ImplAccess().getRule(); + } + + //ComponentInternalBehavior_Impl returns servicebehavior::ComponentInternalBehavior: + // {servicebehavior::ComponentInternalBehavior} "ComponentInternalBehavior" "{" ("actions" "{" actions+=AbstractAction + // ("," actions+=AbstractAction)* "}")? "}"; + public ComponentInternalBehavior_ImplElements getComponentInternalBehavior_ImplAccess() { + return (pComponentInternalBehavior_Impl != null) ? pComponentInternalBehavior_Impl : (pComponentInternalBehavior_Impl = new ComponentInternalBehavior_ImplElements()); + } + + public ParserRule getComponentInternalBehavior_ImplRule() { + return getComponentInternalBehavior_ImplAccess().getRule(); + } + + //StartAction returns servicebehavior::StartAction: + // {servicebehavior::StartAction} "StartAction" "{" ("predecessor" + // predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + // successor=[servicebehavior::AbstractAction|EString])? "}"; + public StartActionElements getStartActionAccess() { + return (pStartAction != null) ? pStartAction : (pStartAction = new StartActionElements()); + } + + public ParserRule getStartActionRule() { + return getStartActionAccess().getRule(); + } + + //StopAction returns servicebehavior::StopAction: + // {servicebehavior::StopAction} "StopAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? + // ("successor" successor=[servicebehavior::AbstractAction|EString])? "}"; + public StopActionElements getStopActionAccess() { + return (pStopAction != null) ? pStopAction : (pStopAction = new StopActionElements()); + } + + public ParserRule getStopActionRule() { + return getStopActionAccess().getRule(); + } + + //AcquireAction returns servicebehavior::AcquireAction: + // "AcquireAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + // successor=[servicebehavior::AbstractAction|EString])? "passiveResource" + // passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString] "}"; + public AcquireActionElements getAcquireActionAccess() { + return (pAcquireAction != null) ? pAcquireAction : (pAcquireAction = new AcquireActionElements()); + } + + public ParserRule getAcquireActionRule() { + return getAcquireActionAccess().getRule(); + } + + //ReleaseAction returns servicebehavior::ReleaseAction: + // "ReleaseAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + // successor=[servicebehavior::AbstractAction|EString])? "passiveResource" + // passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString] "}"; + public ReleaseActionElements getReleaseActionAccess() { + return (pReleaseAction != null) ? pReleaseAction : (pReleaseAction = new ReleaseActionElements()); + } + + public ParserRule getReleaseActionRule() { + return getReleaseActionAccess().getRule(); + } + + //InternalAction returns servicebehavior::InternalAction: + // {servicebehavior::InternalAction} "InternalAction" "{" ("predecessor" + // predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + // successor=[servicebehavior::AbstractAction|EString])? ("resourceDemandSpecification" "{" + // resourceDemandSpecification+=ResourceDemandSpecification ("," + // resourceDemandSpecification+=ResourceDemandSpecification)* "}")? "}"; + public InternalActionElements getInternalActionAccess() { + return (pInternalAction != null) ? pInternalAction : (pInternalAction = new InternalActionElements()); + } + + public ParserRule getInternalActionRule() { + return getInternalActionAccess().getRule(); + } + + //ForkAction returns servicebehavior::ForkAction: + // withSynchronizationBarrier?="withSynchronizationBarrier" "ForkAction" "{" ("predecessor" + // predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + // successor=[servicebehavior::AbstractAction|EString])? ("forkedBehaviors" "{" + // forkedBehaviors+=ComponentInternalBehavior ("," forkedBehaviors+=ComponentInternalBehavior)* "}")? "}"; + public ForkActionElements getForkActionAccess() { + return (pForkAction != null) ? pForkAction : (pForkAction = new ForkActionElements()); + } + + public ParserRule getForkActionRule() { + return getForkActionAccess().getRule(); + } + + //BranchAction returns servicebehavior::BranchAction: + // "BranchAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + // successor=[servicebehavior::AbstractAction|EString])? ("branches" "{" branches+=BranchTransition ("," + // branches+=BranchTransition)* "}")? "branchProbabilities" branchProbabilities=BranchProbabilities "}"; + public BranchActionElements getBranchActionAccess() { + return (pBranchAction != null) ? pBranchAction : (pBranchAction = new BranchActionElements()); + } + + public ParserRule getBranchActionRule() { + return getBranchActionAccess().getRule(); + } + + //LoopAction returns servicebehavior::LoopAction: + // "LoopAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + // successor=[servicebehavior::AbstractAction|EString])? "loopBodyBehavior" loopBodyBehavior=ComponentInternalBehavior + // "loopIterationCountDistribution" loopIterationCountDistribution=LoopIterationCountDistribution "}"; + public LoopActionElements getLoopActionAccess() { + return (pLoopAction != null) ? pLoopAction : (pLoopAction = new LoopActionElements()); + } + + public ParserRule getLoopActionRule() { + return getLoopActionAccess().getRule(); + } + + //ExternalCallAction returns servicebehavior::ExternalCallAction: + // "ExternalCallAction" "{" ("predecessor" predecessor=[servicebehavior::AbstractAction|EString])? ("successor" + // successor=[servicebehavior::AbstractAction|EString])? "signature" signature=[repository::Signature|EString] + // "requiredRole" requiredRole=[repository::RequiredRole|EString] "}"; + public ExternalCallActionElements getExternalCallActionAccess() { + return (pExternalCallAction != null) ? pExternalCallAction : (pExternalCallAction = new ExternalCallActionElements()); + } + + public ParserRule getExternalCallActionRule() { + return getExternalCallActionAccess().getRule(); + } + + //PassiveResourceSpecification returns resourceconfiguration::PassiveResourceSpecification: + // "PassiveResourceSpecification" id=EString "{" "name" name=EString "passiveResourceType" + // passiveResourceType=[resourcetype::PassiveResourceType|EString] "capacity" capacity=PassiveResourceCapacity "}"; + public PassiveResourceSpecificationElements getPassiveResourceSpecificationAccess() { + return (pPassiveResourceSpecification != null) ? pPassiveResourceSpecification : (pPassiveResourceSpecification = new PassiveResourceSpecificationElements()); + } + + public ParserRule getPassiveResourceSpecificationRule() { + return getPassiveResourceSpecificationAccess().getRule(); + } + + //PassiveResourceCapacity returns resourceconfiguration::PassiveResourceCapacity: + // "PassiveResourceCapacity" id=EString "{" "name" name=EString "capacity" capacity=EBigInteger "}"; + public PassiveResourceCapacityElements getPassiveResourceCapacityAccess() { + return (pPassiveResourceCapacity != null) ? pPassiveResourceCapacity : (pPassiveResourceCapacity = new PassiveResourceCapacityElements()); + } + + public ParserRule getPassiveResourceCapacityRule() { + return getPassiveResourceCapacityAccess().getRule(); + } + + //PassiveResourceType returns resourcetype::PassiveResourceType: + // "PassiveResourceType" id=EString "{" "name" name=EString "}"; + public PassiveResourceTypeElements getPassiveResourceTypeAccess() { + return (pPassiveResourceType != null) ? pPassiveResourceType : (pPassiveResourceType = new PassiveResourceTypeElements()); + } + + public ParserRule getPassiveResourceTypeRule() { + return getPassiveResourceTypeAccess().getRule(); + } + + //EBigInteger returns ecore::EBigInteger: + // "-"? INT; + public EBigIntegerElements getEBigIntegerAccess() { + return (pEBigInteger != null) ? pEBigInteger : (pEBigInteger = new EBigIntegerElements()); + } + + public ParserRule getEBigIntegerRule() { + return getEBigIntegerAccess().getRule(); + } + + //ResourceDemandSpecification returns servicebehavior::ResourceDemandSpecification: + // "ResourceDemandSpecification" "{" "processingResourceType" + // processingResourceType=[resourcetype::ProcessingResourceType|EString] "}"; + public ResourceDemandSpecificationElements getResourceDemandSpecificationAccess() { + return (pResourceDemandSpecification != null) ? pResourceDemandSpecification : (pResourceDemandSpecification = new ResourceDemandSpecificationElements()); + } + + public ParserRule getResourceDemandSpecificationRule() { + return getResourceDemandSpecificationAccess().getRule(); + } + + //ProcessingResourceType_Impl returns resourcetype::ProcessingResourceType: + // "ProcessingResourceType" id=EString "{" "name" name=EString "}"; + public ProcessingResourceType_ImplElements getProcessingResourceType_ImplAccess() { + return (pProcessingResourceType_Impl != null) ? pProcessingResourceType_Impl : (pProcessingResourceType_Impl = new ProcessingResourceType_ImplElements()); + } + + public ParserRule getProcessingResourceType_ImplRule() { + return getProcessingResourceType_ImplAccess().getRule(); + } + + //CommunicationLinkResourceType returns resourcetype::CommunicationLinkResourceType: + // "CommunicationLinkResourceType" id=EString "{" "name" name=EString "}"; + public CommunicationLinkResourceTypeElements getCommunicationLinkResourceTypeAccess() { + return (pCommunicationLinkResourceType != null) ? pCommunicationLinkResourceType : (pCommunicationLinkResourceType = new CommunicationLinkResourceTypeElements()); + } + + public ParserRule getCommunicationLinkResourceTypeRule() { + return getCommunicationLinkResourceTypeAccess().getRule(); + } + + //EBoolean returns ecore::EBoolean: + // "true" | "false"; + public EBooleanElements getEBooleanAccess() { + return (pEBoolean != null) ? pEBoolean : (pEBoolean = new EBooleanElements()); + } + + public ParserRule getEBooleanRule() { + return getEBooleanAccess().getRule(); + } + + //BranchTransition returns servicebehavior::BranchTransition: + // "BranchTransition" id=EString "{" "name" name=EString "branchBehavior" branchBehavior=ComponentInternalBehavior "}"; + public BranchTransitionElements getBranchTransitionAccess() { + return (pBranchTransition != null) ? pBranchTransition : (pBranchTransition = new BranchTransitionElements()); + } + + public ParserRule getBranchTransitionRule() { + return getBranchTransitionAccess().getRule(); + } + + //BranchProbabilities returns servicebehavior::BranchProbabilities: + // "BranchProbabilities" "{" "probabilities" probabilities=[functions::RandomVariable|EString] "}"; + public BranchProbabilitiesElements getBranchProbabilitiesAccess() { + return (pBranchProbabilities != null) ? pBranchProbabilities : (pBranchProbabilities = new BranchProbabilitiesElements()); + } + + public ParserRule getBranchProbabilitiesRule() { + return getBranchProbabilitiesAccess().getRule(); + } + + //RandomVariable returns functions::RandomVariable: + // "RandomVariable" "{" "specification" specification=EString "probFunction" + // probFunction=[functions::ProbabilityFunction|EString] "}"; + public RandomVariableElements getRandomVariableAccess() { + return (pRandomVariable != null) ? pRandomVariable : (pRandomVariable = new RandomVariableElements()); + } + + public ParserRule getRandomVariableRule() { + return getRandomVariableAccess().getRule(); + } + + //ProbabilityMassFunction returns functions::ProbabilityMassFunction: + // {functions::ProbabilityMassFunction} "ProbabilityMassFunction" "{" ("sample" "{" sample+=Sample ("," sample+=Sample)* + // "}")? "}"; + public ProbabilityMassFunctionElements getProbabilityMassFunctionAccess() { + return (pProbabilityMassFunction != null) ? pProbabilityMassFunction : (pProbabilityMassFunction = new ProbabilityMassFunctionElements()); + } + + public ParserRule getProbabilityMassFunctionRule() { + return getProbabilityMassFunctionAccess().getRule(); + } + + //ProbabilityDensityFunction_Impl returns functions::ProbabilityDensityFunction: + // {functions::ProbabilityDensityFunction} "ProbabilityDensityFunction"; + public ProbabilityDensityFunction_ImplElements getProbabilityDensityFunction_ImplAccess() { + return (pProbabilityDensityFunction_Impl != null) ? pProbabilityDensityFunction_Impl : (pProbabilityDensityFunction_Impl = new ProbabilityDensityFunction_ImplElements()); + } + + public ParserRule getProbabilityDensityFunction_ImplRule() { + return getProbabilityDensityFunction_ImplAccess().getRule(); + } + + //BoxedPDF returns functions::BoxedPDF: + // {functions::BoxedPDF} "BoxedPDF" "{" ("sample" "{" sample+=ContinuousSample ("," sample+=ContinuousSample)* "}")? "}"; + public BoxedPDFElements getBoxedPDFAccess() { + return (pBoxedPDF != null) ? pBoxedPDF : (pBoxedPDF = new BoxedPDFElements()); + } + + public ParserRule getBoxedPDFRule() { + return getBoxedPDFAccess().getRule(); + } + + //ContinuousPDF_Impl returns functions::ContinuousPDF: + // {functions::ContinuousPDF} "ContinuousPDF"; + public ContinuousPDF_ImplElements getContinuousPDF_ImplAccess() { + return (pContinuousPDF_Impl != null) ? pContinuousPDF_Impl : (pContinuousPDF_Impl = new ContinuousPDF_ImplElements()); + } + + public ParserRule getContinuousPDF_ImplRule() { + return getContinuousPDF_ImplAccess().getRule(); + } + + //NormalDistribution returns functions::NormalDistribution: + // "NormalDistribution" "{" "mu" mu=EBigDecimal "sigma" sigma=EBigDecimal "}"; + public NormalDistributionElements getNormalDistributionAccess() { + return (pNormalDistribution != null) ? pNormalDistribution : (pNormalDistribution = new NormalDistributionElements()); + } + + public ParserRule getNormalDistributionRule() { + return getNormalDistributionAccess().getRule(); + } + + //ExponentialDistribution returns functions::ExponentialDistribution: + // "ExponentialDistribution" "{" "rate" rate=EBigDecimal "}"; + public ExponentialDistributionElements getExponentialDistributionAccess() { + return (pExponentialDistribution != null) ? pExponentialDistribution : (pExponentialDistribution = new ExponentialDistributionElements()); + } + + public ParserRule getExponentialDistributionRule() { + return getExponentialDistributionAccess().getRule(); + } + + //Sample returns functions::Sample: + // "Sample" "{" "probability" probability=EBigDecimal "value" value=[ecore::EObject|EString] "}"; + public SampleElements getSampleAccess() { + return (pSample != null) ? pSample : (pSample = new SampleElements()); + } + + public ParserRule getSampleRule() { + return getSampleAccess().getRule(); + } + + //EObject returns ecore::EObject: + // {ecore::EObject} "EObject"; + public EObjectElements getEObjectAccess() { + return (pEObject != null) ? pEObject : (pEObject = new EObjectElements()); + } + + public ParserRule getEObjectRule() { + return getEObjectAccess().getRule(); + } + + //EBigDecimal returns ecore::EBigDecimal: + // INT? "." INT; + public EBigDecimalElements getEBigDecimalAccess() { + return (pEBigDecimal != null) ? pEBigDecimal : (pEBigDecimal = new EBigDecimalElements()); + } + + public ParserRule getEBigDecimalRule() { + return getEBigDecimalAccess().getRule(); + } + + //ContinuousSample returns functions::ContinuousSample: + // "ContinuousSample" "{" "value" value=EBigDecimal "probability" probability=EBigDecimal "}"; + public ContinuousSampleElements getContinuousSampleAccess() { + return (pContinuousSample != null) ? pContinuousSample : (pContinuousSample = new ContinuousSampleElements()); + } + + public ParserRule getContinuousSampleRule() { + return getContinuousSampleAccess().getRule(); + } + + //LoopIterationCountDistribution returns servicebehavior::LoopIterationCountDistribution: + // "LoopIterationCountDistribution" "{" "loopIterationCountDistribution" + // loopIterationCountDistribution=[functions::RandomVariable|EString] "}"; + public LoopIterationCountDistributionElements getLoopIterationCountDistributionAccess() { + return (pLoopIterationCountDistribution != null) ? pLoopIterationCountDistribution : (pLoopIterationCountDistribution = new LoopIterationCountDistributionElements()); + } + + public ParserRule getLoopIterationCountDistributionRule() { + return getLoopIterationCountDistributionAccess().getRule(); + } + + //AssemblyContext returns repository::AssemblyContext: + // "AssemblyContext" id=EString "{" "name" name=EString "encapsulatedComponent" + // encapsulatedComponent=[repository::RepositoryComponent|EString] "}"; + public AssemblyContextElements getAssemblyContextAccess() { + return (pAssemblyContext != null) ? pAssemblyContext : (pAssemblyContext = new AssemblyContextElements()); + } + + public ParserRule getAssemblyContextRule() { + return getAssemblyContextAccess().getRule(); + } + + //AssemblyConnector returns repository::AssemblyConnector: + // "AssemblyConnector" id=EString "{" "name" name=EString "requiredRole" requiredRole=[repository::RequiredRole|EString] + // "providedRole" providedRole=[repository::ProvidedRole|EString] "providingAssemblyContext" + // providingAssemblyContext=[repository::AssemblyContext|EString] "requiringAssemblyContext" + // requiringAssemblyContext=[repository::AssemblyContext|EString] "}"; + public AssemblyConnectorElements getAssemblyConnectorAccess() { + return (pAssemblyConnector != null) ? pAssemblyConnector : (pAssemblyConnector = new AssemblyConnectorElements()); + } + + public ParserRule getAssemblyConnectorRule() { + return getAssemblyConnectorAccess().getRule(); + } + + //ProvidedDelegationConnector returns repository::ProvidedDelegationConnector: + // "ProvidedDelegationConnector" id=EString "{" "name" name=EString "assemblyContext" + // assemblyContext=[repository::AssemblyContext|EString] "innerProvidedRole" + // innerProvidedRole=[repository::ProvidedRole|EString] "outerProvidedRole" + // outerProvidedRole=[repository::ProvidedRole|EString] "}"; + public ProvidedDelegationConnectorElements getProvidedDelegationConnectorAccess() { + return (pProvidedDelegationConnector != null) ? pProvidedDelegationConnector : (pProvidedDelegationConnector = new ProvidedDelegationConnectorElements()); + } + + public ParserRule getProvidedDelegationConnectorRule() { + return getProvidedDelegationConnectorAccess().getRule(); + } + + //RequiredDelegationConnector returns repository::RequiredDelegationConnector: + // "RequiredDelegationConnector" id=EString "{" "name" name=EString "assemblyContext" + // assemblyContext=[repository::AssemblyContext|EString] "innerRequiredRole" + // innerRequiredRole=[repository::RequiredRole|EString] "outerRequiredRole" + // outerRequiredRole=[repository::RequiredRole|EString] "}"; + public RequiredDelegationConnectorElements getRequiredDelegationConnectorAccess() { + return (pRequiredDelegationConnector != null) ? pRequiredDelegationConnector : (pRequiredDelegationConnector = new RequiredDelegationConnectorElements()); + } + + public ParserRule getRequiredDelegationConnectorRule() { + return getRequiredDelegationConnectorAccess().getRule(); + } + + //enum CharacterizationType: + // VALUE | NUMBER_OF_ELEMENTS; + public CharacterizationTypeElements getCharacterizationTypeAccess() { + return (unknownRuleCharacterizationType != null) ? unknownRuleCharacterizationType : (unknownRuleCharacterizationType = new CharacterizationTypeElements()); + } + + public EnumRule getCharacterizationTypeRule() { + return getCharacterizationTypeAccess().getRule(); + } + + //ExternalCall_Impl returns servicebehavior::ExternalCall: + // "ExternalCall" "{" "signature" signature=[repository::Signature|EString] "requiredRole" + // requiredRole=[repository::RequiredRole|EString] "}"; + public ExternalCall_ImplElements getExternalCall_ImplAccess() { + return (pExternalCall_Impl != null) ? pExternalCall_Impl : (pExternalCall_Impl = new ExternalCall_ImplElements()); + } + + public ParserRule getExternalCall_ImplRule() { + return getExternalCall_ImplAccess().getRule(); + } + + //ExternalCallFrequency returns servicebehavior::ExternalCallFrequency: + // "ExternalCallFrequency" "{" "externalCall" externalCall=ExternalCall "frequency" frequency=CallFrequency "}"; + public ExternalCallFrequencyElements getExternalCallFrequencyAccess() { + return (pExternalCallFrequency != null) ? pExternalCallFrequency : (pExternalCallFrequency = new ExternalCallFrequencyElements()); + } + + public ParserRule getExternalCallFrequencyRule() { + return getExternalCallFrequencyAccess().getRule(); + } + + //CallFrequency returns servicebehavior::CallFrequency: + // "CallFrequency" "{" "frequency" frequency=[functions::RandomVariable|EString] "}"; + public CallFrequencyElements getCallFrequencyAccess() { + return (pCallFrequency != null) ? pCallFrequency : (pCallFrequency = new CallFrequencyElements()); + } + + public ParserRule getCallFrequencyRule() { + return getCallFrequencyAccess().getRule(); + } + + //DependencyRelationship: + // "DependencyRelationship" "{" "surroundingEntity" + // surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString] "influencedVariable" + // influencedVariable=[InfluencedVariable|EString] "influencingParameter" + // influencingParameter=[InfluencingParameter|EString] "}"; + public DependencyRelationshipElements getDependencyRelationshipAccess() { + return (pDependencyRelationship != null) ? pDependencyRelationship : (pDependencyRelationship = new DependencyRelationshipElements()); + } + + public ParserRule getDependencyRelationshipRule() { + return getDependencyRelationshipAccess().getRule(); + } + + //CorrelationRelationship: + // "CorrelationRelationship" "{" "surroundingEntity" + // surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString] "leftInfluencingParameter" + // leftInfluencingParameter=[InfluencingParameter|EString] "rightInfluencingParameter" + // rightInfluencingParameter=[InfluencingParameter|EString] "leftComponentInstanceReference" + // leftComponentInstanceReference=ComponentInstanceReference "rightComponentInstanceReference" + // rightComponentInstanceReference=ComponentInstanceReference "}"; + public CorrelationRelationshipElements getCorrelationRelationshipAccess() { + return (pCorrelationRelationship != null) ? pCorrelationRelationship : (pCorrelationRelationship = new CorrelationRelationshipElements()); + } + + public ParserRule getCorrelationRelationshipRule() { + return getCorrelationRelationshipAccess().getRule(); + } + + //InfluencedVariable: + // {InfluencedVariable} "InfluencedVariable" "{" ("controlFlowVariable" + // controlFlowVariable=[ControlFlowSpecification|EString])? ("resourceDemand" + // resourceDemand=[servicebehavior::ResourceDemandSpecification|EString])? ("responseTime" + // responseTime=[servicebehavior::ResponseTimeSpecification|EString])? "}"; + public InfluencedVariableElements getInfluencedVariableAccess() { + return (pInfluencedVariable != null) ? pInfluencedVariable : (pInfluencedVariable = new InfluencedVariableElements()); + } + + public ParserRule getInfluencedVariableRule() { + return getInfluencedVariableAccess().getRule(); + } + + //ComponentInstanceReference: + // {ComponentInstanceReference} "ComponentInstanceReference" "{" ("assemblies" "(" + // assemblies+=[repository::AssemblyContext|EString] ("," assemblies+=[repository::AssemblyContext|EString])* ")")? "}"; + public ComponentInstanceReferenceElements getComponentInstanceReferenceAccess() { + return (pComponentInstanceReference != null) ? pComponentInstanceReference : (pComponentInstanceReference = new ComponentInstanceReferenceElements()); + } + + public ParserRule getComponentInstanceReferenceRule() { + return getComponentInstanceReferenceAccess().getRule(); + } + + //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: + // "\"" ("\\" ("b" | "t" | "n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\""))* "\"" | "\'" ("\\" ("b" | "t" | + // "n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\'"))* "\'"; + 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/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/validation/AbstractRepositoryDSLJavaValidator.java b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/validation/AbstractRepositoryDSLJavaValidator.java new file mode 100644 index 0000000000000000000000000000000000000000..a9c90b784ebe39c7bc49607d2d5c8fe52662cce1 --- /dev/null +++ b/src-gen/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/validation/AbstractRepositoryDSLJavaValidator.java @@ -0,0 +1,24 @@ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.text.validation; + +import java.util.ArrayList; +import java.util.List; + +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.xtext.validation.AbstractDeclarativeValidator; + +public class AbstractRepositoryDSLJavaValidator extends AbstractDeclarativeValidator { + + @Override + protected List<EPackage> getEPackages() { + List<EPackage> result = new ArrayList<EPackage>(); + result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.descartes-research.net/metamodel/repository/0.1")); + result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.descartes-research.net/metamodel/parameterdependencies/0.1")); + result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.descartes-research.net/metamodel/servicebehavior/0.1")); + result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.descartes-research.net/metamodel/resourcetype/0.1")); + result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.descartes-research.net/metamodel/functions/0.1")); + result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.descartes-research.net/metamodel/resourceconfiguration/0.1")); + result.add(EPackage.Registry.INSTANCE.getEPackage("http://www.eclipse.org/emf/2002/Ecore")); + return result; + } + +} diff --git a/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/GenerateRepositoryDSL.mwe2 b/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/GenerateRepositoryDSL.mwe2 new file mode 100644 index 0000000000000000000000000000000000000000..ca13890537c005facaa46bb7f58feaa43d32d20e --- /dev/null +++ b/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/GenerateRepositoryDSL.mwe2 @@ -0,0 +1,121 @@ +module edu.kit.ipd.descartes.mm.applicationlevel.repository.text.RepositoryDSL + +import org.eclipse.emf.mwe.utils.* +import org.eclipse.xtext.generator.* +import org.eclipse.xtext.ui.generator.* + +var grammarURI = "classpath:/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSL.xtext" +var file.extensions = "repositoryDSL" +var projectName = "edu.kit.ipd.descartes.mm.applicationlevel.repository.text" +var runtimeProject = "../${projectName}" + +Workflow { + bean = StandaloneSetup { + scanClassPath = true + platformUri = "${runtimeProject}/.." + registerGeneratedEPackage = "edu.kit.ipd.descartes.mm.parameterdependencies.ParameterdependenciesPackage" + registerGeneratedEPackage = "edu.kit.ipd.descartes.mm.system.SystemPackage" + registerGeneratedEPackage = "edu.kit.ipd.descartes.mm.repository.RepositoryPackage" + registerGeneratedEPackage = "edu.kit.ipd.descartes.mm.functions.FunctionsPackage" + registerGeneratedEPackage = "edu.kit.ipd.descartes.mm.servicebehavior.ServicebehaviorPackage" + + // registerGenModelFile = "platform:/resource/edu.kit.ipd.descartes.mm/model/applicationlevel.genmodel" + + } + + component = DirectoryCleaner { + directory = "${runtimeProject}/src-gen" + } + + component = DirectoryCleaner { + directory = "${runtimeProject}.ui/src-gen" + } + + component = Generator { + pathRtProject = runtimeProject + pathUiProject = "${runtimeProject}.ui" + projectNameRt = projectName + projectNameUi = "${projectName}.ui" + language = { + uri = grammarURI + fileExtensions = file.extensions + + // Java API to access grammar elements (required by several other fragments) + fragment = grammarAccess.GrammarAccessFragment {} + + // generates Java API for the generated EPackages + // fragment = ecore.EcoreGeneratorFragment {} + + // the serialization component + fragment = parseTreeConstructor.ParseTreeConstructorFragment {} + + // a custom ResourceFactory for use with EMF + fragment = resourceFactory.ResourceFactoryFragment { + fileExtensions = file.extensions + } + + // the Antlr parser + fragment = parser.antlr.XtextAntlrGeneratorFragment { + options = { + classSplitting = true + } + } + + // the Ecore2Xtext specific terminal converter + fragment = ecore2xtext.Ecore2XtextValueConverterServiceFragment {} + + // java-based API for validation + fragment = validation.JavaValidatorFragment { + // composedCheck = "org.eclipse.xtext.validation.ImportUriValidator" + // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator" + } + + // scoping and exporting API + fragment = scoping.ImportURIScopingFragment {} + fragment = exporting.SimpleNamesFragment {} + + // scoping and exporting API + + // fragment = scoping.ImportNamespacesScopingFragment {} + // fragment = exporting.QualifiedNamesFragment {} + + + // formatter API + fragment = ecore2xtext.FormatterFragment {} + + // labeling API + fragment = labeling.LabelProviderFragment {} + + // outline API + fragment = outline.OutlineTreeProviderFragment {} + fragment = outline.QuickOutlineFragment {} + + // java-based API for content assistance + fragment = contentAssist.JavaBasedContentAssistFragment {} + + // antlr parser generator tailored for content assist + fragment = parser.antlr.XtextAntlrUiGeneratorFragment { + options = { + classSplitting = true + } + } + + // provides a compare view + fragment = compare.CompareFragment { + fileExtensions = file.extensions + } + + fragment = builder.BuilderIntegrationFragment {} + + // project wizard (optional) + + // fragment = projectWizard.SimpleProjectWizardFragment { + // generatorProjectName = "${projectName}.generator" + // modelFileExtension = file.extensions + // } + + // quickfix API + fragment = quickfix.QuickfixProviderFragment {} + } + } +} diff --git a/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSL.xtext b/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSL.xtext new file mode 100644 index 0000000000000000000000000000000000000000..1c9461e38e1f1b97346046e7e6ad6aac0041e55d --- /dev/null +++ b/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSL.xtext @@ -0,0 +1,620 @@ +// automatically generated by Xtext +grammar edu.kit.ipd.descartes.mm.applicationlevel.repository.text.RepositoryDSL with org.eclipse.xtext.common.Terminals + +import "platform:/resource/edu.kit.ipd.descartes.mm/model/parameterdependency.ecore" + +import "platform:/resource/edu.kit.ipd.descartes.mm/model/servicebehavior.ecore" as servicebehavior + +import "http://www.eclipse.org/emf/2002/Ecore" as ecore + +import "platform:/resource/edu.kit.ipd.descartes.mm/model/repository.ecore" as repository + +import "platform:/resource/edu.kit.ipd.descartes.mm/model/system.ecore" as system + +import "platform:/resource/edu.kit.ipd.descartes.mm/model/resourceconfiguration.ecore" as resourceconfiguration + +import "platform:/resource/edu.kit.ipd.descartes.mm/model/functions.ecore" as functions + +import "platform:/resource/edu.kit.ipd.descartes.mm/model/resourcetype.ecore" as resourcetype + +Repository returns repository::Repository: + 'Repository' + id=EString + '{' + 'name' name=EString + ('datatypes' '{' datatypes+=DataType ( "," datatypes+=DataType)* '}' )? + ('interfaces' '{' interfaces+=Interface ( "," interfaces+=Interface)* '}' )? + ('components' '{' components+=RepositoryComponent ( "," components+=RepositoryComponent)* '}' )? + '}'; + + +DataType returns repository::DataType: + CollectionDataType | CompositeDataType | PrimitiveDataType; + +RepositoryComponent returns repository::RepositoryComponent: + RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem; + +Relationship returns Relationship: + DependencyRelationship | CorrelationRelationship; + +InfluencingParameter returns InfluencingParameter: + InfluencingParameter_Impl | ServiceInputParameter | ExternalCallReturnParameter | ExternalCallParameter; + +InterfaceProvidingEntity returns repository::InterfaceProvidingEntity: + RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem; + +InterfaceProvidingRequiringEntity returns repository::InterfaceProvidingRequiringEntity: + RepositoryComponent_Impl | BasicComponent | CompositeComponent | SubSystem; + +ServiceBehaviorAbstraction returns servicebehavior::ServiceBehaviorAbstraction: + FineGrainedBehavior | CoarseGrainedBehavior | BlackBoxBehavior; + +ExternalCall returns servicebehavior::ExternalCall: + ExternalCall_Impl | ExternalCallAction; + +AbstractAction returns servicebehavior::AbstractAction: + AbstractAction_Impl | StartAction | StopAction | AcquireAction | ReleaseAction | InternalAction | ForkAction | BranchAction | LoopAction | ExternalCallAction; + +ComponentInternalBehavior returns servicebehavior::ComponentInternalBehavior: + ComponentInternalBehavior_Impl | FineGrainedBehavior; + +ProcessingResourceType returns resourcetype::ProcessingResourceType: + ProcessingResourceType_Impl | CommunicationLinkResourceType; + +ProbabilityFunction returns functions::ProbabilityFunction: + ProbabilityMassFunction | ProbabilityDensityFunction_Impl | BoxedPDF | ContinuousPDF_Impl | NormalDistribution | ExponentialDistribution; + +EString returns ecore::EString: + STRING | ID; + +Interface returns repository::Interface: + 'Interface' + id=EString + '{' + 'name' name=EString + ('parentInterfaces' '(' parentInterfaces+=[repository::Interface|EString] ( "," parentInterfaces+=[repository::Interface|EString])* ')' )? + ('signatures' '{' signatures+=Signature ( "," signatures+=Signature)* '}' )? + '}'; + +RepositoryComponent_Impl returns repository::RepositoryComponent: + 'RepositoryComponent' + id=EString + '{' + 'name' name=EString + ('relationship' '(' relationship+=[Relationship|EString] ( "," relationship+=[Relationship|EString])* ')' )? + ('providedRoles' '{' providedRoles+=ProvidedRole ( "," providedRoles+=ProvidedRole)* '}' )? + ('blackBoxBehavior' '{' blackBoxBehavior+=BlackBoxBehavior ( "," blackBoxBehavior+=BlackBoxBehavior)* '}' )? + ('requiredRoles' '{' requiredRoles+=RequiredRole ( "," requiredRoles+=RequiredRole)* '}' )? + ('coarseGrainedBehavior' '{' coarseGrainedBehavior+=CoarseGrainedBehavior ( "," coarseGrainedBehavior+=CoarseGrainedBehavior)* '}' )? + '}'; + +CollectionDataType returns repository::CollectionDataType: + 'CollectionDataType' + id=EString + '{' + 'name' name=EString + 'innerType' innerType=[repository::DataType|EString] + '}'; + +CompositeDataType returns repository::CompositeDataType: + 'CompositeDataType' + id=EString + '{' + 'name' name=EString + ('parentTypes' '(' parentTypes+=[repository::CompositeDataType|EString] ( "," parentTypes+=[repository::CompositeDataType|EString])* ')' )? + ('innerDeclarations' '{' innerDeclarations+=InnerDeclaration ( "," innerDeclarations+=InnerDeclaration)* '}' )? + '}'; + +PrimitiveDataType returns repository::PrimitiveDataType: + 'PrimitiveDataType' + '{' + 'type' type=PrimitiveTypeEnum + '}'; + +InnerDeclaration returns repository::InnerDeclaration: + 'InnerDeclaration' + id=EString + '{' + 'name' name=EString + 'dataType' dataType=[repository::DataType|EString] + '}'; + +enum PrimitiveTypeEnum returns repository::PrimitiveTypeEnum: + INT = 'INT' | STRING = 'STRING' | BOOL = 'BOOL' | DOUBLE = 'DOUBLE' | CHAR = 'CHAR' | BYTE = 'BYTE' | LONG = 'LONG'; + +Signature returns repository::Signature: + 'Signature' + id=EString + '{' + 'name' name=EString + ('returnType' returnType=[repository::DataType|EString])? + ('parameters' '{' parameters+=Parameter ( "," parameters+=Parameter)* '}' )? + '}'; + +Parameter returns repository::Parameter: + 'Parameter' + name=EString + '{' + 'modifier' modifier=ParameterModifier + 'dataType' dataType=[repository::DataType|EString] + '}'; + +enum ParameterModifier returns repository::ParameterModifier: + NONE = 'NONE' | IN = 'IN' | OUT = 'OUT' | INOUT = 'INOUT'; + +ProvidedRole returns repository::ProvidedRole: + 'ProvidedRole' + id=EString + '{' + 'name' name=EString + 'interface' interface=[repository::Interface|EString] + '}'; + +BlackBoxBehavior returns servicebehavior::BlackBoxBehavior: + 'BlackBoxBehavior' + '{' + ('describedSignature' describedSignature=[repository::Signature|EString])? + 'describedEntity' describedEntity=[repository::InterfaceProvidingEntity|EString] + ('influencingParameter' '{' influencingParameter+=InfluencingParameter ( "," influencingParameter+=InfluencingParameter)* '}' )? + ('responseTimeSpecification' responseTimeSpecification=ResponseTimeSpecification)? + '}'; + +RequiredRole returns repository::RequiredRole: + 'RequiredRole' + id=EString + '{' + 'name' name=EString + 'interface' interface=[repository::Interface|EString] + '}'; + +CoarseGrainedBehavior returns servicebehavior::CoarseGrainedBehavior: + 'CoarseGrainedBehavior' + '{' + ('describedSignature' describedSignature=[repository::Signature|EString])? + 'describedEntity' describedEntity=[repository::InterfaceProvidingRequiringEntity|EString] + ('influencingParameter' '{' influencingParameter+=InfluencingParameter ( "," influencingParameter+=InfluencingParameter)* '}' )? + ('externalCallFrequency' '{' externalCallFrequency+=ExternalCallFrequency ( "," externalCallFrequency+=ExternalCallFrequency)* '}' )? + ('resourceDemandSpecification' '{' resourceDemandSpecification+=ResourceDemandSpecification ( "," resourceDemandSpecification+=ResourceDemandSpecification)* '}' )? + '}'; + +BasicComponent returns repository::BasicComponent: + 'BasicComponent' + id=EString + '{' + 'name' name=EString + ('relationship' '(' relationship+=[Relationship|EString] ( "," relationship+=[Relationship|EString])* ')' )? + ('providedRoles' '{' providedRoles+=ProvidedRole ( "," providedRoles+=ProvidedRole)* '}' )? + ('blackBoxBehavior' '{' blackBoxBehavior+=BlackBoxBehavior ( "," blackBoxBehavior+=BlackBoxBehavior)* '}' )? + ('requiredRoles' '{' requiredRoles+=RequiredRole ( "," requiredRoles+=RequiredRole)* '}' )? + ('coarseGrainedBehavior' '{' coarseGrainedBehavior+=CoarseGrainedBehavior ( "," coarseGrainedBehavior+=CoarseGrainedBehavior)* '}' )? + ('passiveResources' '{' passiveResources+=PassiveResourceSpecification ( "," passiveResources+=PassiveResourceSpecification)* '}' )? + ('fineGrainedBehavior' '{' fineGrainedBehavior+=FineGrainedBehavior ( "," fineGrainedBehavior+=FineGrainedBehavior)* '}' )? + '}'; + +CompositeComponent returns repository::CompositeComponent: + 'CompositeComponent' + id=EString + '{' + 'name' name=EString + ('relationship' '(' relationship+=[Relationship|EString] ( "," relationship+=[Relationship|EString])* ')' )? + ('providedRoles' '{' providedRoles+=ProvidedRole ( "," providedRoles+=ProvidedRole)* '}' )? + ('blackBoxBehavior' '{' blackBoxBehavior+=BlackBoxBehavior ( "," blackBoxBehavior+=BlackBoxBehavior)* '}' )? + ('requiredRoles' '{' requiredRoles+=RequiredRole ( "," requiredRoles+=RequiredRole)* '}' )? + ('coarseGrainedBehavior' '{' coarseGrainedBehavior+=CoarseGrainedBehavior ( "," coarseGrainedBehavior+=CoarseGrainedBehavior)* '}' )? + ('assemblyContexts' '{' assemblyContexts+=AssemblyContext ( "," assemblyContexts+=AssemblyContext)* '}' )? + ('assemblyConnectors' '{' assemblyConnectors+=AssemblyConnector ( "," assemblyConnectors+=AssemblyConnector)* '}' )? + ('providedDelegationConnectors' '{' providedDelegationConnectors+=ProvidedDelegationConnector ( "," providedDelegationConnectors+=ProvidedDelegationConnector)* '}' )? + ('requiredDelegationConnectors' '{' requiredDelegationConnectors+=RequiredDelegationConnector ( "," requiredDelegationConnectors+=RequiredDelegationConnector)* '}' )? + '}'; + +SubSystem returns repository::SubSystem: + 'SubSystem' + id=EString + '{' + 'name' name=EString + ('relationship' '(' relationship+=[Relationship|EString] ( "," relationship+=[Relationship|EString])* ')' )? + ('providedRoles' '{' providedRoles+=ProvidedRole ( "," providedRoles+=ProvidedRole)* '}' )? + ('blackBoxBehavior' '{' blackBoxBehavior+=BlackBoxBehavior ( "," blackBoxBehavior+=BlackBoxBehavior)* '}' )? + ('requiredRoles' '{' requiredRoles+=RequiredRole ( "," requiredRoles+=RequiredRole)* '}' )? + ('coarseGrainedBehavior' '{' coarseGrainedBehavior+=CoarseGrainedBehavior ( "," coarseGrainedBehavior+=CoarseGrainedBehavior)* '}' )? + ('assemblyContexts' '{' assemblyContexts+=AssemblyContext ( "," assemblyContexts+=AssemblyContext)* '}' )? + ('assemblyConnectors' '{' assemblyConnectors+=AssemblyConnector ( "," assemblyConnectors+=AssemblyConnector)* '}' )? + ('providedDelegationConnectors' '{' providedDelegationConnectors+=ProvidedDelegationConnector ( "," providedDelegationConnectors+=ProvidedDelegationConnector)* '}' )? + ('requiredDelegationConnectors' '{' requiredDelegationConnectors+=RequiredDelegationConnector ( "," requiredDelegationConnectors+=RequiredDelegationConnector)* '}' )? + '}'; + +InfluencingParameter_Impl returns InfluencingParameter: + 'InfluencingParameter' + name=EString + '{' + 'description' description=EString + 'behavior' behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] + ('scope' '{' scope+=Scope ( "," scope+=Scope)* '}' )? + '}'; + +ResponseTimeSpecification returns servicebehavior::ResponseTimeSpecification: + {servicebehavior::ResponseTimeSpecification} + 'ResponseTimeSpecification' +; + +Scope returns Scope: + 'Scope' + '{' + 'interfaceProvidingRequiringEntity' interfaceProvidingRequiringEntity=[repository::InterfaceProvidingRequiringEntity|EString] + '}'; + +ServiceInputParameter returns ServiceInputParameter: + 'ServiceInputParameter' + name=EString + '{' + 'description' description=EString + 'characterization' characterization=CharacterizationType + 'behavior' behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] + 'signature' signature=[repository::Signature|EString] + ('parameter' parameter=[repository::Parameter|EString])? + ('returnType' returnType=[repository::DataType|EString])? + 'providedRole' providedRole=[repository::ProvidedRole|EString] + ('scope' '{' scope+=Scope ( "," scope+=Scope)* '}' )? + '}'; + +ExternalCallReturnParameter returns ExternalCallReturnParameter: + 'ExternalCallReturnParameter' + name=EString + '{' + 'description' description=EString + 'characterization' characterization=CharacterizationType + 'behavior' behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] + 'signature' signature=[repository::Signature|EString] + ('parameter' parameter=[repository::Parameter|EString])? + ('returnType' returnType=[repository::DataType|EString])? + 'externalCall' externalCall=[servicebehavior::ExternalCall|EString] + ('scope' '{' scope+=Scope ( "," scope+=Scope)* '}' )? + '}'; + +ExternalCallParameter returns ExternalCallParameter: + 'ExternalCallParameter' + name=EString + '{' + 'description' description=EString + 'characterization' characterization=CharacterizationType + 'behavior' behavior=[servicebehavior::ServiceBehaviorAbstraction|EString] + 'signature' signature=[repository::Signature|EString] + ('parameter' parameter=[repository::Parameter|EString])? + ('returnType' returnType=[repository::DataType|EString])? + 'externallCall' externallCall=[servicebehavior::ExternalCall|EString] + ('scope' '{' scope+=Scope ( "," scope+=Scope)* '}' )? + '}'; + +FineGrainedBehavior returns servicebehavior::FineGrainedBehavior: + 'FineGrainedBehavior' + '{' + ('describedSignature' describedSignature=[repository::Signature|EString])? + 'basicComponent' basicComponent=[repository::BasicComponent|EString] + ('influencingParameter' '{' influencingParameter+=InfluencingParameter ( "," influencingParameter+=InfluencingParameter)* '}' )? + ('actions' '{' actions+=AbstractAction ( "," actions+=AbstractAction)* '}' )? + 'behavior' behavior=ComponentInternalBehavior + '}'; + +AbstractAction_Impl returns servicebehavior::AbstractAction: + {servicebehavior::AbstractAction} + 'AbstractAction' + '{' + ('predecessor' predecessor=[servicebehavior::AbstractAction|EString])? + ('successor' successor=[servicebehavior::AbstractAction|EString])? + '}'; + +ComponentInternalBehavior_Impl returns servicebehavior::ComponentInternalBehavior: + {servicebehavior::ComponentInternalBehavior} + 'ComponentInternalBehavior' + '{' + ('actions' '{' actions+=AbstractAction ( "," actions+=AbstractAction)* '}' )? + '}'; + +StartAction returns servicebehavior::StartAction: + {servicebehavior::StartAction} + 'StartAction' + '{' + ('predecessor' predecessor=[servicebehavior::AbstractAction|EString])? + ('successor' successor=[servicebehavior::AbstractAction|EString])? + '}'; + +StopAction returns servicebehavior::StopAction: + {servicebehavior::StopAction} + 'StopAction' + '{' + ('predecessor' predecessor=[servicebehavior::AbstractAction|EString])? + ('successor' successor=[servicebehavior::AbstractAction|EString])? + '}'; + +AcquireAction returns servicebehavior::AcquireAction: + 'AcquireAction' + '{' + ('predecessor' predecessor=[servicebehavior::AbstractAction|EString])? + ('successor' successor=[servicebehavior::AbstractAction|EString])? + 'passiveResource' passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString] + '}'; + +ReleaseAction returns servicebehavior::ReleaseAction: + 'ReleaseAction' + '{' + ('predecessor' predecessor=[servicebehavior::AbstractAction|EString])? + ('successor' successor=[servicebehavior::AbstractAction|EString])? + 'passiveResource' passiveResource=[resourceconfiguration::PassiveResourceSpecification|EString] + '}'; + +InternalAction returns servicebehavior::InternalAction: + {servicebehavior::InternalAction} + 'InternalAction' + '{' + ('predecessor' predecessor=[servicebehavior::AbstractAction|EString])? + ('successor' successor=[servicebehavior::AbstractAction|EString])? + ('resourceDemandSpecification' '{' resourceDemandSpecification+=ResourceDemandSpecification ( "," resourceDemandSpecification+=ResourceDemandSpecification)* '}' )? + '}'; + +ForkAction returns servicebehavior::ForkAction: + withSynchronizationBarrier?='withSynchronizationBarrier' + 'ForkAction' + '{' + ('predecessor' predecessor=[servicebehavior::AbstractAction|EString])? + ('successor' successor=[servicebehavior::AbstractAction|EString])? + ('forkedBehaviors' '{' forkedBehaviors+=ComponentInternalBehavior ( "," forkedBehaviors+=ComponentInternalBehavior)* '}' )? + '}'; + +BranchAction returns servicebehavior::BranchAction: + 'BranchAction' + '{' + ('predecessor' predecessor=[servicebehavior::AbstractAction|EString])? + ('successor' successor=[servicebehavior::AbstractAction|EString])? + ('branches' '{' branches+=BranchTransition ( "," branches+=BranchTransition)* '}' )? + 'branchProbabilities' branchProbabilities=BranchProbabilities + '}'; + +LoopAction returns servicebehavior::LoopAction: + 'LoopAction' + '{' + ('predecessor' predecessor=[servicebehavior::AbstractAction|EString])? + ('successor' successor=[servicebehavior::AbstractAction|EString])? + 'loopBodyBehavior' loopBodyBehavior=ComponentInternalBehavior + 'loopIterationCountDistribution' loopIterationCountDistribution=LoopIterationCountDistribution + '}'; + +ExternalCallAction returns servicebehavior::ExternalCallAction: + 'ExternalCallAction' + '{' + ('predecessor' predecessor=[servicebehavior::AbstractAction|EString])? + ('successor' successor=[servicebehavior::AbstractAction|EString])? + 'signature' signature=[repository::Signature|EString] + 'requiredRole' requiredRole=[repository::RequiredRole|EString] + '}'; + +PassiveResourceSpecification returns resourceconfiguration::PassiveResourceSpecification: + 'PassiveResourceSpecification' + id=EString + '{' + 'name' name=EString + 'passiveResourceType' passiveResourceType=[resourcetype::PassiveResourceType|EString] + 'capacity' capacity=PassiveResourceCapacity + '}'; + +PassiveResourceCapacity returns resourceconfiguration::PassiveResourceCapacity: + 'PassiveResourceCapacity' + id=EString + '{' + 'name' name=EString + 'capacity' capacity=EBigInteger + '}'; + +PassiveResourceType returns resourcetype::PassiveResourceType: + 'PassiveResourceType' + id=EString + '{' + 'name' name=EString + '}'; + +EBigInteger returns ecore::EBigInteger: + '-'? INT; + +ResourceDemandSpecification returns servicebehavior::ResourceDemandSpecification: + 'ResourceDemandSpecification' + '{' + 'processingResourceType' processingResourceType=[resourcetype::ProcessingResourceType|EString] + '}'; + +ProcessingResourceType_Impl returns resourcetype::ProcessingResourceType: + 'ProcessingResourceType' + id=EString + '{' + 'name' name=EString + '}'; + +CommunicationLinkResourceType returns resourcetype::CommunicationLinkResourceType: + 'CommunicationLinkResourceType' + id=EString + '{' + 'name' name=EString + '}'; + +EBoolean returns ecore::EBoolean: + 'true' | 'false'; + +BranchTransition returns servicebehavior::BranchTransition: + 'BranchTransition' + id=EString + '{' + 'name' name=EString + 'branchBehavior' branchBehavior=ComponentInternalBehavior + '}'; + +BranchProbabilities returns servicebehavior::BranchProbabilities: + 'BranchProbabilities' + '{' + 'probabilities' probabilities=[functions::RandomVariable|EString] + '}'; + +RandomVariable returns functions::RandomVariable: + 'RandomVariable' + '{' + 'specification' specification=EString + 'probFunction' probFunction=[functions::ProbabilityFunction|EString] + '}'; + +ProbabilityMassFunction returns functions::ProbabilityMassFunction: + {functions::ProbabilityMassFunction} + 'ProbabilityMassFunction' + '{' + ('sample' '{' sample+=Sample ( "," sample+=Sample)* '}' )? + '}'; + +ProbabilityDensityFunction_Impl returns functions::ProbabilityDensityFunction: + {functions::ProbabilityDensityFunction} + 'ProbabilityDensityFunction' +; + +BoxedPDF returns functions::BoxedPDF: + {functions::BoxedPDF} + 'BoxedPDF' + '{' + ('sample' '{' sample+=ContinuousSample ( "," sample+=ContinuousSample)* '}' )? + '}'; + +ContinuousPDF_Impl returns functions::ContinuousPDF: + {functions::ContinuousPDF} + 'ContinuousPDF' +; + +NormalDistribution returns functions::NormalDistribution: + 'NormalDistribution' + '{' + 'mu' mu=EBigDecimal + 'sigma' sigma=EBigDecimal + '}'; + +ExponentialDistribution returns functions::ExponentialDistribution: + 'ExponentialDistribution' + '{' + 'rate' rate=EBigDecimal + '}'; + +Sample returns functions::Sample: + 'Sample' + '{' + 'probability' probability=EBigDecimal + 'value' value=[ecore::EObject|EString] + '}'; + +EObject returns ecore::EObject: + {ecore::EObject} + 'EObject' +; + +EBigDecimal returns ecore::EBigDecimal: + INT? '.' INT; + +ContinuousSample returns functions::ContinuousSample: + 'ContinuousSample' + '{' + 'value' value=EBigDecimal + 'probability' probability=EBigDecimal + '}'; + +LoopIterationCountDistribution returns servicebehavior::LoopIterationCountDistribution: + 'LoopIterationCountDistribution' + '{' + 'loopIterationCountDistribution' loopIterationCountDistribution=[functions::RandomVariable|EString] + '}'; + +AssemblyContext returns repository::AssemblyContext: + 'AssemblyContext' + id=EString + '{' + 'name' name=EString + 'encapsulatedComponent' encapsulatedComponent=[repository::RepositoryComponent|EString] + '}'; + +AssemblyConnector returns repository::AssemblyConnector: + 'AssemblyConnector' + id=EString + '{' + 'name' name=EString + 'requiredRole' requiredRole=[repository::RequiredRole|EString] + 'providedRole' providedRole=[repository::ProvidedRole|EString] + 'providingAssemblyContext' providingAssemblyContext=[repository::AssemblyContext|EString] + 'requiringAssemblyContext' requiringAssemblyContext=[repository::AssemblyContext|EString] + '}'; + +ProvidedDelegationConnector returns repository::ProvidedDelegationConnector: + 'ProvidedDelegationConnector' + id=EString + '{' + 'name' name=EString + 'assemblyContext' assemblyContext=[repository::AssemblyContext|EString] + 'innerProvidedRole' innerProvidedRole=[repository::ProvidedRole|EString] + 'outerProvidedRole' outerProvidedRole=[repository::ProvidedRole|EString] + '}'; + +RequiredDelegationConnector returns repository::RequiredDelegationConnector: + 'RequiredDelegationConnector' + id=EString + '{' + 'name' name=EString + 'assemblyContext' assemblyContext=[repository::AssemblyContext|EString] + 'innerRequiredRole' innerRequiredRole=[repository::RequiredRole|EString] + 'outerRequiredRole' outerRequiredRole=[repository::RequiredRole|EString] + '}'; + +enum CharacterizationType returns CharacterizationType: + VALUE = 'VALUE' | NUMBER_OF_ELEMENTS = 'NUMBER_OF_ELEMENTS'; + +ExternalCall_Impl returns servicebehavior::ExternalCall: + 'ExternalCall' + '{' + 'signature' signature=[repository::Signature|EString] + 'requiredRole' requiredRole=[repository::RequiredRole|EString] + '}'; + +ExternalCallFrequency returns servicebehavior::ExternalCallFrequency: + 'ExternalCallFrequency' + '{' + 'externalCall' externalCall=ExternalCall + 'frequency' frequency=CallFrequency + '}'; + +CallFrequency returns servicebehavior::CallFrequency: + 'CallFrequency' + '{' + 'frequency' frequency=[functions::RandomVariable|EString] + '}'; + +DependencyRelationship returns DependencyRelationship: + 'DependencyRelationship' + '{' + 'surroundingEntity' surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString] + 'influencedVariable' influencedVariable=[InfluencedVariable|EString] + 'influencingParameter' influencingParameter=[InfluencingParameter|EString] + '}'; + +CorrelationRelationship returns CorrelationRelationship: + 'CorrelationRelationship' + '{' + 'surroundingEntity' surroundingEntity=[repository::InterfaceProvidingRequiringEntity|EString] + 'leftInfluencingParameter' leftInfluencingParameter=[InfluencingParameter|EString] + 'rightInfluencingParameter' rightInfluencingParameter=[InfluencingParameter|EString] + 'leftComponentInstanceReference' leftComponentInstanceReference=ComponentInstanceReference + 'rightComponentInstanceReference' rightComponentInstanceReference=ComponentInstanceReference + '}'; + +InfluencedVariable returns InfluencedVariable: + {InfluencedVariable} + 'InfluencedVariable' + '{' + ('controlFlowVariable' controlFlowVariable=[ControlFlowSpecification|EString])? + ('resourceDemand' resourceDemand=[servicebehavior::ResourceDemandSpecification|EString])? + ('responseTime' responseTime=[servicebehavior::ResponseTimeSpecification|EString])? + '}'; + +ComponentInstanceReference returns ComponentInstanceReference: + {ComponentInstanceReference} + 'ComponentInstanceReference' + '{' + ('assemblies' '(' assemblies+=[repository::AssemblyContext|EString] ( "," assemblies+=[repository::AssemblyContext|EString])* ')' )? + '}'; diff --git a/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSLRuntimeModule.java b/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSLRuntimeModule.java new file mode 100644 index 0000000000000000000000000000000000000000..ecb586b786740890942041da99cb9183d2da121e --- /dev/null +++ b/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSLRuntimeModule.java @@ -0,0 +1,11 @@ +/* + * generated by Xtext + */ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.text; + +/** + * Use this class to register components to be used at runtime / without the Equinox extension registry. + */ +public class RepositoryDSLRuntimeModule extends edu.kit.ipd.descartes.mm.applicationlevel.repository.text.AbstractRepositoryDSLRuntimeModule { + +} diff --git a/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSLStandaloneSetup.java b/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSLStandaloneSetup.java new file mode 100644 index 0000000000000000000000000000000000000000..ed94a1a9ec69361192beb88ed636da72b1d0e9ef --- /dev/null +++ b/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/RepositoryDSLStandaloneSetup.java @@ -0,0 +1,14 @@ + +package edu.kit.ipd.descartes.mm.applicationlevel.repository.text; + +/** + * Initialization support for running Xtext languages + * without equinox extension registry + */ +public class RepositoryDSLStandaloneSetup extends RepositoryDSLStandaloneSetupGenerated{ + + public static void doSetup() { + new RepositoryDSLStandaloneSetup().createInjectorAndDoEMFRegistration(); + } +} + diff --git a/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/formatting/RepositoryDSLFormatter.java b/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/formatting/RepositoryDSLFormatter.java new file mode 100644 index 0000000000000000000000000000000000000000..c5c5dbedcfac2b727748e95a1e6339479cad2303 --- /dev/null +++ b/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/formatting/RepositoryDSLFormatter.java @@ -0,0 +1,39 @@ +/* + * generated by Xtext + */ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.text.formatting; + +import org.eclipse.xtext.formatting.impl.AbstractDeclarativeFormatter; +import org.eclipse.xtext.formatting.impl.FormattingConfig; +import org.eclipse.xtext.Keyword; +import org.eclipse.xtext.util.Pair; + +/** + * This class contains custom formatting description. + * + * see : http://www.eclipse.org/Xtext/documentation/latest/xtext.html#formatting + * on how and when to use it + * + * Also see {@link org.eclipse.xtext.xtext.XtextFormattingTokenSerializer} as an example + */ +public class RepositoryDSLFormatter extends AbstractDeclarativeFormatter { + + @Override + protected void configureFormatting(FormattingConfig c) { + edu.kit.ipd.descartes.mm.applicationlevel.repository.text.services.RepositoryDSLGrammarAccess f = (edu.kit.ipd.descartes.mm.applicationlevel.repository.text.services.RepositoryDSLGrammarAccess) getGrammarAccess(); + for(Pair<Keyword, Keyword> pair: f.findKeywordPairs("{", "}")) { + c.setIndentation(pair.getFirst(), pair.getSecond()); + c.setLinewrap(1).after(pair.getFirst()); + c.setLinewrap(1).before(pair.getSecond()); + c.setLinewrap(1).after(pair.getSecond()); + } + for(Keyword comma: f.findKeywords(",")) { + c.setNoLinewrap().before(comma); + c.setNoSpace().before(comma); + c.setLinewrap().after(comma); + } + c.setLinewrap(0, 1, 2).before(f.getSL_COMMENTRule()); + c.setLinewrap(0, 1, 2).before(f.getML_COMMENTRule()); + c.setLinewrap(0, 1, 1).after(f.getML_COMMENTRule()); + } +} diff --git a/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/scoping/RepositoryDSLScopeProvider.java b/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/scoping/RepositoryDSLScopeProvider.java new file mode 100644 index 0000000000000000000000000000000000000000..ea05898bd8d6d4dcd93e2296d8e18e27a0984a65 --- /dev/null +++ b/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/scoping/RepositoryDSLScopeProvider.java @@ -0,0 +1,17 @@ +/* + * generated by Xtext + */ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.text.scoping; + +import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider; + +/** + * This class contains custom scoping description. + * + * see : http://www.eclipse.org/Xtext/documentation/latest/xtext.html#scoping + * on how and when to use it + * + */ +public class RepositoryDSLScopeProvider extends AbstractDeclarativeScopeProvider { + +} diff --git a/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/validation/RepositoryDSLJavaValidator.java b/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/validation/RepositoryDSLJavaValidator.java new file mode 100644 index 0000000000000000000000000000000000000000..5ee02e6109022b29170ab41555fbaa5f46d974d2 --- /dev/null +++ b/src/edu/kit/ipd/descartes/mm/applicationlevel/repository/text/validation/RepositoryDSLJavaValidator.java @@ -0,0 +1,13 @@ +package edu.kit.ipd.descartes.mm.applicationlevel.repository.text.validation; + + +public class RepositoryDSLJavaValidator extends AbstractRepositoryDSLJavaValidator { + +// @Check +// public void checkGreetingStartsWithCapital(Greeting greeting) { +// if (!Character.isUpperCase(greeting.getName().charAt(0))) { +// warning("Name should start with a capital", MyDslPackage.Literals.GREETING__NAME); +// } +// } + +}