Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenrik Rentz-Reichert2012-11-15 10:08:54 +0000
committerHenrik Rentz-Reichert2012-11-15 10:08:54 +0000
commitb1aca8dadc5d3a6fc5db844f2870cd946b08816f (patch)
tree45e3741a71808206e8d2ecfd4f176460d4954e76 /plugins/org.eclipse.etrice.generator.fsmtest/src-gen
parent0d1b981066089099fe4abb82264ac3c1ba9d51b4 (diff)
downloadorg.eclipse.etrice-b1aca8dadc5d3a6fc5db844f2870cd946b08816f.tar.gz
org.eclipse.etrice-b1aca8dadc5d3a6fc5db844f2870cd946b08816f.tar.xz
org.eclipse.etrice-b1aca8dadc5d3a6fc5db844f2870cd946b08816f.zip
[generator.fsmtest] grammar, change and copyright notes added
Diffstat (limited to 'plugins/org.eclipse.etrice.generator.fsmtest/src-gen')
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/AbstractFSMtestRuntimeModule.java344
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/FSMtest.ecore73
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/FSMtest.genmodel59
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/FSMtest.xmi214
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/FSMtestStandaloneSetupGenerated.java86
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/ConditionDeclaration.java51
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/DestinationDeclaration.java51
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/FsmDefinition.java70
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/FsmtestFactory.java69
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/FsmtestPackage.java827
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/GuardDeclaration.java51
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/InitialDeclaration.java51
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/Model.java31
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/PostconditionDeclaration.java51
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/PreconditionDeclaration.java51
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/RandomTest.java132
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/SourceDeclaration.java51
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/State.java51
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/StateDeclaration.java58
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/Testscript.java178
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/TransitionDeclaration.java116
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/ConditionDeclarationImpl.java194
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/DestinationDeclarationImpl.java173
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/FsmDefinitionImpl.java (renamed from plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/StateImpl.java)87
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/FsmtestFactoryImpl.java84
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/FsmtestPackageImpl.java342
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/GuardDeclarationImpl.java194
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/InitialDeclarationImpl.java173
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/ModelImpl.java79
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/PostconditionDeclarationImpl.java194
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/PreconditionDeclarationImpl.java194
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/RandomTestImpl.java403
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/SourceDeclarationImpl.java173
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/StateDeclarationImpl.java152
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/TestscriptImpl.java528
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/TransitionDeclarationImpl.java311
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/util/FsmtestAdapterFactory.java120
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/util/FsmtestSwitch.java143
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/FSMtestAntlrTokenFileProvider.java30
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/FSMtestParser.java78
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g1688
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.tokens36
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtestLexer.java577
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtestParser.java2069
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/serializer/FSMtestSemanticSequencer.java167
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/services/FSMtestGrammarAccess.java1449
-rw-r--r--plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/validation/AbstractFSMtestJavaValidator.java36
47 files changed, 7132 insertions, 5207 deletions
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/AbstractFSMtestRuntimeModule.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/AbstractFSMtestRuntimeModule.java
index 439fdbf7a..092e3ff53 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/AbstractFSMtestRuntimeModule.java
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/AbstractFSMtestRuntimeModule.java
@@ -1,172 +1,172 @@
-/*
- * generated by Xtext
- */
-package org.eclipse.etrice.generator;
-
-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 {org.eclipse.etrice.generator.FSMtestRuntimeModule}
- */
- @SuppressWarnings("all")
-public abstract class AbstractFSMtestRuntimeModule extends DefaultRuntimeModule {
-
- protected Properties properties = null;
-
- @Override
- public void configure(Binder binder) {
- properties = tryBindProperties(binder, "org/eclipse/etrice/generator/FSMtest.properties");
- super.configure(binder);
- }
-
- public void configureLanguageName(Binder binder) {
- binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("org.eclipse.etrice.generator.FSMtest");
- }
-
- 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("fsmtest");
- }
-
- // contributed by org.eclipse.xtext.generator.grammarAccess.GrammarAccessFragment
- public Class<? extends org.eclipse.xtext.IGrammarAccess> bindIGrammarAccess() {
- return org.eclipse.etrice.generator.services.FSMtestGrammarAccess.class;
- }
-
- // contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
- public Class<? extends org.eclipse.xtext.serializer.sequencer.ISemanticSequencer> bindISemanticSequencer() {
- return org.eclipse.etrice.generator.serializer.FSMtestSemanticSequencer.class;
- }
-
- // contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
- public Class<? extends org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer> bindISyntacticSequencer() {
- return org.eclipse.etrice.generator.serializer.FSMtestSyntacticSequencer.class;
- }
-
- // contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
- public Class<? extends org.eclipse.xtext.serializer.ISerializer> bindISerializer() {
- return org.eclipse.xtext.serializer.impl.Serializer.class;
- }
-
- // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
- public Class<? extends org.eclipse.xtext.parser.IParser> bindIParser() {
- return org.eclipse.etrice.generator.parser.antlr.FSMtestParser.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 org.eclipse.etrice.generator.parser.antlr.FSMtestAntlrTokenFileProvider.class;
- }
-
- // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
- public Class<? extends org.eclipse.xtext.parser.antlr.Lexer> bindLexer() {
- return org.eclipse.etrice.generator.parser.antlr.internal.InternalFSMtestLexer.class;
- }
-
- // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
- public com.google.inject.Provider<org.eclipse.etrice.generator.parser.antlr.internal.InternalFSMtestLexer> provideInternalFSMtestLexer() {
- return org.eclipse.xtext.parser.antlr.LexerProvider.create(org.eclipse.etrice.generator.parser.antlr.internal.InternalFSMtestLexer.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(org.eclipse.etrice.generator.parser.antlr.internal.InternalFSMtestLexer.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.validation.JavaValidatorFragment
- @org.eclipse.xtext.service.SingletonBinding(eager=true) public Class<? extends org.eclipse.etrice.generator.validation.FSMtestJavaValidator> bindFSMtestJavaValidator() {
- return org.eclipse.etrice.generator.validation.FSMtestJavaValidator.class;
- }
-
- // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
- public Class<? extends org.eclipse.xtext.scoping.IScopeProvider> bindIScopeProvider() {
- return org.eclipse.etrice.generator.scoping.FSMtestScopeProvider.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.ImportedNamespaceAwareLocalScopeProvider.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.QualifiedNamesFragment
- public Class<? extends org.eclipse.xtext.naming.IQualifiedNameProvider> bindIQualifiedNameProvider() {
- return org.eclipse.xtext.naming.DefaultDeclarativeQualifiedNameProvider.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);
- }
-
- // contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
- public Class<? extends org.eclipse.xtext.generator.IGenerator> bindIGenerator() {
- return org.eclipse.etrice.generator.generator.FSMtestGenerator.class;
- }
-
- // contributed by org.eclipse.xtext.generator.formatting.FormatterFragment
- public Class<? extends org.eclipse.xtext.formatting.IFormatter> bindIFormatter() {
- return org.eclipse.etrice.generator.formatting.FSMtestFormatter.class;
- }
-
- // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
- public java.lang.ClassLoader bindClassLoaderToInstance() {
- return getClass().getClassLoader();
- }
-
- // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
- public org.eclipse.xtext.common.types.TypesFactory bindTypesFactoryToInstance() {
- return org.eclipse.xtext.common.types.TypesFactory.eINSTANCE;
- }
-
- // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
- public Class<? extends org.eclipse.xtext.common.types.access.IJvmTypeProvider.Factory> bindIJvmTypeProvider$Factory() {
- return org.eclipse.xtext.common.types.access.ClasspathTypeProviderFactory.class;
- }
-
- // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
- public Class<? extends org.eclipse.xtext.common.types.xtext.AbstractTypeScopeProvider> bindAbstractTypeScopeProvider() {
- return org.eclipse.xtext.common.types.xtext.ClasspathBasedTypeScopeProvider.class;
- }
-
- // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
- public Class<? extends org.eclipse.xtext.scoping.IGlobalScopeProvider> bindIGlobalScopeProvider() {
- return org.eclipse.xtext.common.types.xtext.TypesAwareDefaultGlobalScopeProvider.class;
- }
-
-}
+/*
+ * generated by Xtext
+ */
+package org.eclipse.etrice.generator;
+
+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 {org.eclipse.etrice.generator.FSMtestRuntimeModule}
+ */
+ @SuppressWarnings("all")
+public abstract class AbstractFSMtestRuntimeModule extends DefaultRuntimeModule {
+
+ protected Properties properties = null;
+
+ @Override
+ public void configure(Binder binder) {
+ properties = tryBindProperties(binder, "org/eclipse/etrice/generator/FSMtest.properties");
+ super.configure(binder);
+ }
+
+ public void configureLanguageName(Binder binder) {
+ binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("org.eclipse.etrice.generator.FSMtest");
+ }
+
+ 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("fsmtest");
+ }
+
+ // contributed by org.eclipse.xtext.generator.grammarAccess.GrammarAccessFragment
+ public Class<? extends org.eclipse.xtext.IGrammarAccess> bindIGrammarAccess() {
+ return org.eclipse.etrice.generator.services.FSMtestGrammarAccess.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
+ public Class<? extends org.eclipse.xtext.serializer.sequencer.ISemanticSequencer> bindISemanticSequencer() {
+ return org.eclipse.etrice.generator.serializer.FSMtestSemanticSequencer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
+ public Class<? extends org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer> bindISyntacticSequencer() {
+ return org.eclipse.etrice.generator.serializer.FSMtestSyntacticSequencer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
+ public Class<? extends org.eclipse.xtext.serializer.ISerializer> bindISerializer() {
+ return org.eclipse.xtext.serializer.impl.Serializer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.IParser> bindIParser() {
+ return org.eclipse.etrice.generator.parser.antlr.FSMtestParser.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 org.eclipse.etrice.generator.parser.antlr.FSMtestAntlrTokenFileProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.antlr.Lexer> bindLexer() {
+ return org.eclipse.etrice.generator.parser.antlr.internal.InternalFSMtestLexer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public com.google.inject.Provider<org.eclipse.etrice.generator.parser.antlr.internal.InternalFSMtestLexer> provideInternalFSMtestLexer() {
+ return org.eclipse.xtext.parser.antlr.LexerProvider.create(org.eclipse.etrice.generator.parser.antlr.internal.InternalFSMtestLexer.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(org.eclipse.etrice.generator.parser.antlr.internal.InternalFSMtestLexer.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.validation.JavaValidatorFragment
+ @org.eclipse.xtext.service.SingletonBinding(eager=true) public Class<? extends org.eclipse.etrice.generator.validation.FSMtestJavaValidator> bindFSMtestJavaValidator() {
+ return org.eclipse.etrice.generator.validation.FSMtestJavaValidator.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+ public Class<? extends org.eclipse.xtext.scoping.IScopeProvider> bindIScopeProvider() {
+ return org.eclipse.etrice.generator.scoping.FSMtestScopeProvider.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.ImportedNamespaceAwareLocalScopeProvider.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.QualifiedNamesFragment
+ public Class<? extends org.eclipse.xtext.naming.IQualifiedNameProvider> bindIQualifiedNameProvider() {
+ return org.eclipse.xtext.naming.DefaultDeclarativeQualifiedNameProvider.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);
+ }
+
+ // contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
+ public Class<? extends org.eclipse.xtext.generator.IGenerator> bindIGenerator() {
+ return org.eclipse.etrice.generator.generator.FSMtestGenerator.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.formatting.FormatterFragment
+ public Class<? extends org.eclipse.xtext.formatting.IFormatter> bindIFormatter() {
+ return org.eclipse.etrice.generator.formatting.FSMtestFormatter.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public java.lang.ClassLoader bindClassLoaderToInstance() {
+ return getClass().getClassLoader();
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public org.eclipse.xtext.common.types.TypesFactory bindTypesFactoryToInstance() {
+ return org.eclipse.xtext.common.types.TypesFactory.eINSTANCE;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.common.types.access.IJvmTypeProvider.Factory> bindIJvmTypeProvider$Factory() {
+ return org.eclipse.xtext.common.types.access.ClasspathTypeProviderFactory.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.common.types.xtext.AbstractTypeScopeProvider> bindAbstractTypeScopeProvider() {
+ return org.eclipse.xtext.common.types.xtext.ClasspathBasedTypeScopeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.scoping.IGlobalScopeProvider> bindIGlobalScopeProvider() {
+ return org.eclipse.xtext.common.types.xtext.TypesAwareDefaultGlobalScopeProvider.class;
+ }
+
+}
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/FSMtest.ecore b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/FSMtest.ecore
index 283523bca..48e4f64ec 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/FSMtest.ecore
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/FSMtest.ecore
@@ -3,31 +3,58 @@
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="fsmtest" nsURI="http://www.eclipse.org/etrice/generator/FSMtest"
nsPrefix="fsmtest">
<eClassifiers xsi:type="ecore:EClass" name="Model">
- <eStructuralFeatures xsi:type="ecore:EReference" name="Testscripts" upperBound="-1"
- eType="#//Testscript" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="FsmDefinitions" upperBound="-1"
+ eType="#//FsmDefinition" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="RandomTests" upperBound="-1"
+ eType="#//RandomTest" containment="true"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Testscript">
+ <eClassifiers xsi:type="ecore:EClass" name="FsmDefinition">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="stateDeclaration" eType="#//StateDeclaration"
- containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="initialDeclaration" eType="#//InitialDeclaration"
- containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="states" upperBound="-1"
+ eType="#//StateDeclaration" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RandomTest">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="fsm" eType="#//FsmDefinition"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="loopsDeclaration" eType="#//LoopsDeclaration"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="seedDeclaration" eType="#//SeedDeclaration"
containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="transitionDeclarations"
- upperBound="-1" eType="#//TransitionDeclaration" containment="true"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="State">
+ <eClassifiers xsi:type="ecore:EClass" name="GuardDeclaration">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="signal" eType="#//SignalDeclaration"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TransitionDeclaration">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="destination" eType="#//StateDeclaration"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="trigger" eType="#//SignalDeclaration"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="triggers" upperBound="-1"
+ eType="#//GuardDeclaration" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="precondition" upperBound="-1"
+ eType="#//PreconditionDeclaration" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="postcondition" upperBound="-1"
+ eType="#//PostconditionDeclaration" containment="true"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="StateDeclaration">
- <eStructuralFeatures xsi:type="ecore:EReference" name="states" upperBound="-1"
- eType="#//State" containment="true"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ConditionDeclaration">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="signal" eType="#//SignalDeclaration"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PreconditionDeclaration">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="signal" eType="#//SignalDeclaration"
+ containment="true"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="InitialDeclaration">
- <eStructuralFeatures xsi:type="ecore:EReference" name="initial" eType="#//State"/>
+ <eClassifiers xsi:type="ecore:EClass" name="PostconditionDeclaration">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="signal" eType="#//SignalDeclaration"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="StateDeclaration">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="condition" upperBound="-1"
+ eType="#//ConditionDeclaration" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="transitions" upperBound="-1"
+ eType="#//TransitionDeclaration" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="LoopsDeclaration">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="val" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
@@ -41,20 +68,4 @@
<eStructuralFeatures xsi:type="ecore:EAttribute" name="intVal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="strVal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="SourceDeclaration">
- <eStructuralFeatures xsi:type="ecore:EReference" name="ref" eType="#//State"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="DestinationDeclaration">
- <eStructuralFeatures xsi:type="ecore:EReference" name="ref" eType="#//State"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TransitionDeclaration">
- <eStructuralFeatures xsi:type="ecore:EReference" name="source" eType="#//SourceDeclaration"
- containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="in" upperBound="-1" eType="#//SignalDeclaration"
- containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="out" upperBound="-1" eType="#//SignalDeclaration"
- containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="destination" eType="#//DestinationDeclaration"
- containment="true"/>
- </eClassifiers>
</ecore:EPackage>
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/FSMtest.genmodel b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/FSMtest.genmodel
index b2aae68cb..d18b6517d 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/FSMtest.genmodel
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/FSMtest.genmodel
@@ -9,24 +9,43 @@
<genPackages prefix="Fsmtest" basePackage="org.eclipse.etrice.generator" disposableProviderFactory="true"
ecorePackage="FSMtest.ecore#/">
<genClasses ecoreClass="FSMtest.ecore#//Model">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FSMtest.ecore#//Model/Testscripts"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FSMtest.ecore#//Model/FsmDefinitions"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FSMtest.ecore#//Model/RandomTests"/>
</genClasses>
- <genClasses ecoreClass="FSMtest.ecore#//Testscript">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute FSMtest.ecore#//Testscript/name"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FSMtest.ecore#//Testscript/stateDeclaration"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FSMtest.ecore#//Testscript/initialDeclaration"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FSMtest.ecore#//Testscript/loopsDeclaration"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FSMtest.ecore#//Testscript/seedDeclaration"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FSMtest.ecore#//Testscript/transitionDeclarations"/>
+ <genClasses ecoreClass="FSMtest.ecore#//FsmDefinition">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute FSMtest.ecore#//FsmDefinition/name"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FSMtest.ecore#//FsmDefinition/states"/>
</genClasses>
- <genClasses ecoreClass="FSMtest.ecore#//State">
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute FSMtest.ecore#//State/name"/>
+ <genClasses ecoreClass="FSMtest.ecore#//RandomTest">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute FSMtest.ecore#//RandomTest/name"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference FSMtest.ecore#//RandomTest/fsm"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FSMtest.ecore#//RandomTest/loopsDeclaration"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FSMtest.ecore#//RandomTest/seedDeclaration"/>
</genClasses>
- <genClasses ecoreClass="FSMtest.ecore#//StateDeclaration">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FSMtest.ecore#//StateDeclaration/states"/>
+ <genClasses ecoreClass="FSMtest.ecore#//GuardDeclaration">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FSMtest.ecore#//GuardDeclaration/signal"/>
+ </genClasses>
+ <genClasses ecoreClass="FSMtest.ecore#//TransitionDeclaration">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute FSMtest.ecore#//TransitionDeclaration/name"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference FSMtest.ecore#//TransitionDeclaration/destination"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FSMtest.ecore#//TransitionDeclaration/trigger"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FSMtest.ecore#//TransitionDeclaration/triggers"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FSMtest.ecore#//TransitionDeclaration/precondition"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FSMtest.ecore#//TransitionDeclaration/postcondition"/>
</genClasses>
- <genClasses ecoreClass="FSMtest.ecore#//InitialDeclaration">
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference FSMtest.ecore#//InitialDeclaration/initial"/>
+ <genClasses ecoreClass="FSMtest.ecore#//ConditionDeclaration">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FSMtest.ecore#//ConditionDeclaration/signal"/>
+ </genClasses>
+ <genClasses ecoreClass="FSMtest.ecore#//PreconditionDeclaration">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FSMtest.ecore#//PreconditionDeclaration/signal"/>
+ </genClasses>
+ <genClasses ecoreClass="FSMtest.ecore#//PostconditionDeclaration">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FSMtest.ecore#//PostconditionDeclaration/signal"/>
+ </genClasses>
+ <genClasses ecoreClass="FSMtest.ecore#//StateDeclaration">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute FSMtest.ecore#//StateDeclaration/name"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FSMtest.ecore#//StateDeclaration/condition"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FSMtest.ecore#//StateDeclaration/transitions"/>
</genClasses>
<genClasses ecoreClass="FSMtest.ecore#//LoopsDeclaration">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute FSMtest.ecore#//LoopsDeclaration/val"/>
@@ -40,17 +59,5 @@
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute FSMtest.ecore#//SignalDeclaration/intVal"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute FSMtest.ecore#//SignalDeclaration/strVal"/>
</genClasses>
- <genClasses ecoreClass="FSMtest.ecore#//SourceDeclaration">
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference FSMtest.ecore#//SourceDeclaration/ref"/>
- </genClasses>
- <genClasses ecoreClass="FSMtest.ecore#//DestinationDeclaration">
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference FSMtest.ecore#//DestinationDeclaration/ref"/>
- </genClasses>
- <genClasses ecoreClass="FSMtest.ecore#//TransitionDeclaration">
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FSMtest.ecore#//TransitionDeclaration/source"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FSMtest.ecore#//TransitionDeclaration/in"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FSMtest.ecore#//TransitionDeclaration/out"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FSMtest.ecore#//TransitionDeclaration/destination"/>
- </genClasses>
</genPackages>
</genmodel:GenModel>
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/FSMtest.xmi b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/FSMtest.xmi
index 901b83b92..388b1dddb 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/FSMtest.xmi
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/FSMtest.xmi
@@ -8,76 +8,165 @@
<type metamodel="/0/@metamodelDeclarations.0">
<classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/generator/FSMtest#//Model"/>
</type>
- <alternatives xsi:type="xtext:Assignment" cardinality="*" feature="Testscripts" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.1"/>
+ <alternatives xsi:type="xtext:Alternatives" cardinality="*">
+ <elements xsi:type="xtext:Assignment" feature="FsmDefinitions" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.1"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="RandomTests" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/>
+ </elements>
</alternatives>
</rules>
- <rules xsi:type="xtext:ParserRule" name="Testscript">
+ <rules xsi:type="xtext:ParserRule" name="FsmDefinition">
<type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/generator/FSMtest#//Testscript"/>
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/generator/FSMtest#//FsmDefinition"/>
</type>
<alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="fsmtest"/>
+ <elements xsi:type="xtext:Keyword" value="fsmdefinition"/>
<elements xsi:type="xtext:Assignment" feature="name" operator="=">
<terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
</elements>
- <elements xsi:type="xtext:Assignment" feature="stateDeclaration" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+ <elements xsi:type="xtext:Keyword" value="initial"/>
+ <elements xsi:type="xtext:Assignment" feature="states" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.8"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="*" feature="states" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.8"/>
</elements>
- <elements xsi:type="xtext:Assignment" feature="initialDeclaration" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="RandomTest">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/generator/FSMtest#//RandomTest"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="randomtest"/>
+ <elements xsi:type="xtext:Assignment" feature="name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="fsm:"/>
+ <elements xsi:type="xtext:Assignment" feature="fsm" operator="=">
+ <terminal xsi:type="xtext:CrossReference">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/generator/FSMtest#//FsmDefinition"/>
+ </type>
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ </terminal>
</elements>
<elements xsi:type="xtext:Assignment" feature="loopsDeclaration" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.9"/>
</elements>
<elements xsi:type="xtext:Assignment" cardinality="?" feature="seedDeclaration" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
- </elements>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="transitionDeclarations" 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="State">
+ <rules xsi:type="xtext:ParserRule" name="GuardDeclaration">
<type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/generator/FSMtest#//State"/>
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/generator/FSMtest#//GuardDeclaration"/>
</type>
- <alternatives xsi:type="xtext:Assignment" feature="name" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ <alternatives xsi:type="xtext:Assignment" feature="signal" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.11"/>
</alternatives>
</rules>
- <rules xsi:type="xtext:ParserRule" name="StateDeclaration">
+ <rules xsi:type="xtext:ParserRule" name="TransitionDeclaration">
<type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/generator/FSMtest#//StateDeclaration"/>
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/generator/FSMtest#//TransitionDeclaration"/>
</type>
<alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="states:"/>
- <elements xsi:type="xtext:Assignment" feature="states" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/>
+ <elements xsi:type="xtext:Keyword" value="transition"/>
+ <elements xsi:type="xtext:Assignment" feature="name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
</elements>
- <elements xsi:type="xtext:Group" cardinality="*">
- <elements xsi:type="xtext:Keyword" value=","/>
- <elements xsi:type="xtext:Assignment" feature="states" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/>
+ <elements xsi:type="xtext:Keyword" value="to"/>
+ <elements xsi:type="xtext:Assignment" feature="destination" operator="=">
+ <terminal xsi:type="xtext:CrossReference">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/generator/FSMtest#//StateDeclaration"/>
+ </type>
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="trigger:"/>
+ <elements xsi:type="xtext:Assignment" feature="trigger" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.11"/>
</elements>
</elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="guards:"/>
+ <elements xsi:type="xtext:Assignment" cardinality="+" feature="triggers" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="constraints:"/>
+ <elements xsi:type="xtext:Alternatives" cardinality="+">
+ <elements xsi:type="xtext:Assignment" feature="precondition" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="postcondition" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=";"/>
</alternatives>
</rules>
- <rules xsi:type="xtext:ParserRule" name="InitialDeclaration">
+ <rules xsi:type="xtext:ParserRule" name="ConditionDeclaration">
<type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/generator/FSMtest#//InitialDeclaration"/>
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/generator/FSMtest#//ConditionDeclaration"/>
</type>
<alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="initial:"/>
- <elements xsi:type="xtext:Assignment" feature="initial" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/generator/FSMtest#//State"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
+ <elements xsi:type="xtext:Keyword" value="condition"/>
+ <elements xsi:type="xtext:Assignment" feature="signal" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.11"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="PreconditionDeclaration">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/generator/FSMtest#//PreconditionDeclaration"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="precondition"/>
+ <elements xsi:type="xtext:Assignment" feature="signal" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.11"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="PostconditionDeclaration">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/generator/FSMtest#//PostconditionDeclaration"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="postcondition"/>
+ <elements xsi:type="xtext:Assignment" feature="signal" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.11"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="StateDeclaration">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/generator/FSMtest#//StateDeclaration"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="state"/>
+ <elements xsi:type="xtext:Assignment" feature="name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="constraints:"/>
+ <elements xsi:type="xtext:Assignment" cardinality="+" feature="condition" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="+" feature="transitions" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
</elements>
+ <elements xsi:type="xtext:Keyword" value=";"/>
</alternatives>
</rules>
<rules xsi:type="xtext:ParserRule" name="LoopsDeclaration">
@@ -132,59 +221,6 @@
</elements>
</alternatives>
</rules>
- <rules xsi:type="xtext:ParserRule" name="SourceDeclaration">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/generator/FSMtest#//SourceDeclaration"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Assignment" feature="ref" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/generator/FSMtest#//State"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- <elements xsi:type="xtext:Keyword" value=":"/>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="DestinationDeclaration">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/generator/FSMtest#//DestinationDeclaration"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Keyword" value="-> "/>
- <elements xsi:type="xtext:Assignment" feature="ref" operator="=">
- <terminal xsi:type="xtext:CrossReference">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/generator/FSMtest#//State"/>
- </type>
- <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
- </terminal>
- </elements>
- </alternatives>
- </rules>
- <rules xsi:type="xtext:ParserRule" name="TransitionDeclaration">
- <type metamodel="/0/@metamodelDeclarations.0">
- <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/generator/FSMtest#//TransitionDeclaration"/>
- </type>
- <alternatives xsi:type="xtext:Group">
- <elements xsi:type="xtext:Assignment" feature="source" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.8"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="in:"/>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="in" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
- </elements>
- <elements xsi:type="xtext:Keyword" value="out:"/>
- <elements xsi:type="xtext:Assignment" cardinality="*" feature="out" operator="+=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
- </elements>
- <elements xsi:type="xtext:Assignment" feature="destination" operator="=">
- <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.9"/>
- </elements>
- </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">
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/FSMtestStandaloneSetupGenerated.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/FSMtestStandaloneSetupGenerated.java
index 85b5a9f77..02f9d48b2 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/FSMtestStandaloneSetupGenerated.java
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/FSMtestStandaloneSetupGenerated.java
@@ -1,43 +1,43 @@
-
-package org.eclipse.etrice.generator;
-
-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 FSMtestStandaloneSetupGenerated 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 org.eclipse.etrice.generator.FSMtestRuntimeModule());
- }
-
- public void register(Injector injector) {
- if (!EPackage.Registry.INSTANCE.containsKey("http://www.eclipse.org/etrice/generator/FSMtest")) {
- EPackage.Registry.INSTANCE.put("http://www.eclipse.org/etrice/generator/FSMtest", org.eclipse.etrice.generator.fsmtest.FsmtestPackage.eINSTANCE);
- }
-
- 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("fsmtest", resourceFactory);
- org.eclipse.xtext.resource.IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("fsmtest", serviceProvider);
-
-
-
-
- }
-}
+
+package org.eclipse.etrice.generator;
+
+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 FSMtestStandaloneSetupGenerated 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 org.eclipse.etrice.generator.FSMtestRuntimeModule());
+ }
+
+ public void register(Injector injector) {
+ if (!EPackage.Registry.INSTANCE.containsKey("http://www.eclipse.org/etrice/generator/FSMtest")) {
+ EPackage.Registry.INSTANCE.put("http://www.eclipse.org/etrice/generator/FSMtest", org.eclipse.etrice.generator.fsmtest.FsmtestPackage.eINSTANCE);
+ }
+
+ 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("fsmtest", resourceFactory);
+ org.eclipse.xtext.resource.IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("fsmtest", serviceProvider);
+
+
+
+
+ }
+}
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/ConditionDeclaration.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/ConditionDeclaration.java
new file mode 100644
index 000000000..f59ee3f6b
--- /dev/null
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/ConditionDeclaration.java
@@ -0,0 +1,51 @@
+/**
+ */
+package org.eclipse.etrice.generator.fsmtest;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Condition Declaration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.ConditionDeclaration#getSignal <em>Signal</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getConditionDeclaration()
+ * @model
+ * @generated
+ */
+public interface ConditionDeclaration extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Signal</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Signal</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Signal</em>' containment reference.
+ * @see #setSignal(SignalDeclaration)
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getConditionDeclaration_Signal()
+ * @model containment="true"
+ * @generated
+ */
+ SignalDeclaration getSignal();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.ConditionDeclaration#getSignal <em>Signal</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Signal</em>' containment reference.
+ * @see #getSignal()
+ * @generated
+ */
+ void setSignal(SignalDeclaration value);
+
+} // ConditionDeclaration
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/DestinationDeclaration.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/DestinationDeclaration.java
deleted file mode 100644
index bda8e2777..000000000
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/DestinationDeclaration.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- */
-package org.eclipse.etrice.generator.fsmtest;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Destination Declaration</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.etrice.generator.fsmtest.DestinationDeclaration#getRef <em>Ref</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getDestinationDeclaration()
- * @model
- * @generated
- */
-public interface DestinationDeclaration extends EObject
-{
- /**
- * Returns the value of the '<em><b>Ref</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Ref</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Ref</em>' reference.
- * @see #setRef(State)
- * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getDestinationDeclaration_Ref()
- * @model
- * @generated
- */
- State getRef();
-
- /**
- * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.DestinationDeclaration#getRef <em>Ref</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Ref</em>' reference.
- * @see #getRef()
- * @generated
- */
- void setRef(State value);
-
-} // DestinationDeclaration
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/FsmDefinition.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/FsmDefinition.java
new file mode 100644
index 000000000..37c4bac1a
--- /dev/null
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/FsmDefinition.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.etrice.generator.fsmtest;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Fsm Definition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.FsmDefinition#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.FsmDefinition#getStates <em>States</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getFsmDefinition()
+ * @model
+ * @generated
+ */
+public interface FsmDefinition extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getFsmDefinition_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.FsmDefinition#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>States</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.etrice.generator.fsmtest.StateDeclaration}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>States</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>States</em>' containment reference list.
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getFsmDefinition_States()
+ * @model containment="true"
+ * @generated
+ */
+ EList<StateDeclaration> getStates();
+
+} // FsmDefinition
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/FsmtestFactory.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/FsmtestFactory.java
index eb34178be..e48e46089 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/FsmtestFactory.java
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/FsmtestFactory.java
@@ -32,94 +32,103 @@ public interface FsmtestFactory extends EFactory
Model createModel();
/**
- * Returns a new object of class '<em>Testscript</em>'.
+ * Returns a new object of class '<em>Fsm Definition</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return a new object of class '<em>Testscript</em>'.
+ * @return a new object of class '<em>Fsm Definition</em>'.
* @generated
*/
- Testscript createTestscript();
+ FsmDefinition createFsmDefinition();
/**
- * Returns a new object of class '<em>State</em>'.
+ * Returns a new object of class '<em>Random Test</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return a new object of class '<em>State</em>'.
+ * @return a new object of class '<em>Random Test</em>'.
* @generated
*/
- State createState();
+ RandomTest createRandomTest();
/**
- * Returns a new object of class '<em>State Declaration</em>'.
+ * Returns a new object of class '<em>Guard Declaration</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return a new object of class '<em>State Declaration</em>'.
+ * @return a new object of class '<em>Guard Declaration</em>'.
* @generated
*/
- StateDeclaration createStateDeclaration();
+ GuardDeclaration createGuardDeclaration();
/**
- * Returns a new object of class '<em>Initial Declaration</em>'.
+ * Returns a new object of class '<em>Transition Declaration</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return a new object of class '<em>Initial Declaration</em>'.
+ * @return a new object of class '<em>Transition Declaration</em>'.
* @generated
*/
- InitialDeclaration createInitialDeclaration();
+ TransitionDeclaration createTransitionDeclaration();
/**
- * Returns a new object of class '<em>Loops Declaration</em>'.
+ * Returns a new object of class '<em>Condition Declaration</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return a new object of class '<em>Loops Declaration</em>'.
+ * @return a new object of class '<em>Condition Declaration</em>'.
* @generated
*/
- LoopsDeclaration createLoopsDeclaration();
+ ConditionDeclaration createConditionDeclaration();
/**
- * Returns a new object of class '<em>Seed Declaration</em>'.
+ * Returns a new object of class '<em>Precondition Declaration</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return a new object of class '<em>Seed Declaration</em>'.
+ * @return a new object of class '<em>Precondition Declaration</em>'.
* @generated
*/
- SeedDeclaration createSeedDeclaration();
+ PreconditionDeclaration createPreconditionDeclaration();
/**
- * Returns a new object of class '<em>Signal Declaration</em>'.
+ * Returns a new object of class '<em>Postcondition Declaration</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return a new object of class '<em>Signal Declaration</em>'.
+ * @return a new object of class '<em>Postcondition Declaration</em>'.
* @generated
*/
- SignalDeclaration createSignalDeclaration();
+ PostconditionDeclaration createPostconditionDeclaration();
+
+ /**
+ * Returns a new object of class '<em>State Declaration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>State Declaration</em>'.
+ * @generated
+ */
+ StateDeclaration createStateDeclaration();
/**
- * Returns a new object of class '<em>Source Declaration</em>'.
+ * Returns a new object of class '<em>Loops Declaration</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return a new object of class '<em>Source Declaration</em>'.
+ * @return a new object of class '<em>Loops Declaration</em>'.
* @generated
*/
- SourceDeclaration createSourceDeclaration();
+ LoopsDeclaration createLoopsDeclaration();
/**
- * Returns a new object of class '<em>Destination Declaration</em>'.
+ * Returns a new object of class '<em>Seed Declaration</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return a new object of class '<em>Destination Declaration</em>'.
+ * @return a new object of class '<em>Seed Declaration</em>'.
* @generated
*/
- DestinationDeclaration createDestinationDeclaration();
+ SeedDeclaration createSeedDeclaration();
/**
- * Returns a new object of class '<em>Transition Declaration</em>'.
+ * Returns a new object of class '<em>Signal Declaration</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return a new object of class '<em>Transition Declaration</em>'.
+ * @return a new object of class '<em>Signal Declaration</em>'.
* @generated
*/
- TransitionDeclaration createTransitionDeclaration();
+ SignalDeclaration createSignalDeclaration();
/**
* Returns the package supported by this factory.
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/FsmtestPackage.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/FsmtestPackage.java
index 5622320a8..7e9484115 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/FsmtestPackage.java
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/FsmtestPackage.java
@@ -67,13 +67,22 @@ public interface FsmtestPackage extends EPackage
int MODEL = 0;
/**
- * The feature id for the '<em><b>Testscripts</b></em>' containment reference list.
+ * The feature id for the '<em><b>Fsm Definitions</b></em>' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int MODEL__TESTSCRIPTS = 0;
+ int MODEL__FSM_DEFINITIONS = 0;
+
+ /**
+ * The feature id for the '<em><b>Random Tests</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL__RANDOM_TESTS = 1;
/**
* The number of structural features of the '<em>Model</em>' class.
@@ -82,17 +91,17 @@ public interface FsmtestPackage extends EPackage
* @generated
* @ordered
*/
- int MODEL_FEATURE_COUNT = 1;
+ int MODEL_FEATURE_COUNT = 2;
/**
- * The meta object id for the '{@link org.eclipse.etrice.generator.fsmtest.impl.TestscriptImpl <em>Testscript</em>}' class.
+ * The meta object id for the '{@link org.eclipse.etrice.generator.fsmtest.impl.FsmDefinitionImpl <em>Fsm Definition</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.etrice.generator.fsmtest.impl.TestscriptImpl
- * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getTestscript()
+ * @see org.eclipse.etrice.generator.fsmtest.impl.FsmDefinitionImpl
+ * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getFsmDefinition()
* @generated
*/
- int TESTSCRIPT = 1;
+ int FSM_DEFINITION = 1;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -101,25 +110,53 @@ public interface FsmtestPackage extends EPackage
* @generated
* @ordered
*/
- int TESTSCRIPT__NAME = 0;
+ int FSM_DEFINITION__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>States</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FSM_DEFINITION__STATES = 1;
+
+ /**
+ * The number of structural features of the '<em>Fsm Definition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FSM_DEFINITION_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.generator.fsmtest.impl.RandomTestImpl <em>Random Test</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.generator.fsmtest.impl.RandomTestImpl
+ * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getRandomTest()
+ * @generated
+ */
+ int RANDOM_TEST = 2;
/**
- * The feature id for the '<em><b>State Declaration</b></em>' containment reference.
+ * The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int TESTSCRIPT__STATE_DECLARATION = 1;
+ int RANDOM_TEST__NAME = 0;
/**
- * The feature id for the '<em><b>Initial Declaration</b></em>' containment reference.
+ * The feature id for the '<em><b>Fsm</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int TESTSCRIPT__INITIAL_DECLARATION = 2;
+ int RANDOM_TEST__FSM = 1;
/**
* The feature id for the '<em><b>Loops Declaration</b></em>' containment reference.
@@ -128,7 +165,7 @@ public interface FsmtestPackage extends EPackage
* @generated
* @ordered
*/
- int TESTSCRIPT__LOOPS_DECLARATION = 3;
+ int RANDOM_TEST__LOOPS_DECLARATION = 2;
/**
* The feature id for the '<em><b>Seed Declaration</b></em>' containment reference.
@@ -137,35 +174,54 @@ public interface FsmtestPackage extends EPackage
* @generated
* @ordered
*/
- int TESTSCRIPT__SEED_DECLARATION = 4;
+ int RANDOM_TEST__SEED_DECLARATION = 3;
+
+ /**
+ * The number of structural features of the '<em>Random Test</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANDOM_TEST_FEATURE_COUNT = 4;
/**
- * The feature id for the '<em><b>Transition Declarations</b></em>' containment reference list.
+ * The meta object id for the '{@link org.eclipse.etrice.generator.fsmtest.impl.GuardDeclarationImpl <em>Guard Declaration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.generator.fsmtest.impl.GuardDeclarationImpl
+ * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getGuardDeclaration()
+ * @generated
+ */
+ int GUARD_DECLARATION = 3;
+
+ /**
+ * The feature id for the '<em><b>Signal</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int TESTSCRIPT__TRANSITION_DECLARATIONS = 5;
+ int GUARD_DECLARATION__SIGNAL = 0;
/**
- * The number of structural features of the '<em>Testscript</em>' class.
+ * The number of structural features of the '<em>Guard Declaration</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int TESTSCRIPT_FEATURE_COUNT = 6;
+ int GUARD_DECLARATION_FEATURE_COUNT = 1;
/**
- * The meta object id for the '{@link org.eclipse.etrice.generator.fsmtest.impl.StateImpl <em>State</em>}' class.
+ * The meta object id for the '{@link org.eclipse.etrice.generator.fsmtest.impl.TransitionDeclarationImpl <em>Transition Declaration</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.etrice.generator.fsmtest.impl.StateImpl
- * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getState()
+ * @see org.eclipse.etrice.generator.fsmtest.impl.TransitionDeclarationImpl
+ * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getTransitionDeclaration()
* @generated
*/
- int STATE = 2;
+ int TRANSITION_DECLARATION = 4;
/**
* The feature id for the '<em><b>Name</b></em>' attribute.
@@ -174,72 +230,191 @@ public interface FsmtestPackage extends EPackage
* @generated
* @ordered
*/
- int STATE__NAME = 0;
+ int TRANSITION_DECLARATION__NAME = 0;
/**
- * The number of structural features of the '<em>State</em>' class.
+ * The feature id for the '<em><b>Destination</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int STATE_FEATURE_COUNT = 1;
+ int TRANSITION_DECLARATION__DESTINATION = 1;
/**
- * The meta object id for the '{@link org.eclipse.etrice.generator.fsmtest.impl.StateDeclarationImpl <em>State Declaration</em>}' class.
+ * The feature id for the '<em><b>Trigger</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.etrice.generator.fsmtest.impl.StateDeclarationImpl
- * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getStateDeclaration()
* @generated
+ * @ordered
*/
- int STATE_DECLARATION = 3;
+ int TRANSITION_DECLARATION__TRIGGER = 2;
/**
- * The feature id for the '<em><b>States</b></em>' containment reference list.
+ * The feature id for the '<em><b>Triggers</b></em>' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int STATE_DECLARATION__STATES = 0;
+ int TRANSITION_DECLARATION__TRIGGERS = 3;
/**
- * The number of structural features of the '<em>State Declaration</em>' class.
+ * The feature id for the '<em><b>Precondition</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSITION_DECLARATION__PRECONDITION = 4;
+
+ /**
+ * The feature id for the '<em><b>Postcondition</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSITION_DECLARATION__POSTCONDITION = 5;
+
+ /**
+ * The number of structural features of the '<em>Transition Declaration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSITION_DECLARATION_FEATURE_COUNT = 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.generator.fsmtest.impl.ConditionDeclarationImpl <em>Condition Declaration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.generator.fsmtest.impl.ConditionDeclarationImpl
+ * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getConditionDeclaration()
+ * @generated
+ */
+ int CONDITION_DECLARATION = 5;
+
+ /**
+ * The feature id for the '<em><b>Signal</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONDITION_DECLARATION__SIGNAL = 0;
+
+ /**
+ * The number of structural features of the '<em>Condition Declaration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONDITION_DECLARATION_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.generator.fsmtest.impl.PreconditionDeclarationImpl <em>Precondition Declaration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.generator.fsmtest.impl.PreconditionDeclarationImpl
+ * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getPreconditionDeclaration()
+ * @generated
+ */
+ int PRECONDITION_DECLARATION = 6;
+
+ /**
+ * The feature id for the '<em><b>Signal</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRECONDITION_DECLARATION__SIGNAL = 0;
+
+ /**
+ * The number of structural features of the '<em>Precondition Declaration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PRECONDITION_DECLARATION_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.generator.fsmtest.impl.PostconditionDeclarationImpl <em>Postcondition Declaration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.generator.fsmtest.impl.PostconditionDeclarationImpl
+ * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getPostconditionDeclaration()
+ * @generated
+ */
+ int POSTCONDITION_DECLARATION = 7;
+
+ /**
+ * The feature id for the '<em><b>Signal</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POSTCONDITION_DECLARATION__SIGNAL = 0;
+
+ /**
+ * The number of structural features of the '<em>Postcondition Declaration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POSTCONDITION_DECLARATION_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.generator.fsmtest.impl.StateDeclarationImpl <em>State Declaration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.generator.fsmtest.impl.StateDeclarationImpl
+ * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getStateDeclaration()
+ * @generated
+ */
+ int STATE_DECLARATION = 8;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int STATE_DECLARATION_FEATURE_COUNT = 1;
+ int STATE_DECLARATION__NAME = 0;
/**
- * The meta object id for the '{@link org.eclipse.etrice.generator.fsmtest.impl.InitialDeclarationImpl <em>Initial Declaration</em>}' class.
+ * The feature id for the '<em><b>Condition</b></em>' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.etrice.generator.fsmtest.impl.InitialDeclarationImpl
- * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getInitialDeclaration()
* @generated
+ * @ordered
*/
- int INITIAL_DECLARATION = 4;
+ int STATE_DECLARATION__CONDITION = 1;
/**
- * The feature id for the '<em><b>Initial</b></em>' reference.
+ * The feature id for the '<em><b>Transitions</b></em>' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int INITIAL_DECLARATION__INITIAL = 0;
+ int STATE_DECLARATION__TRANSITIONS = 2;
/**
- * The number of structural features of the '<em>Initial Declaration</em>' class.
+ * The number of structural features of the '<em>State Declaration</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int INITIAL_DECLARATION_FEATURE_COUNT = 1;
+ int STATE_DECLARATION_FEATURE_COUNT = 3;
/**
* The meta object id for the '{@link org.eclipse.etrice.generator.fsmtest.impl.LoopsDeclarationImpl <em>Loops Declaration</em>}' class.
@@ -249,7 +424,7 @@ public interface FsmtestPackage extends EPackage
* @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getLoopsDeclaration()
* @generated
*/
- int LOOPS_DECLARATION = 5;
+ int LOOPS_DECLARATION = 9;
/**
* The feature id for the '<em><b>Val</b></em>' attribute.
@@ -277,7 +452,7 @@ public interface FsmtestPackage extends EPackage
* @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getSeedDeclaration()
* @generated
*/
- int SEED_DECLARATION = 6;
+ int SEED_DECLARATION = 10;
/**
* The feature id for the '<em><b>Val</b></em>' attribute.
@@ -305,7 +480,7 @@ public interface FsmtestPackage extends EPackage
* @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getSignalDeclaration()
* @generated
*/
- int SIGNAL_DECLARATION = 7;
+ int SIGNAL_DECLARATION = 11;
/**
* The feature id for the '<em><b>Port</b></em>' attribute.
@@ -352,235 +527,284 @@ public interface FsmtestPackage extends EPackage
*/
int SIGNAL_DECLARATION_FEATURE_COUNT = 4;
+
/**
- * The meta object id for the '{@link org.eclipse.etrice.generator.fsmtest.impl.SourceDeclarationImpl <em>Source Declaration</em>}' class.
+ * Returns the meta object for class '{@link org.eclipse.etrice.generator.fsmtest.Model <em>Model</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.etrice.generator.fsmtest.impl.SourceDeclarationImpl
- * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getSourceDeclaration()
+ * @return the meta object for class '<em>Model</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.Model
* @generated
*/
- int SOURCE_DECLARATION = 8;
+ EClass getModel();
/**
- * The feature id for the '<em><b>Ref</b></em>' reference.
+ * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.generator.fsmtest.Model#getFsmDefinitions <em>Fsm Definitions</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Fsm Definitions</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.Model#getFsmDefinitions()
+ * @see #getModel()
* @generated
- * @ordered
*/
- int SOURCE_DECLARATION__REF = 0;
+ EReference getModel_FsmDefinitions();
/**
- * The number of structural features of the '<em>Source Declaration</em>' class.
+ * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.generator.fsmtest.Model#getRandomTests <em>Random Tests</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Random Tests</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.Model#getRandomTests()
+ * @see #getModel()
* @generated
- * @ordered
*/
- int SOURCE_DECLARATION_FEATURE_COUNT = 1;
+ EReference getModel_RandomTests();
/**
- * The meta object id for the '{@link org.eclipse.etrice.generator.fsmtest.impl.DestinationDeclarationImpl <em>Destination Declaration</em>}' class.
+ * Returns the meta object for class '{@link org.eclipse.etrice.generator.fsmtest.FsmDefinition <em>Fsm Definition</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.etrice.generator.fsmtest.impl.DestinationDeclarationImpl
- * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getDestinationDeclaration()
+ * @return the meta object for class '<em>Fsm Definition</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.FsmDefinition
* @generated
*/
- int DESTINATION_DECLARATION = 9;
+ EClass getFsmDefinition();
/**
- * The feature id for the '<em><b>Ref</b></em>' reference.
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.generator.fsmtest.FsmDefinition#getName <em>Name</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.FsmDefinition#getName()
+ * @see #getFsmDefinition()
* @generated
- * @ordered
*/
- int DESTINATION_DECLARATION__REF = 0;
+ EAttribute getFsmDefinition_Name();
/**
- * The number of structural features of the '<em>Destination Declaration</em>' class.
+ * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.generator.fsmtest.FsmDefinition#getStates <em>States</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>States</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.FsmDefinition#getStates()
+ * @see #getFsmDefinition()
* @generated
- * @ordered
*/
- int DESTINATION_DECLARATION_FEATURE_COUNT = 1;
+ EReference getFsmDefinition_States();
/**
- * The meta object id for the '{@link org.eclipse.etrice.generator.fsmtest.impl.TransitionDeclarationImpl <em>Transition Declaration</em>}' class.
+ * Returns the meta object for class '{@link org.eclipse.etrice.generator.fsmtest.RandomTest <em>Random Test</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.etrice.generator.fsmtest.impl.TransitionDeclarationImpl
- * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getTransitionDeclaration()
+ * @return the meta object for class '<em>Random Test</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.RandomTest
* @generated
*/
- int TRANSITION_DECLARATION = 10;
+ EClass getRandomTest();
/**
- * The feature id for the '<em><b>Source</b></em>' containment reference.
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.generator.fsmtest.RandomTest#getName <em>Name</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.RandomTest#getName()
+ * @see #getRandomTest()
* @generated
- * @ordered
*/
- int TRANSITION_DECLARATION__SOURCE = 0;
+ EAttribute getRandomTest_Name();
/**
- * The feature id for the '<em><b>In</b></em>' containment reference list.
+ * Returns the meta object for the reference '{@link org.eclipse.etrice.generator.fsmtest.RandomTest#getFsm <em>Fsm</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Fsm</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.RandomTest#getFsm()
+ * @see #getRandomTest()
* @generated
- * @ordered
*/
- int TRANSITION_DECLARATION__IN = 1;
+ EReference getRandomTest_Fsm();
/**
- * The feature id for the '<em><b>Out</b></em>' containment reference list.
+ * Returns the meta object for the containment reference '{@link org.eclipse.etrice.generator.fsmtest.RandomTest#getLoopsDeclaration <em>Loops Declaration</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Loops Declaration</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.RandomTest#getLoopsDeclaration()
+ * @see #getRandomTest()
* @generated
- * @ordered
*/
- int TRANSITION_DECLARATION__OUT = 2;
+ EReference getRandomTest_LoopsDeclaration();
/**
- * The feature id for the '<em><b>Destination</b></em>' containment reference.
+ * Returns the meta object for the containment reference '{@link org.eclipse.etrice.generator.fsmtest.RandomTest#getSeedDeclaration <em>Seed Declaration</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Seed Declaration</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.RandomTest#getSeedDeclaration()
+ * @see #getRandomTest()
* @generated
- * @ordered
*/
- int TRANSITION_DECLARATION__DESTINATION = 3;
+ EReference getRandomTest_SeedDeclaration();
/**
- * The number of structural features of the '<em>Transition Declaration</em>' class.
+ * Returns the meta object for class '{@link org.eclipse.etrice.generator.fsmtest.GuardDeclaration <em>Guard Declaration</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @return the meta object for class '<em>Guard Declaration</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.GuardDeclaration
* @generated
- * @ordered
*/
- int TRANSITION_DECLARATION_FEATURE_COUNT = 4;
+ EClass getGuardDeclaration();
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.etrice.generator.fsmtest.GuardDeclaration#getSignal <em>Signal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Signal</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.GuardDeclaration#getSignal()
+ * @see #getGuardDeclaration()
+ * @generated
+ */
+ EReference getGuardDeclaration_Signal();
/**
- * Returns the meta object for class '{@link org.eclipse.etrice.generator.fsmtest.Model <em>Model</em>}'.
+ * Returns the meta object for class '{@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration <em>Transition Declaration</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for class '<em>Model</em>'.
- * @see org.eclipse.etrice.generator.fsmtest.Model
+ * @return the meta object for class '<em>Transition Declaration</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.TransitionDeclaration
* @generated
*/
- EClass getModel();
+ EClass getTransitionDeclaration();
/**
- * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.generator.fsmtest.Model#getTestscripts <em>Testscripts</em>}'.
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getName <em>Name</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Testscripts</em>'.
- * @see org.eclipse.etrice.generator.fsmtest.Model#getTestscripts()
- * @see #getModel()
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getName()
+ * @see #getTransitionDeclaration()
* @generated
*/
- EReference getModel_Testscripts();
+ EAttribute getTransitionDeclaration_Name();
/**
- * Returns the meta object for class '{@link org.eclipse.etrice.generator.fsmtest.Testscript <em>Testscript</em>}'.
+ * Returns the meta object for the reference '{@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getDestination <em>Destination</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for class '<em>Testscript</em>'.
- * @see org.eclipse.etrice.generator.fsmtest.Testscript
+ * @return the meta object for the reference '<em>Destination</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getDestination()
+ * @see #getTransitionDeclaration()
* @generated
*/
- EClass getTestscript();
+ EReference getTransitionDeclaration_Destination();
/**
- * Returns the meta object for the attribute '{@link org.eclipse.etrice.generator.fsmtest.Testscript#getName <em>Name</em>}'.
+ * Returns the meta object for the containment reference '{@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getTrigger <em>Trigger</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Name</em>'.
- * @see org.eclipse.etrice.generator.fsmtest.Testscript#getName()
- * @see #getTestscript()
+ * @return the meta object for the containment reference '<em>Trigger</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getTrigger()
+ * @see #getTransitionDeclaration()
* @generated
*/
- EAttribute getTestscript_Name();
+ EReference getTransitionDeclaration_Trigger();
/**
- * Returns the meta object for the containment reference '{@link org.eclipse.etrice.generator.fsmtest.Testscript#getStateDeclaration <em>State Declaration</em>}'.
+ * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getTriggers <em>Triggers</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>State Declaration</em>'.
- * @see org.eclipse.etrice.generator.fsmtest.Testscript#getStateDeclaration()
- * @see #getTestscript()
+ * @return the meta object for the containment reference list '<em>Triggers</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getTriggers()
+ * @see #getTransitionDeclaration()
* @generated
*/
- EReference getTestscript_StateDeclaration();
+ EReference getTransitionDeclaration_Triggers();
/**
- * Returns the meta object for the containment reference '{@link org.eclipse.etrice.generator.fsmtest.Testscript#getInitialDeclaration <em>Initial Declaration</em>}'.
+ * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getPrecondition <em>Precondition</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Initial Declaration</em>'.
- * @see org.eclipse.etrice.generator.fsmtest.Testscript#getInitialDeclaration()
- * @see #getTestscript()
+ * @return the meta object for the containment reference list '<em>Precondition</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getPrecondition()
+ * @see #getTransitionDeclaration()
* @generated
*/
- EReference getTestscript_InitialDeclaration();
+ EReference getTransitionDeclaration_Precondition();
/**
- * Returns the meta object for the containment reference '{@link org.eclipse.etrice.generator.fsmtest.Testscript#getLoopsDeclaration <em>Loops Declaration</em>}'.
+ * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getPostcondition <em>Postcondition</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Loops Declaration</em>'.
- * @see org.eclipse.etrice.generator.fsmtest.Testscript#getLoopsDeclaration()
- * @see #getTestscript()
+ * @return the meta object for the containment reference list '<em>Postcondition</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getPostcondition()
+ * @see #getTransitionDeclaration()
* @generated
*/
- EReference getTestscript_LoopsDeclaration();
+ EReference getTransitionDeclaration_Postcondition();
/**
- * Returns the meta object for the containment reference '{@link org.eclipse.etrice.generator.fsmtest.Testscript#getSeedDeclaration <em>Seed Declaration</em>}'.
+ * Returns the meta object for class '{@link org.eclipse.etrice.generator.fsmtest.ConditionDeclaration <em>Condition Declaration</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Seed Declaration</em>'.
- * @see org.eclipse.etrice.generator.fsmtest.Testscript#getSeedDeclaration()
- * @see #getTestscript()
+ * @return the meta object for class '<em>Condition Declaration</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.ConditionDeclaration
* @generated
*/
- EReference getTestscript_SeedDeclaration();
+ EClass getConditionDeclaration();
/**
- * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.generator.fsmtest.Testscript#getTransitionDeclarations <em>Transition Declarations</em>}'.
+ * Returns the meta object for the containment reference '{@link org.eclipse.etrice.generator.fsmtest.ConditionDeclaration#getSignal <em>Signal</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Transition Declarations</em>'.
- * @see org.eclipse.etrice.generator.fsmtest.Testscript#getTransitionDeclarations()
- * @see #getTestscript()
+ * @return the meta object for the containment reference '<em>Signal</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.ConditionDeclaration#getSignal()
+ * @see #getConditionDeclaration()
* @generated
*/
- EReference getTestscript_TransitionDeclarations();
+ EReference getConditionDeclaration_Signal();
/**
- * Returns the meta object for class '{@link org.eclipse.etrice.generator.fsmtest.State <em>State</em>}'.
+ * Returns the meta object for class '{@link org.eclipse.etrice.generator.fsmtest.PreconditionDeclaration <em>Precondition Declaration</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for class '<em>State</em>'.
- * @see org.eclipse.etrice.generator.fsmtest.State
+ * @return the meta object for class '<em>Precondition Declaration</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.PreconditionDeclaration
* @generated
*/
- EClass getState();
+ EClass getPreconditionDeclaration();
/**
- * Returns the meta object for the attribute '{@link org.eclipse.etrice.generator.fsmtest.State#getName <em>Name</em>}'.
+ * Returns the meta object for the containment reference '{@link org.eclipse.etrice.generator.fsmtest.PreconditionDeclaration#getSignal <em>Signal</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Name</em>'.
- * @see org.eclipse.etrice.generator.fsmtest.State#getName()
- * @see #getState()
+ * @return the meta object for the containment reference '<em>Signal</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.PreconditionDeclaration#getSignal()
+ * @see #getPreconditionDeclaration()
+ * @generated
+ */
+ EReference getPreconditionDeclaration_Signal();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.generator.fsmtest.PostconditionDeclaration <em>Postcondition Declaration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Postcondition Declaration</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.PostconditionDeclaration
+ * @generated
+ */
+ EClass getPostconditionDeclaration();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.etrice.generator.fsmtest.PostconditionDeclaration#getSignal <em>Signal</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Signal</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.PostconditionDeclaration#getSignal()
+ * @see #getPostconditionDeclaration()
* @generated
*/
- EAttribute getState_Name();
+ EReference getPostconditionDeclaration_Signal();
/**
* Returns the meta object for class '{@link org.eclipse.etrice.generator.fsmtest.StateDeclaration <em>State Declaration</em>}'.
@@ -593,36 +817,37 @@ public interface FsmtestPackage extends EPackage
EClass getStateDeclaration();
/**
- * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.generator.fsmtest.StateDeclaration#getStates <em>States</em>}'.
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.generator.fsmtest.StateDeclaration#getName <em>Name</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>States</em>'.
- * @see org.eclipse.etrice.generator.fsmtest.StateDeclaration#getStates()
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.StateDeclaration#getName()
* @see #getStateDeclaration()
* @generated
*/
- EReference getStateDeclaration_States();
+ EAttribute getStateDeclaration_Name();
/**
- * Returns the meta object for class '{@link org.eclipse.etrice.generator.fsmtest.InitialDeclaration <em>Initial Declaration</em>}'.
+ * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.generator.fsmtest.StateDeclaration#getCondition <em>Condition</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for class '<em>Initial Declaration</em>'.
- * @see org.eclipse.etrice.generator.fsmtest.InitialDeclaration
+ * @return the meta object for the containment reference list '<em>Condition</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.StateDeclaration#getCondition()
+ * @see #getStateDeclaration()
* @generated
*/
- EClass getInitialDeclaration();
+ EReference getStateDeclaration_Condition();
/**
- * Returns the meta object for the reference '{@link org.eclipse.etrice.generator.fsmtest.InitialDeclaration#getInitial <em>Initial</em>}'.
+ * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.generator.fsmtest.StateDeclaration#getTransitions <em>Transitions</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Initial</em>'.
- * @see org.eclipse.etrice.generator.fsmtest.InitialDeclaration#getInitial()
- * @see #getInitialDeclaration()
+ * @return the meta object for the containment reference list '<em>Transitions</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.StateDeclaration#getTransitions()
+ * @see #getStateDeclaration()
* @generated
*/
- EReference getInitialDeclaration_Initial();
+ EReference getStateDeclaration_Transitions();
/**
* Returns the meta object for class '{@link org.eclipse.etrice.generator.fsmtest.LoopsDeclaration <em>Loops Declaration</em>}'.
@@ -721,102 +946,6 @@ public interface FsmtestPackage extends EPackage
EAttribute getSignalDeclaration_StrVal();
/**
- * Returns the meta object for class '{@link org.eclipse.etrice.generator.fsmtest.SourceDeclaration <em>Source Declaration</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Source Declaration</em>'.
- * @see org.eclipse.etrice.generator.fsmtest.SourceDeclaration
- * @generated
- */
- EClass getSourceDeclaration();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.etrice.generator.fsmtest.SourceDeclaration#getRef <em>Ref</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Ref</em>'.
- * @see org.eclipse.etrice.generator.fsmtest.SourceDeclaration#getRef()
- * @see #getSourceDeclaration()
- * @generated
- */
- EReference getSourceDeclaration_Ref();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.etrice.generator.fsmtest.DestinationDeclaration <em>Destination Declaration</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Destination Declaration</em>'.
- * @see org.eclipse.etrice.generator.fsmtest.DestinationDeclaration
- * @generated
- */
- EClass getDestinationDeclaration();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.etrice.generator.fsmtest.DestinationDeclaration#getRef <em>Ref</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Ref</em>'.
- * @see org.eclipse.etrice.generator.fsmtest.DestinationDeclaration#getRef()
- * @see #getDestinationDeclaration()
- * @generated
- */
- EReference getDestinationDeclaration_Ref();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration <em>Transition Declaration</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Transition Declaration</em>'.
- * @see org.eclipse.etrice.generator.fsmtest.TransitionDeclaration
- * @generated
- */
- EClass getTransitionDeclaration();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getSource <em>Source</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Source</em>'.
- * @see org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getSource()
- * @see #getTransitionDeclaration()
- * @generated
- */
- EReference getTransitionDeclaration_Source();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getIn <em>In</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>In</em>'.
- * @see org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getIn()
- * @see #getTransitionDeclaration()
- * @generated
- */
- EReference getTransitionDeclaration_In();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getOut <em>Out</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Out</em>'.
- * @see org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getOut()
- * @see #getTransitionDeclaration()
- * @generated
- */
- EReference getTransitionDeclaration_Out();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getDestination <em>Destination</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Destination</em>'.
- * @see org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getDestination()
- * @see #getTransitionDeclaration()
- * @generated
- */
- EReference getTransitionDeclaration_Destination();
-
- /**
* Returns the factory that creates the instances of the model.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -850,22 +979,30 @@ public interface FsmtestPackage extends EPackage
EClass MODEL = eINSTANCE.getModel();
/**
- * The meta object literal for the '<em><b>Testscripts</b></em>' containment reference list feature.
+ * The meta object literal for the '<em><b>Fsm Definitions</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MODEL__FSM_DEFINITIONS = eINSTANCE.getModel_FsmDefinitions();
+
+ /**
+ * The meta object literal for the '<em><b>Random Tests</b></em>' containment reference list feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- EReference MODEL__TESTSCRIPTS = eINSTANCE.getModel_Testscripts();
+ EReference MODEL__RANDOM_TESTS = eINSTANCE.getModel_RandomTests();
/**
- * The meta object literal for the '{@link org.eclipse.etrice.generator.fsmtest.impl.TestscriptImpl <em>Testscript</em>}' class.
+ * The meta object literal for the '{@link org.eclipse.etrice.generator.fsmtest.impl.FsmDefinitionImpl <em>Fsm Definition</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.etrice.generator.fsmtest.impl.TestscriptImpl
- * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getTestscript()
+ * @see org.eclipse.etrice.generator.fsmtest.impl.FsmDefinitionImpl
+ * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getFsmDefinition()
* @generated
*/
- EClass TESTSCRIPT = eINSTANCE.getTestscript();
+ EClass FSM_DEFINITION = eINSTANCE.getFsmDefinition();
/**
* The meta object literal for the '<em><b>Name</b></em>' attribute feature.
@@ -873,23 +1010,41 @@ public interface FsmtestPackage extends EPackage
* <!-- end-user-doc -->
* @generated
*/
- EAttribute TESTSCRIPT__NAME = eINSTANCE.getTestscript_Name();
+ EAttribute FSM_DEFINITION__NAME = eINSTANCE.getFsmDefinition_Name();
/**
- * The meta object literal for the '<em><b>State Declaration</b></em>' containment reference feature.
+ * The meta object literal for the '<em><b>States</b></em>' containment reference list feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- EReference TESTSCRIPT__STATE_DECLARATION = eINSTANCE.getTestscript_StateDeclaration();
+ EReference FSM_DEFINITION__STATES = eINSTANCE.getFsmDefinition_States();
/**
- * The meta object literal for the '<em><b>Initial Declaration</b></em>' containment reference feature.
+ * The meta object literal for the '{@link org.eclipse.etrice.generator.fsmtest.impl.RandomTestImpl <em>Random Test</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @see org.eclipse.etrice.generator.fsmtest.impl.RandomTestImpl
+ * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getRandomTest()
* @generated
*/
- EReference TESTSCRIPT__INITIAL_DECLARATION = eINSTANCE.getTestscript_InitialDeclaration();
+ EClass RANDOM_TEST = eINSTANCE.getRandomTest();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RANDOM_TEST__NAME = eINSTANCE.getRandomTest_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Fsm</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RANDOM_TEST__FSM = eINSTANCE.getRandomTest_Fsm();
/**
* The meta object literal for the '<em><b>Loops Declaration</b></em>' containment reference feature.
@@ -897,7 +1052,7 @@ public interface FsmtestPackage extends EPackage
* <!-- end-user-doc -->
* @generated
*/
- EReference TESTSCRIPT__LOOPS_DECLARATION = eINSTANCE.getTestscript_LoopsDeclaration();
+ EReference RANDOM_TEST__LOOPS_DECLARATION = eINSTANCE.getRandomTest_LoopsDeclaration();
/**
* The meta object literal for the '<em><b>Seed Declaration</b></em>' containment reference feature.
@@ -905,25 +1060,35 @@ public interface FsmtestPackage extends EPackage
* <!-- end-user-doc -->
* @generated
*/
- EReference TESTSCRIPT__SEED_DECLARATION = eINSTANCE.getTestscript_SeedDeclaration();
+ EReference RANDOM_TEST__SEED_DECLARATION = eINSTANCE.getRandomTest_SeedDeclaration();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.generator.fsmtest.impl.GuardDeclarationImpl <em>Guard Declaration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.generator.fsmtest.impl.GuardDeclarationImpl
+ * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getGuardDeclaration()
+ * @generated
+ */
+ EClass GUARD_DECLARATION = eINSTANCE.getGuardDeclaration();
/**
- * The meta object literal for the '<em><b>Transition Declarations</b></em>' containment reference list feature.
+ * The meta object literal for the '<em><b>Signal</b></em>' containment reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- EReference TESTSCRIPT__TRANSITION_DECLARATIONS = eINSTANCE.getTestscript_TransitionDeclarations();
+ EReference GUARD_DECLARATION__SIGNAL = eINSTANCE.getGuardDeclaration_Signal();
/**
- * The meta object literal for the '{@link org.eclipse.etrice.generator.fsmtest.impl.StateImpl <em>State</em>}' class.
+ * The meta object literal for the '{@link org.eclipse.etrice.generator.fsmtest.impl.TransitionDeclarationImpl <em>Transition Declaration</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.etrice.generator.fsmtest.impl.StateImpl
- * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getState()
+ * @see org.eclipse.etrice.generator.fsmtest.impl.TransitionDeclarationImpl
+ * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getTransitionDeclaration()
* @generated
*/
- EClass STATE = eINSTANCE.getState();
+ EClass TRANSITION_DECLARATION = eINSTANCE.getTransitionDeclaration();
/**
* The meta object literal for the '<em><b>Name</b></em>' attribute feature.
@@ -931,199 +1096,213 @@ public interface FsmtestPackage extends EPackage
* <!-- end-user-doc -->
* @generated
*/
- EAttribute STATE__NAME = eINSTANCE.getState_Name();
+ EAttribute TRANSITION_DECLARATION__NAME = eINSTANCE.getTransitionDeclaration_Name();
/**
- * The meta object literal for the '{@link org.eclipse.etrice.generator.fsmtest.impl.StateDeclarationImpl <em>State Declaration</em>}' class.
+ * The meta object literal for the '<em><b>Destination</b></em>' reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.etrice.generator.fsmtest.impl.StateDeclarationImpl
- * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getStateDeclaration()
* @generated
*/
- EClass STATE_DECLARATION = eINSTANCE.getStateDeclaration();
+ EReference TRANSITION_DECLARATION__DESTINATION = eINSTANCE.getTransitionDeclaration_Destination();
/**
- * The meta object literal for the '<em><b>States</b></em>' containment reference list feature.
+ * The meta object literal for the '<em><b>Trigger</b></em>' containment reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- EReference STATE_DECLARATION__STATES = eINSTANCE.getStateDeclaration_States();
+ EReference TRANSITION_DECLARATION__TRIGGER = eINSTANCE.getTransitionDeclaration_Trigger();
/**
- * The meta object literal for the '{@link org.eclipse.etrice.generator.fsmtest.impl.InitialDeclarationImpl <em>Initial Declaration</em>}' class.
+ * The meta object literal for the '<em><b>Triggers</b></em>' containment reference list feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.etrice.generator.fsmtest.impl.InitialDeclarationImpl
- * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getInitialDeclaration()
* @generated
*/
- EClass INITIAL_DECLARATION = eINSTANCE.getInitialDeclaration();
+ EReference TRANSITION_DECLARATION__TRIGGERS = eINSTANCE.getTransitionDeclaration_Triggers();
/**
- * The meta object literal for the '<em><b>Initial</b></em>' reference feature.
+ * The meta object literal for the '<em><b>Precondition</b></em>' containment reference list feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- EReference INITIAL_DECLARATION__INITIAL = eINSTANCE.getInitialDeclaration_Initial();
+ EReference TRANSITION_DECLARATION__PRECONDITION = eINSTANCE.getTransitionDeclaration_Precondition();
/**
- * The meta object literal for the '{@link org.eclipse.etrice.generator.fsmtest.impl.LoopsDeclarationImpl <em>Loops Declaration</em>}' class.
+ * The meta object literal for the '<em><b>Postcondition</b></em>' containment reference list feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.etrice.generator.fsmtest.impl.LoopsDeclarationImpl
- * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getLoopsDeclaration()
* @generated
*/
- EClass LOOPS_DECLARATION = eINSTANCE.getLoopsDeclaration();
+ EReference TRANSITION_DECLARATION__POSTCONDITION = eINSTANCE.getTransitionDeclaration_Postcondition();
/**
- * The meta object literal for the '<em><b>Val</b></em>' attribute feature.
+ * The meta object literal for the '{@link org.eclipse.etrice.generator.fsmtest.impl.ConditionDeclarationImpl <em>Condition Declaration</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @see org.eclipse.etrice.generator.fsmtest.impl.ConditionDeclarationImpl
+ * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getConditionDeclaration()
* @generated
*/
- EAttribute LOOPS_DECLARATION__VAL = eINSTANCE.getLoopsDeclaration_Val();
+ EClass CONDITION_DECLARATION = eINSTANCE.getConditionDeclaration();
/**
- * The meta object literal for the '{@link org.eclipse.etrice.generator.fsmtest.impl.SeedDeclarationImpl <em>Seed Declaration</em>}' class.
+ * The meta object literal for the '<em><b>Signal</b></em>' containment reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.etrice.generator.fsmtest.impl.SeedDeclarationImpl
- * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getSeedDeclaration()
* @generated
*/
- EClass SEED_DECLARATION = eINSTANCE.getSeedDeclaration();
+ EReference CONDITION_DECLARATION__SIGNAL = eINSTANCE.getConditionDeclaration_Signal();
/**
- * The meta object literal for the '<em><b>Val</b></em>' attribute feature.
+ * The meta object literal for the '{@link org.eclipse.etrice.generator.fsmtest.impl.PreconditionDeclarationImpl <em>Precondition Declaration</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @see org.eclipse.etrice.generator.fsmtest.impl.PreconditionDeclarationImpl
+ * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getPreconditionDeclaration()
* @generated
*/
- EAttribute SEED_DECLARATION__VAL = eINSTANCE.getSeedDeclaration_Val();
+ EClass PRECONDITION_DECLARATION = eINSTANCE.getPreconditionDeclaration();
/**
- * The meta object literal for the '{@link org.eclipse.etrice.generator.fsmtest.impl.SignalDeclarationImpl <em>Signal Declaration</em>}' class.
+ * The meta object literal for the '<em><b>Signal</b></em>' containment reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.etrice.generator.fsmtest.impl.SignalDeclarationImpl
- * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getSignalDeclaration()
* @generated
*/
- EClass SIGNAL_DECLARATION = eINSTANCE.getSignalDeclaration();
+ EReference PRECONDITION_DECLARATION__SIGNAL = eINSTANCE.getPreconditionDeclaration_Signal();
/**
- * The meta object literal for the '<em><b>Port</b></em>' attribute feature.
+ * The meta object literal for the '{@link org.eclipse.etrice.generator.fsmtest.impl.PostconditionDeclarationImpl <em>Postcondition Declaration</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @see org.eclipse.etrice.generator.fsmtest.impl.PostconditionDeclarationImpl
+ * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getPostconditionDeclaration()
* @generated
*/
- EAttribute SIGNAL_DECLARATION__PORT = eINSTANCE.getSignalDeclaration_Port();
+ EClass POSTCONDITION_DECLARATION = eINSTANCE.getPostconditionDeclaration();
/**
- * The meta object literal for the '<em><b>Signame</b></em>' attribute feature.
+ * The meta object literal for the '<em><b>Signal</b></em>' containment reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- EAttribute SIGNAL_DECLARATION__SIGNAME = eINSTANCE.getSignalDeclaration_Signame();
+ EReference POSTCONDITION_DECLARATION__SIGNAL = eINSTANCE.getPostconditionDeclaration_Signal();
/**
- * The meta object literal for the '<em><b>Int Val</b></em>' attribute feature.
+ * The meta object literal for the '{@link org.eclipse.etrice.generator.fsmtest.impl.StateDeclarationImpl <em>State Declaration</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @see org.eclipse.etrice.generator.fsmtest.impl.StateDeclarationImpl
+ * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getStateDeclaration()
* @generated
*/
- EAttribute SIGNAL_DECLARATION__INT_VAL = eINSTANCE.getSignalDeclaration_IntVal();
+ EClass STATE_DECLARATION = eINSTANCE.getStateDeclaration();
/**
- * The meta object literal for the '<em><b>Str Val</b></em>' attribute feature.
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- EAttribute SIGNAL_DECLARATION__STR_VAL = eINSTANCE.getSignalDeclaration_StrVal();
+ EAttribute STATE_DECLARATION__NAME = eINSTANCE.getStateDeclaration_Name();
/**
- * The meta object literal for the '{@link org.eclipse.etrice.generator.fsmtest.impl.SourceDeclarationImpl <em>Source Declaration</em>}' class.
+ * The meta object literal for the '<em><b>Condition</b></em>' containment reference list feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.etrice.generator.fsmtest.impl.SourceDeclarationImpl
- * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getSourceDeclaration()
* @generated
*/
- EClass SOURCE_DECLARATION = eINSTANCE.getSourceDeclaration();
+ EReference STATE_DECLARATION__CONDITION = eINSTANCE.getStateDeclaration_Condition();
/**
- * The meta object literal for the '<em><b>Ref</b></em>' reference feature.
+ * The meta object literal for the '<em><b>Transitions</b></em>' containment reference list feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- EReference SOURCE_DECLARATION__REF = eINSTANCE.getSourceDeclaration_Ref();
+ EReference STATE_DECLARATION__TRANSITIONS = eINSTANCE.getStateDeclaration_Transitions();
/**
- * The meta object literal for the '{@link org.eclipse.etrice.generator.fsmtest.impl.DestinationDeclarationImpl <em>Destination Declaration</em>}' class.
+ * The meta object literal for the '{@link org.eclipse.etrice.generator.fsmtest.impl.LoopsDeclarationImpl <em>Loops Declaration</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.etrice.generator.fsmtest.impl.DestinationDeclarationImpl
- * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getDestinationDeclaration()
+ * @see org.eclipse.etrice.generator.fsmtest.impl.LoopsDeclarationImpl
+ * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getLoopsDeclaration()
* @generated
*/
- EClass DESTINATION_DECLARATION = eINSTANCE.getDestinationDeclaration();
+ EClass LOOPS_DECLARATION = eINSTANCE.getLoopsDeclaration();
/**
- * The meta object literal for the '<em><b>Ref</b></em>' reference feature.
+ * The meta object literal for the '<em><b>Val</b></em>' attribute feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- EReference DESTINATION_DECLARATION__REF = eINSTANCE.getDestinationDeclaration_Ref();
+ EAttribute LOOPS_DECLARATION__VAL = eINSTANCE.getLoopsDeclaration_Val();
/**
- * The meta object literal for the '{@link org.eclipse.etrice.generator.fsmtest.impl.TransitionDeclarationImpl <em>Transition Declaration</em>}' class.
+ * The meta object literal for the '{@link org.eclipse.etrice.generator.fsmtest.impl.SeedDeclarationImpl <em>Seed Declaration</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.etrice.generator.fsmtest.impl.TransitionDeclarationImpl
- * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getTransitionDeclaration()
+ * @see org.eclipse.etrice.generator.fsmtest.impl.SeedDeclarationImpl
+ * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getSeedDeclaration()
* @generated
*/
- EClass TRANSITION_DECLARATION = eINSTANCE.getTransitionDeclaration();
+ EClass SEED_DECLARATION = eINSTANCE.getSeedDeclaration();
/**
- * The meta object literal for the '<em><b>Source</b></em>' containment reference feature.
+ * The meta object literal for the '<em><b>Val</b></em>' attribute feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- EReference TRANSITION_DECLARATION__SOURCE = eINSTANCE.getTransitionDeclaration_Source();
+ EAttribute SEED_DECLARATION__VAL = eINSTANCE.getSeedDeclaration_Val();
/**
- * The meta object literal for the '<em><b>In</b></em>' containment reference list feature.
+ * The meta object literal for the '{@link org.eclipse.etrice.generator.fsmtest.impl.SignalDeclarationImpl <em>Signal Declaration</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @see org.eclipse.etrice.generator.fsmtest.impl.SignalDeclarationImpl
+ * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getSignalDeclaration()
* @generated
*/
- EReference TRANSITION_DECLARATION__IN = eINSTANCE.getTransitionDeclaration_In();
+ EClass SIGNAL_DECLARATION = eINSTANCE.getSignalDeclaration();
/**
- * The meta object literal for the '<em><b>Out</b></em>' containment reference list feature.
+ * The meta object literal for the '<em><b>Port</b></em>' attribute feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- EReference TRANSITION_DECLARATION__OUT = eINSTANCE.getTransitionDeclaration_Out();
+ EAttribute SIGNAL_DECLARATION__PORT = eINSTANCE.getSignalDeclaration_Port();
/**
- * The meta object literal for the '<em><b>Destination</b></em>' containment reference feature.
+ * The meta object literal for the '<em><b>Signame</b></em>' attribute feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- EReference TRANSITION_DECLARATION__DESTINATION = eINSTANCE.getTransitionDeclaration_Destination();
+ EAttribute SIGNAL_DECLARATION__SIGNAME = eINSTANCE.getSignalDeclaration_Signame();
+
+ /**
+ * The meta object literal for the '<em><b>Int Val</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SIGNAL_DECLARATION__INT_VAL = eINSTANCE.getSignalDeclaration_IntVal();
+
+ /**
+ * The meta object literal for the '<em><b>Str Val</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SIGNAL_DECLARATION__STR_VAL = eINSTANCE.getSignalDeclaration_StrVal();
}
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/GuardDeclaration.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/GuardDeclaration.java
new file mode 100644
index 000000000..576a64264
--- /dev/null
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/GuardDeclaration.java
@@ -0,0 +1,51 @@
+/**
+ */
+package org.eclipse.etrice.generator.fsmtest;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Guard Declaration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.GuardDeclaration#getSignal <em>Signal</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getGuardDeclaration()
+ * @model
+ * @generated
+ */
+public interface GuardDeclaration extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Signal</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Signal</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Signal</em>' containment reference.
+ * @see #setSignal(SignalDeclaration)
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getGuardDeclaration_Signal()
+ * @model containment="true"
+ * @generated
+ */
+ SignalDeclaration getSignal();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.GuardDeclaration#getSignal <em>Signal</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Signal</em>' containment reference.
+ * @see #getSignal()
+ * @generated
+ */
+ void setSignal(SignalDeclaration value);
+
+} // GuardDeclaration
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/InitialDeclaration.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/InitialDeclaration.java
deleted file mode 100644
index 8e6588daa..000000000
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/InitialDeclaration.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- */
-package org.eclipse.etrice.generator.fsmtest;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Initial Declaration</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.etrice.generator.fsmtest.InitialDeclaration#getInitial <em>Initial</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getInitialDeclaration()
- * @model
- * @generated
- */
-public interface InitialDeclaration extends EObject
-{
- /**
- * Returns the value of the '<em><b>Initial</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Initial</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Initial</em>' reference.
- * @see #setInitial(State)
- * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getInitialDeclaration_Initial()
- * @model
- * @generated
- */
- State getInitial();
-
- /**
- * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.InitialDeclaration#getInitial <em>Initial</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Initial</em>' reference.
- * @see #getInitial()
- * @generated
- */
- void setInitial(State value);
-
-} // InitialDeclaration
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/Model.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/Model.java
index a69b334ca..e04e44cb3 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/Model.java
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/Model.java
@@ -14,7 +14,8 @@ import org.eclipse.emf.ecore.EObject;
* <p>
* The following features are supported:
* <ul>
- * <li>{@link org.eclipse.etrice.generator.fsmtest.Model#getTestscripts <em>Testscripts</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.Model#getFsmDefinitions <em>Fsm Definitions</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.Model#getRandomTests <em>Random Tests</em>}</li>
* </ul>
* </p>
*
@@ -25,19 +26,35 @@ import org.eclipse.emf.ecore.EObject;
public interface Model extends EObject
{
/**
- * Returns the value of the '<em><b>Testscripts</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.etrice.generator.fsmtest.Testscript}.
+ * Returns the value of the '<em><b>Fsm Definitions</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.etrice.generator.fsmtest.FsmDefinition}.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Testscripts</em>' containment reference list isn't clear,
+ * If the meaning of the '<em>Fsm Definitions</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- * @return the value of the '<em>Testscripts</em>' containment reference list.
- * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getModel_Testscripts()
+ * @return the value of the '<em>Fsm Definitions</em>' containment reference list.
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getModel_FsmDefinitions()
* @model containment="true"
* @generated
*/
- EList<Testscript> getTestscripts();
+ EList<FsmDefinition> getFsmDefinitions();
+
+ /**
+ * Returns the value of the '<em><b>Random Tests</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.etrice.generator.fsmtest.RandomTest}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Random Tests</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Random Tests</em>' containment reference list.
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getModel_RandomTests()
+ * @model containment="true"
+ * @generated
+ */
+ EList<RandomTest> getRandomTests();
} // Model
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/PostconditionDeclaration.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/PostconditionDeclaration.java
new file mode 100644
index 000000000..b95ba4bfd
--- /dev/null
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/PostconditionDeclaration.java
@@ -0,0 +1,51 @@
+/**
+ */
+package org.eclipse.etrice.generator.fsmtest;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Postcondition Declaration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.PostconditionDeclaration#getSignal <em>Signal</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getPostconditionDeclaration()
+ * @model
+ * @generated
+ */
+public interface PostconditionDeclaration extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Signal</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Signal</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Signal</em>' containment reference.
+ * @see #setSignal(SignalDeclaration)
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getPostconditionDeclaration_Signal()
+ * @model containment="true"
+ * @generated
+ */
+ SignalDeclaration getSignal();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.PostconditionDeclaration#getSignal <em>Signal</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Signal</em>' containment reference.
+ * @see #getSignal()
+ * @generated
+ */
+ void setSignal(SignalDeclaration value);
+
+} // PostconditionDeclaration
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/PreconditionDeclaration.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/PreconditionDeclaration.java
new file mode 100644
index 000000000..891600607
--- /dev/null
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/PreconditionDeclaration.java
@@ -0,0 +1,51 @@
+/**
+ */
+package org.eclipse.etrice.generator.fsmtest;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Precondition Declaration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.PreconditionDeclaration#getSignal <em>Signal</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getPreconditionDeclaration()
+ * @model
+ * @generated
+ */
+public interface PreconditionDeclaration extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Signal</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Signal</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Signal</em>' containment reference.
+ * @see #setSignal(SignalDeclaration)
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getPreconditionDeclaration_Signal()
+ * @model containment="true"
+ * @generated
+ */
+ SignalDeclaration getSignal();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.PreconditionDeclaration#getSignal <em>Signal</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Signal</em>' containment reference.
+ * @see #getSignal()
+ * @generated
+ */
+ void setSignal(SignalDeclaration value);
+
+} // PreconditionDeclaration
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/RandomTest.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/RandomTest.java
new file mode 100644
index 000000000..aa5522325
--- /dev/null
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/RandomTest.java
@@ -0,0 +1,132 @@
+/**
+ */
+package org.eclipse.etrice.generator.fsmtest;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Random Test</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.RandomTest#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.RandomTest#getFsm <em>Fsm</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.RandomTest#getLoopsDeclaration <em>Loops Declaration</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.RandomTest#getSeedDeclaration <em>Seed Declaration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getRandomTest()
+ * @model
+ * @generated
+ */
+public interface RandomTest extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getRandomTest_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.RandomTest#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Fsm</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Fsm</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Fsm</em>' reference.
+ * @see #setFsm(FsmDefinition)
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getRandomTest_Fsm()
+ * @model
+ * @generated
+ */
+ FsmDefinition getFsm();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.RandomTest#getFsm <em>Fsm</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Fsm</em>' reference.
+ * @see #getFsm()
+ * @generated
+ */
+ void setFsm(FsmDefinition value);
+
+ /**
+ * Returns the value of the '<em><b>Loops Declaration</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Loops Declaration</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Loops Declaration</em>' containment reference.
+ * @see #setLoopsDeclaration(LoopsDeclaration)
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getRandomTest_LoopsDeclaration()
+ * @model containment="true"
+ * @generated
+ */
+ LoopsDeclaration getLoopsDeclaration();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.RandomTest#getLoopsDeclaration <em>Loops Declaration</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Loops Declaration</em>' containment reference.
+ * @see #getLoopsDeclaration()
+ * @generated
+ */
+ void setLoopsDeclaration(LoopsDeclaration value);
+
+ /**
+ * Returns the value of the '<em><b>Seed Declaration</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Seed Declaration</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Seed Declaration</em>' containment reference.
+ * @see #setSeedDeclaration(SeedDeclaration)
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getRandomTest_SeedDeclaration()
+ * @model containment="true"
+ * @generated
+ */
+ SeedDeclaration getSeedDeclaration();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.RandomTest#getSeedDeclaration <em>Seed Declaration</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Seed Declaration</em>' containment reference.
+ * @see #getSeedDeclaration()
+ * @generated
+ */
+ void setSeedDeclaration(SeedDeclaration value);
+
+} // RandomTest
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/SourceDeclaration.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/SourceDeclaration.java
deleted file mode 100644
index 51d9c2450..000000000
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/SourceDeclaration.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- */
-package org.eclipse.etrice.generator.fsmtest;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Source Declaration</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.etrice.generator.fsmtest.SourceDeclaration#getRef <em>Ref</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getSourceDeclaration()
- * @model
- * @generated
- */
-public interface SourceDeclaration extends EObject
-{
- /**
- * Returns the value of the '<em><b>Ref</b></em>' reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Ref</em>' reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Ref</em>' reference.
- * @see #setRef(State)
- * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getSourceDeclaration_Ref()
- * @model
- * @generated
- */
- State getRef();
-
- /**
- * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.SourceDeclaration#getRef <em>Ref</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Ref</em>' reference.
- * @see #getRef()
- * @generated
- */
- void setRef(State value);
-
-} // SourceDeclaration
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/State.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/State.java
deleted file mode 100644
index 328a4f584..000000000
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/State.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- */
-package org.eclipse.etrice.generator.fsmtest;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>State</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.etrice.generator.fsmtest.State#getName <em>Name</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getState()
- * @model
- * @generated
- */
-public interface State extends EObject
-{
- /**
- * Returns the value of the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Name</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Name</em>' attribute.
- * @see #setName(String)
- * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getState_Name()
- * @model
- * @generated
- */
- String getName();
-
- /**
- * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.State#getName <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Name</em>' attribute.
- * @see #getName()
- * @generated
- */
- void setName(String value);
-
-} // State
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/StateDeclaration.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/StateDeclaration.java
index 747301d3b..49b437e9e 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/StateDeclaration.java
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/StateDeclaration.java
@@ -14,7 +14,9 @@ import org.eclipse.emf.ecore.EObject;
* <p>
* The following features are supported:
* <ul>
- * <li>{@link org.eclipse.etrice.generator.fsmtest.StateDeclaration#getStates <em>States</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.StateDeclaration#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.StateDeclaration#getCondition <em>Condition</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.StateDeclaration#getTransitions <em>Transitions</em>}</li>
* </ul>
* </p>
*
@@ -25,19 +27,61 @@ import org.eclipse.emf.ecore.EObject;
public interface StateDeclaration extends EObject
{
/**
- * Returns the value of the '<em><b>States</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.etrice.generator.fsmtest.State}.
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>States</em>' containment reference list isn't clear,
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- * @return the value of the '<em>States</em>' containment reference list.
- * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getStateDeclaration_States()
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getStateDeclaration_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.StateDeclaration#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Condition</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.etrice.generator.fsmtest.ConditionDeclaration}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Condition</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Condition</em>' containment reference list.
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getStateDeclaration_Condition()
+ * @model containment="true"
+ * @generated
+ */
+ EList<ConditionDeclaration> getCondition();
+
+ /**
+ * Returns the value of the '<em><b>Transitions</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Transitions</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Transitions</em>' containment reference list.
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getStateDeclaration_Transitions()
* @model containment="true"
* @generated
*/
- EList<State> getStates();
+ EList<TransitionDeclaration> getTransitions();
} // StateDeclaration
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/Testscript.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/Testscript.java
deleted file mode 100644
index 1d2ca567d..000000000
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/Testscript.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/**
- */
-package org.eclipse.etrice.generator.fsmtest;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Testscript</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.etrice.generator.fsmtest.Testscript#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.etrice.generator.fsmtest.Testscript#getStateDeclaration <em>State Declaration</em>}</li>
- * <li>{@link org.eclipse.etrice.generator.fsmtest.Testscript#getInitialDeclaration <em>Initial Declaration</em>}</li>
- * <li>{@link org.eclipse.etrice.generator.fsmtest.Testscript#getLoopsDeclaration <em>Loops Declaration</em>}</li>
- * <li>{@link org.eclipse.etrice.generator.fsmtest.Testscript#getSeedDeclaration <em>Seed Declaration</em>}</li>
- * <li>{@link org.eclipse.etrice.generator.fsmtest.Testscript#getTransitionDeclarations <em>Transition Declarations</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getTestscript()
- * @model
- * @generated
- */
-public interface Testscript extends EObject
-{
- /**
- * Returns the value of the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Name</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Name</em>' attribute.
- * @see #setName(String)
- * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getTestscript_Name()
- * @model
- * @generated
- */
- String getName();
-
- /**
- * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.Testscript#getName <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Name</em>' attribute.
- * @see #getName()
- * @generated
- */
- void setName(String value);
-
- /**
- * Returns the value of the '<em><b>State Declaration</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>State Declaration</em>' containment reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>State Declaration</em>' containment reference.
- * @see #setStateDeclaration(StateDeclaration)
- * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getTestscript_StateDeclaration()
- * @model containment="true"
- * @generated
- */
- StateDeclaration getStateDeclaration();
-
- /**
- * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.Testscript#getStateDeclaration <em>State Declaration</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>State Declaration</em>' containment reference.
- * @see #getStateDeclaration()
- * @generated
- */
- void setStateDeclaration(StateDeclaration value);
-
- /**
- * Returns the value of the '<em><b>Initial Declaration</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Initial Declaration</em>' containment reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Initial Declaration</em>' containment reference.
- * @see #setInitialDeclaration(InitialDeclaration)
- * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getTestscript_InitialDeclaration()
- * @model containment="true"
- * @generated
- */
- InitialDeclaration getInitialDeclaration();
-
- /**
- * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.Testscript#getInitialDeclaration <em>Initial Declaration</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Initial Declaration</em>' containment reference.
- * @see #getInitialDeclaration()
- * @generated
- */
- void setInitialDeclaration(InitialDeclaration value);
-
- /**
- * Returns the value of the '<em><b>Loops Declaration</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Loops Declaration</em>' containment reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Loops Declaration</em>' containment reference.
- * @see #setLoopsDeclaration(LoopsDeclaration)
- * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getTestscript_LoopsDeclaration()
- * @model containment="true"
- * @generated
- */
- LoopsDeclaration getLoopsDeclaration();
-
- /**
- * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.Testscript#getLoopsDeclaration <em>Loops Declaration</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Loops Declaration</em>' containment reference.
- * @see #getLoopsDeclaration()
- * @generated
- */
- void setLoopsDeclaration(LoopsDeclaration value);
-
- /**
- * Returns the value of the '<em><b>Seed Declaration</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Seed Declaration</em>' containment reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Seed Declaration</em>' containment reference.
- * @see #setSeedDeclaration(SeedDeclaration)
- * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getTestscript_SeedDeclaration()
- * @model containment="true"
- * @generated
- */
- SeedDeclaration getSeedDeclaration();
-
- /**
- * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.Testscript#getSeedDeclaration <em>Seed Declaration</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Seed Declaration</em>' containment reference.
- * @see #getSeedDeclaration()
- * @generated
- */
- void setSeedDeclaration(SeedDeclaration value);
-
- /**
- * Returns the value of the '<em><b>Transition Declarations</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Transition Declarations</em>' containment reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Transition Declarations</em>' containment reference list.
- * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getTestscript_TransitionDeclarations()
- * @model containment="true"
- * @generated
- */
- EList<TransitionDeclaration> getTransitionDeclarations();
-
-} // Testscript
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/TransitionDeclaration.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/TransitionDeclaration.java
index 643de4fe7..76826e3a3 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/TransitionDeclaration.java
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/TransitionDeclaration.java
@@ -14,10 +14,12 @@ import org.eclipse.emf.ecore.EObject;
* <p>
* The following features are supported:
* <ul>
- * <li>{@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getSource <em>Source</em>}</li>
- * <li>{@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getIn <em>In</em>}</li>
- * <li>{@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getOut <em>Out</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getName <em>Name</em>}</li>
* <li>{@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getDestination <em>Destination</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getTrigger <em>Trigger</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getTriggers <em>Triggers</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getPrecondition <em>Precondition</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getPostcondition <em>Postcondition</em>}</li>
* </ul>
* </p>
*
@@ -28,87 +30,129 @@ import org.eclipse.emf.ecore.EObject;
public interface TransitionDeclaration extends EObject
{
/**
- * Returns the value of the '<em><b>Source</b></em>' containment reference.
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Source</em>' containment reference isn't clear,
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- * @return the value of the '<em>Source</em>' containment reference.
- * @see #setSource(SourceDeclaration)
- * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getTransitionDeclaration_Source()
- * @model containment="true"
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getTransitionDeclaration_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Destination</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Destination</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Destination</em>' reference.
+ * @see #setDestination(StateDeclaration)
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getTransitionDeclaration_Destination()
+ * @model
* @generated
*/
- SourceDeclaration getSource();
+ StateDeclaration getDestination();
/**
- * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getSource <em>Source</em>}' containment reference.
+ * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getDestination <em>Destination</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @param value the new value of the '<em>Source</em>' containment reference.
- * @see #getSource()
+ * @param value the new value of the '<em>Destination</em>' reference.
+ * @see #getDestination()
* @generated
*/
- void setSource(SourceDeclaration value);
+ void setDestination(StateDeclaration value);
/**
- * Returns the value of the '<em><b>In</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.etrice.generator.fsmtest.SignalDeclaration}.
+ * Returns the value of the '<em><b>Trigger</b></em>' containment reference.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>In</em>' containment reference list isn't clear,
+ * If the meaning of the '<em>Trigger</em>' containment reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- * @return the value of the '<em>In</em>' containment reference list.
- * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getTransitionDeclaration_In()
+ * @return the value of the '<em>Trigger</em>' containment reference.
+ * @see #setTrigger(SignalDeclaration)
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getTransitionDeclaration_Trigger()
* @model containment="true"
* @generated
*/
- EList<SignalDeclaration> getIn();
+ SignalDeclaration getTrigger();
/**
- * Returns the value of the '<em><b>Out</b></em>' containment reference list.
- * The list contents are of type {@link org.eclipse.etrice.generator.fsmtest.SignalDeclaration}.
+ * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getTrigger <em>Trigger</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Trigger</em>' containment reference.
+ * @see #getTrigger()
+ * @generated
+ */
+ void setTrigger(SignalDeclaration value);
+
+ /**
+ * Returns the value of the '<em><b>Triggers</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.etrice.generator.fsmtest.GuardDeclaration}.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Out</em>' containment reference list isn't clear,
+ * If the meaning of the '<em>Triggers</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- * @return the value of the '<em>Out</em>' containment reference list.
- * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getTransitionDeclaration_Out()
+ * @return the value of the '<em>Triggers</em>' containment reference list.
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getTransitionDeclaration_Triggers()
* @model containment="true"
* @generated
*/
- EList<SignalDeclaration> getOut();
+ EList<GuardDeclaration> getTriggers();
/**
- * Returns the value of the '<em><b>Destination</b></em>' containment reference.
+ * Returns the value of the '<em><b>Precondition</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.etrice.generator.fsmtest.PreconditionDeclaration}.
* <!-- begin-user-doc -->
* <p>
- * If the meaning of the '<em>Destination</em>' containment reference isn't clear,
+ * If the meaning of the '<em>Precondition</em>' containment reference list isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
- * @return the value of the '<em>Destination</em>' containment reference.
- * @see #setDestination(DestinationDeclaration)
- * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getTransitionDeclaration_Destination()
+ * @return the value of the '<em>Precondition</em>' containment reference list.
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getTransitionDeclaration_Precondition()
* @model containment="true"
* @generated
*/
- DestinationDeclaration getDestination();
+ EList<PreconditionDeclaration> getPrecondition();
/**
- * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getDestination <em>Destination</em>}' containment reference.
+ * Returns the value of the '<em><b>Postcondition</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.etrice.generator.fsmtest.PostconditionDeclaration}.
* <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Postcondition</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
* <!-- end-user-doc -->
- * @param value the new value of the '<em>Destination</em>' containment reference.
- * @see #getDestination()
+ * @return the value of the '<em>Postcondition</em>' containment reference list.
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getTransitionDeclaration_Postcondition()
+ * @model containment="true"
* @generated
*/
- void setDestination(DestinationDeclaration value);
+ EList<PostconditionDeclaration> getPostcondition();
} // TransitionDeclaration
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/ConditionDeclarationImpl.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/ConditionDeclarationImpl.java
new file mode 100644
index 000000000..ffc3e6c07
--- /dev/null
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/ConditionDeclarationImpl.java
@@ -0,0 +1,194 @@
+/**
+ */
+package org.eclipse.etrice.generator.fsmtest.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.etrice.generator.fsmtest.ConditionDeclaration;
+import org.eclipse.etrice.generator.fsmtest.FsmtestPackage;
+import org.eclipse.etrice.generator.fsmtest.SignalDeclaration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Condition Declaration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.ConditionDeclarationImpl#getSignal <em>Signal</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ConditionDeclarationImpl extends MinimalEObjectImpl.Container implements ConditionDeclaration
+{
+ /**
+ * The cached value of the '{@link #getSignal() <em>Signal</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSignal()
+ * @generated
+ * @ordered
+ */
+ protected SignalDeclaration signal;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConditionDeclarationImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return FsmtestPackage.Literals.CONDITION_DECLARATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SignalDeclaration getSignal()
+ {
+ return signal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSignal(SignalDeclaration newSignal, NotificationChain msgs)
+ {
+ SignalDeclaration oldSignal = signal;
+ signal = newSignal;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FsmtestPackage.CONDITION_DECLARATION__SIGNAL, oldSignal, newSignal);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSignal(SignalDeclaration newSignal)
+ {
+ if (newSignal != signal)
+ {
+ NotificationChain msgs = null;
+ if (signal != null)
+ msgs = ((InternalEObject)signal).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FsmtestPackage.CONDITION_DECLARATION__SIGNAL, null, msgs);
+ if (newSignal != null)
+ msgs = ((InternalEObject)newSignal).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FsmtestPackage.CONDITION_DECLARATION__SIGNAL, null, msgs);
+ msgs = basicSetSignal(newSignal, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.CONDITION_DECLARATION__SIGNAL, newSignal, newSignal));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.CONDITION_DECLARATION__SIGNAL:
+ return basicSetSignal(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.CONDITION_DECLARATION__SIGNAL:
+ return getSignal();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.CONDITION_DECLARATION__SIGNAL:
+ setSignal((SignalDeclaration)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.CONDITION_DECLARATION__SIGNAL:
+ setSignal((SignalDeclaration)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.CONDITION_DECLARATION__SIGNAL:
+ return signal != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ConditionDeclarationImpl
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/DestinationDeclarationImpl.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/DestinationDeclarationImpl.java
deleted file mode 100644
index b0cf449f6..000000000
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/DestinationDeclarationImpl.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/**
- */
-package org.eclipse.etrice.generator.fsmtest.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.etrice.generator.fsmtest.DestinationDeclaration;
-import org.eclipse.etrice.generator.fsmtest.FsmtestPackage;
-import org.eclipse.etrice.generator.fsmtest.State;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Destination Declaration</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.DestinationDeclarationImpl#getRef <em>Ref</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class DestinationDeclarationImpl extends MinimalEObjectImpl.Container implements DestinationDeclaration
-{
- /**
- * The cached value of the '{@link #getRef() <em>Ref</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getRef()
- * @generated
- * @ordered
- */
- protected State ref;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected DestinationDeclarationImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass()
- {
- return FsmtestPackage.Literals.DESTINATION_DECLARATION;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public State getRef()
- {
- if (ref != null && ref.eIsProxy())
- {
- InternalEObject oldRef = (InternalEObject)ref;
- ref = (State)eResolveProxy(oldRef);
- if (ref != oldRef)
- {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, FsmtestPackage.DESTINATION_DECLARATION__REF, oldRef, ref));
- }
- }
- return ref;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public State basicGetRef()
- {
- return ref;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setRef(State newRef)
- {
- State oldRef = ref;
- ref = newRef;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.DESTINATION_DECLARATION__REF, oldRef, ref));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType)
- {
- switch (featureID)
- {
- case FsmtestPackage.DESTINATION_DECLARATION__REF:
- if (resolve) return getRef();
- return basicGetRef();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eSet(int featureID, Object newValue)
- {
- switch (featureID)
- {
- case FsmtestPackage.DESTINATION_DECLARATION__REF:
- setRef((State)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID)
- {
- switch (featureID)
- {
- case FsmtestPackage.DESTINATION_DECLARATION__REF:
- setRef((State)null);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID)
- {
- switch (featureID)
- {
- case FsmtestPackage.DESTINATION_DECLARATION__REF:
- return ref != null;
- }
- return super.eIsSet(featureID);
- }
-
-} //DestinationDeclarationImpl
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/StateImpl.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/FsmDefinitionImpl.java
index f9d7991d0..ad96ee822 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/StateImpl.java
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/FsmDefinitionImpl.java
@@ -2,30 +2,41 @@
*/
package org.eclipse.etrice.generator.fsmtest.impl;
+import java.util.Collection;
+
import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.etrice.generator.fsmtest.FsmDefinition;
import org.eclipse.etrice.generator.fsmtest.FsmtestPackage;
-import org.eclipse.etrice.generator.fsmtest.State;
+import org.eclipse.etrice.generator.fsmtest.StateDeclaration;
/**
* <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>State</b></em>'.
+ * An implementation of the model object '<em><b>Fsm Definition</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* <ul>
- * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.StateImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.FsmDefinitionImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.FsmDefinitionImpl#getStates <em>States</em>}</li>
* </ul>
* </p>
*
* @generated
*/
-public class StateImpl extends MinimalEObjectImpl.Container implements State
+public class FsmDefinitionImpl extends MinimalEObjectImpl.Container implements FsmDefinition
{
/**
* The default value of the '{@link #getName() <em>Name</em>}' attribute.
@@ -48,11 +59,21 @@ public class StateImpl extends MinimalEObjectImpl.Container implements State
protected String name = NAME_EDEFAULT;
/**
+ * The cached value of the '{@link #getStates() <em>States</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @see #getStates()
* @generated
+ * @ordered
*/
- protected StateImpl()
+ protected EList<StateDeclaration> states;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FsmDefinitionImpl()
{
super();
}
@@ -65,7 +86,7 @@ public class StateImpl extends MinimalEObjectImpl.Container implements State
@Override
protected EClass eStaticClass()
{
- return FsmtestPackage.Literals.STATE;
+ return FsmtestPackage.Literals.FSM_DEFINITION;
}
/**
@@ -88,7 +109,37 @@ public class StateImpl extends MinimalEObjectImpl.Container implements State
String oldName = name;
name = newName;
if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.STATE__NAME, oldName, name));
+ eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.FSM_DEFINITION__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<StateDeclaration> getStates()
+ {
+ if (states == null)
+ {
+ states = new EObjectContainmentEList<StateDeclaration>(StateDeclaration.class, this, FsmtestPackage.FSM_DEFINITION__STATES);
+ }
+ return states;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.FSM_DEFINITION__STATES:
+ return ((InternalEList<?>)getStates()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
}
/**
@@ -101,8 +152,10 @@ public class StateImpl extends MinimalEObjectImpl.Container implements State
{
switch (featureID)
{
- case FsmtestPackage.STATE__NAME:
+ case FsmtestPackage.FSM_DEFINITION__NAME:
return getName();
+ case FsmtestPackage.FSM_DEFINITION__STATES:
+ return getStates();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -112,14 +165,19 @@ public class StateImpl extends MinimalEObjectImpl.Container implements State
* <!-- end-user-doc -->
* @generated
*/
+ @SuppressWarnings("unchecked")
@Override
public void eSet(int featureID, Object newValue)
{
switch (featureID)
{
- case FsmtestPackage.STATE__NAME:
+ case FsmtestPackage.FSM_DEFINITION__NAME:
setName((String)newValue);
return;
+ case FsmtestPackage.FSM_DEFINITION__STATES:
+ getStates().clear();
+ getStates().addAll((Collection<? extends StateDeclaration>)newValue);
+ return;
}
super.eSet(featureID, newValue);
}
@@ -134,9 +192,12 @@ public class StateImpl extends MinimalEObjectImpl.Container implements State
{
switch (featureID)
{
- case FsmtestPackage.STATE__NAME:
+ case FsmtestPackage.FSM_DEFINITION__NAME:
setName(NAME_EDEFAULT);
return;
+ case FsmtestPackage.FSM_DEFINITION__STATES:
+ getStates().clear();
+ return;
}
super.eUnset(featureID);
}
@@ -151,8 +212,10 @@ public class StateImpl extends MinimalEObjectImpl.Container implements State
{
switch (featureID)
{
- case FsmtestPackage.STATE__NAME:
+ case FsmtestPackage.FSM_DEFINITION__NAME:
return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case FsmtestPackage.FSM_DEFINITION__STATES:
+ return states != null && !states.isEmpty();
}
return super.eIsSet(featureID);
}
@@ -174,4 +237,4 @@ public class StateImpl extends MinimalEObjectImpl.Container implements State
return result.toString();
}
-} //StateImpl
+} //FsmDefinitionImpl
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/FsmtestFactoryImpl.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/FsmtestFactoryImpl.java
index a321d9e25..68bacc465 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/FsmtestFactoryImpl.java
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/FsmtestFactoryImpl.java
@@ -65,16 +65,17 @@ public class FsmtestFactoryImpl extends EFactoryImpl implements FsmtestFactory
switch (eClass.getClassifierID())
{
case FsmtestPackage.MODEL: return createModel();
- case FsmtestPackage.TESTSCRIPT: return createTestscript();
- case FsmtestPackage.STATE: return createState();
+ case FsmtestPackage.FSM_DEFINITION: return createFsmDefinition();
+ case FsmtestPackage.RANDOM_TEST: return createRandomTest();
+ case FsmtestPackage.GUARD_DECLARATION: return createGuardDeclaration();
+ case FsmtestPackage.TRANSITION_DECLARATION: return createTransitionDeclaration();
+ case FsmtestPackage.CONDITION_DECLARATION: return createConditionDeclaration();
+ case FsmtestPackage.PRECONDITION_DECLARATION: return createPreconditionDeclaration();
+ case FsmtestPackage.POSTCONDITION_DECLARATION: return createPostconditionDeclaration();
case FsmtestPackage.STATE_DECLARATION: return createStateDeclaration();
- case FsmtestPackage.INITIAL_DECLARATION: return createInitialDeclaration();
case FsmtestPackage.LOOPS_DECLARATION: return createLoopsDeclaration();
case FsmtestPackage.SEED_DECLARATION: return createSeedDeclaration();
case FsmtestPackage.SIGNAL_DECLARATION: return createSignalDeclaration();
- case FsmtestPackage.SOURCE_DECLARATION: return createSourceDeclaration();
- case FsmtestPackage.DESTINATION_DECLARATION: return createDestinationDeclaration();
- case FsmtestPackage.TRANSITION_DECLARATION: return createTransitionDeclaration();
default:
throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
}
@@ -96,10 +97,10 @@ public class FsmtestFactoryImpl extends EFactoryImpl implements FsmtestFactory
* <!-- end-user-doc -->
* @generated
*/
- public Testscript createTestscript()
+ public FsmDefinition createFsmDefinition()
{
- TestscriptImpl testscript = new TestscriptImpl();
- return testscript;
+ FsmDefinitionImpl fsmDefinition = new FsmDefinitionImpl();
+ return fsmDefinition;
}
/**
@@ -107,10 +108,10 @@ public class FsmtestFactoryImpl extends EFactoryImpl implements FsmtestFactory
* <!-- end-user-doc -->
* @generated
*/
- public State createState()
+ public RandomTest createRandomTest()
{
- StateImpl state = new StateImpl();
- return state;
+ RandomTestImpl randomTest = new RandomTestImpl();
+ return randomTest;
}
/**
@@ -118,10 +119,10 @@ public class FsmtestFactoryImpl extends EFactoryImpl implements FsmtestFactory
* <!-- end-user-doc -->
* @generated
*/
- public StateDeclaration createStateDeclaration()
+ public GuardDeclaration createGuardDeclaration()
{
- StateDeclarationImpl stateDeclaration = new StateDeclarationImpl();
- return stateDeclaration;
+ GuardDeclarationImpl guardDeclaration = new GuardDeclarationImpl();
+ return guardDeclaration;
}
/**
@@ -129,10 +130,10 @@ public class FsmtestFactoryImpl extends EFactoryImpl implements FsmtestFactory
* <!-- end-user-doc -->
* @generated
*/
- public InitialDeclaration createInitialDeclaration()
+ public TransitionDeclaration createTransitionDeclaration()
{
- InitialDeclarationImpl initialDeclaration = new InitialDeclarationImpl();
- return initialDeclaration;
+ TransitionDeclarationImpl transitionDeclaration = new TransitionDeclarationImpl();
+ return transitionDeclaration;
}
/**
@@ -140,10 +141,10 @@ public class FsmtestFactoryImpl extends EFactoryImpl implements FsmtestFactory
* <!-- end-user-doc -->
* @generated
*/
- public LoopsDeclaration createLoopsDeclaration()
+ public ConditionDeclaration createConditionDeclaration()
{
- LoopsDeclarationImpl loopsDeclaration = new LoopsDeclarationImpl();
- return loopsDeclaration;
+ ConditionDeclarationImpl conditionDeclaration = new ConditionDeclarationImpl();
+ return conditionDeclaration;
}
/**
@@ -151,10 +152,10 @@ public class FsmtestFactoryImpl extends EFactoryImpl implements FsmtestFactory
* <!-- end-user-doc -->
* @generated
*/
- public SeedDeclaration createSeedDeclaration()
+ public PreconditionDeclaration createPreconditionDeclaration()
{
- SeedDeclarationImpl seedDeclaration = new SeedDeclarationImpl();
- return seedDeclaration;
+ PreconditionDeclarationImpl preconditionDeclaration = new PreconditionDeclarationImpl();
+ return preconditionDeclaration;
}
/**
@@ -162,10 +163,21 @@ public class FsmtestFactoryImpl extends EFactoryImpl implements FsmtestFactory
* <!-- end-user-doc -->
* @generated
*/
- public SignalDeclaration createSignalDeclaration()
+ public PostconditionDeclaration createPostconditionDeclaration()
{
- SignalDeclarationImpl signalDeclaration = new SignalDeclarationImpl();
- return signalDeclaration;
+ PostconditionDeclarationImpl postconditionDeclaration = new PostconditionDeclarationImpl();
+ return postconditionDeclaration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StateDeclaration createStateDeclaration()
+ {
+ StateDeclarationImpl stateDeclaration = new StateDeclarationImpl();
+ return stateDeclaration;
}
/**
@@ -173,10 +185,10 @@ public class FsmtestFactoryImpl extends EFactoryImpl implements FsmtestFactory
* <!-- end-user-doc -->
* @generated
*/
- public SourceDeclaration createSourceDeclaration()
+ public LoopsDeclaration createLoopsDeclaration()
{
- SourceDeclarationImpl sourceDeclaration = new SourceDeclarationImpl();
- return sourceDeclaration;
+ LoopsDeclarationImpl loopsDeclaration = new LoopsDeclarationImpl();
+ return loopsDeclaration;
}
/**
@@ -184,10 +196,10 @@ public class FsmtestFactoryImpl extends EFactoryImpl implements FsmtestFactory
* <!-- end-user-doc -->
* @generated
*/
- public DestinationDeclaration createDestinationDeclaration()
+ public SeedDeclaration createSeedDeclaration()
{
- DestinationDeclarationImpl destinationDeclaration = new DestinationDeclarationImpl();
- return destinationDeclaration;
+ SeedDeclarationImpl seedDeclaration = new SeedDeclarationImpl();
+ return seedDeclaration;
}
/**
@@ -195,10 +207,10 @@ public class FsmtestFactoryImpl extends EFactoryImpl implements FsmtestFactory
* <!-- end-user-doc -->
* @generated
*/
- public TransitionDeclaration createTransitionDeclaration()
+ public SignalDeclaration createSignalDeclaration()
{
- TransitionDeclarationImpl transitionDeclaration = new TransitionDeclarationImpl();
- return transitionDeclaration;
+ SignalDeclarationImpl signalDeclaration = new SignalDeclarationImpl();
+ return signalDeclaration;
}
/**
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/FsmtestPackageImpl.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/FsmtestPackageImpl.java
index dfccfeeeb..8ae468b9a 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/FsmtestPackageImpl.java
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/FsmtestPackageImpl.java
@@ -9,18 +9,19 @@ import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.impl.EPackageImpl;
-import org.eclipse.etrice.generator.fsmtest.DestinationDeclaration;
+import org.eclipse.etrice.generator.fsmtest.ConditionDeclaration;
+import org.eclipse.etrice.generator.fsmtest.FsmDefinition;
import org.eclipse.etrice.generator.fsmtest.FsmtestFactory;
import org.eclipse.etrice.generator.fsmtest.FsmtestPackage;
-import org.eclipse.etrice.generator.fsmtest.InitialDeclaration;
+import org.eclipse.etrice.generator.fsmtest.GuardDeclaration;
import org.eclipse.etrice.generator.fsmtest.LoopsDeclaration;
import org.eclipse.etrice.generator.fsmtest.Model;
+import org.eclipse.etrice.generator.fsmtest.PostconditionDeclaration;
+import org.eclipse.etrice.generator.fsmtest.PreconditionDeclaration;
+import org.eclipse.etrice.generator.fsmtest.RandomTest;
import org.eclipse.etrice.generator.fsmtest.SeedDeclaration;
import org.eclipse.etrice.generator.fsmtest.SignalDeclaration;
-import org.eclipse.etrice.generator.fsmtest.SourceDeclaration;
-import org.eclipse.etrice.generator.fsmtest.State;
import org.eclipse.etrice.generator.fsmtest.StateDeclaration;
-import org.eclipse.etrice.generator.fsmtest.Testscript;
import org.eclipse.etrice.generator.fsmtest.TransitionDeclaration;
/**
@@ -43,70 +44,77 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- private EClass testscriptEClass = null;
+ private EClass fsmDefinitionEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- private EClass stateEClass = null;
+ private EClass randomTestEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- private EClass stateDeclarationEClass = null;
+ private EClass guardDeclarationEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- private EClass initialDeclarationEClass = null;
+ private EClass transitionDeclarationEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- private EClass loopsDeclarationEClass = null;
+ private EClass conditionDeclarationEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- private EClass seedDeclarationEClass = null;
+ private EClass preconditionDeclarationEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- private EClass signalDeclarationEClass = null;
+ private EClass postconditionDeclarationEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- private EClass sourceDeclarationEClass = null;
+ private EClass stateDeclarationEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- private EClass destinationDeclarationEClass = null;
+ private EClass loopsDeclarationEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- private EClass transitionDeclarationEClass = null;
+ private EClass seedDeclarationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass signalDeclarationEClass = null;
/**
* Creates an instance of the model <b>Package</b>, registered with
@@ -186,7 +194,7 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EReference getModel_Testscripts()
+ public EReference getModel_FsmDefinitions()
{
return (EReference)modelEClass.getEStructuralFeatures().get(0);
}
@@ -196,9 +204,9 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EClass getTestscript()
+ public EReference getModel_RandomTests()
{
- return testscriptEClass;
+ return (EReference)modelEClass.getEStructuralFeatures().get(1);
}
/**
@@ -206,9 +214,9 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EAttribute getTestscript_Name()
+ public EClass getFsmDefinition()
{
- return (EAttribute)testscriptEClass.getEStructuralFeatures().get(0);
+ return fsmDefinitionEClass;
}
/**
@@ -216,9 +224,9 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EReference getTestscript_StateDeclaration()
+ public EAttribute getFsmDefinition_Name()
{
- return (EReference)testscriptEClass.getEStructuralFeatures().get(1);
+ return (EAttribute)fsmDefinitionEClass.getEStructuralFeatures().get(0);
}
/**
@@ -226,9 +234,9 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EReference getTestscript_InitialDeclaration()
+ public EReference getFsmDefinition_States()
{
- return (EReference)testscriptEClass.getEStructuralFeatures().get(2);
+ return (EReference)fsmDefinitionEClass.getEStructuralFeatures().get(1);
}
/**
@@ -236,9 +244,9 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EReference getTestscript_LoopsDeclaration()
+ public EClass getRandomTest()
{
- return (EReference)testscriptEClass.getEStructuralFeatures().get(3);
+ return randomTestEClass;
}
/**
@@ -246,9 +254,9 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EReference getTestscript_SeedDeclaration()
+ public EAttribute getRandomTest_Name()
{
- return (EReference)testscriptEClass.getEStructuralFeatures().get(4);
+ return (EAttribute)randomTestEClass.getEStructuralFeatures().get(0);
}
/**
@@ -256,9 +264,9 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EReference getTestscript_TransitionDeclarations()
+ public EReference getRandomTest_Fsm()
{
- return (EReference)testscriptEClass.getEStructuralFeatures().get(5);
+ return (EReference)randomTestEClass.getEStructuralFeatures().get(1);
}
/**
@@ -266,9 +274,9 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EClass getState()
+ public EReference getRandomTest_LoopsDeclaration()
{
- return stateEClass;
+ return (EReference)randomTestEClass.getEStructuralFeatures().get(2);
}
/**
@@ -276,9 +284,9 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EAttribute getState_Name()
+ public EReference getRandomTest_SeedDeclaration()
{
- return (EAttribute)stateEClass.getEStructuralFeatures().get(0);
+ return (EReference)randomTestEClass.getEStructuralFeatures().get(3);
}
/**
@@ -286,9 +294,9 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EClass getStateDeclaration()
+ public EClass getGuardDeclaration()
{
- return stateDeclarationEClass;
+ return guardDeclarationEClass;
}
/**
@@ -296,9 +304,9 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EReference getStateDeclaration_States()
+ public EReference getGuardDeclaration_Signal()
{
- return (EReference)stateDeclarationEClass.getEStructuralFeatures().get(0);
+ return (EReference)guardDeclarationEClass.getEStructuralFeatures().get(0);
}
/**
@@ -306,9 +314,9 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EClass getInitialDeclaration()
+ public EClass getTransitionDeclaration()
{
- return initialDeclarationEClass;
+ return transitionDeclarationEClass;
}
/**
@@ -316,9 +324,9 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EReference getInitialDeclaration_Initial()
+ public EAttribute getTransitionDeclaration_Name()
{
- return (EReference)initialDeclarationEClass.getEStructuralFeatures().get(0);
+ return (EAttribute)transitionDeclarationEClass.getEStructuralFeatures().get(0);
}
/**
@@ -326,9 +334,9 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EClass getLoopsDeclaration()
+ public EReference getTransitionDeclaration_Destination()
{
- return loopsDeclarationEClass;
+ return (EReference)transitionDeclarationEClass.getEStructuralFeatures().get(1);
}
/**
@@ -336,9 +344,9 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EAttribute getLoopsDeclaration_Val()
+ public EReference getTransitionDeclaration_Trigger()
{
- return (EAttribute)loopsDeclarationEClass.getEStructuralFeatures().get(0);
+ return (EReference)transitionDeclarationEClass.getEStructuralFeatures().get(2);
}
/**
@@ -346,9 +354,9 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EClass getSeedDeclaration()
+ public EReference getTransitionDeclaration_Triggers()
{
- return seedDeclarationEClass;
+ return (EReference)transitionDeclarationEClass.getEStructuralFeatures().get(3);
}
/**
@@ -356,9 +364,9 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EAttribute getSeedDeclaration_Val()
+ public EReference getTransitionDeclaration_Precondition()
{
- return (EAttribute)seedDeclarationEClass.getEStructuralFeatures().get(0);
+ return (EReference)transitionDeclarationEClass.getEStructuralFeatures().get(4);
}
/**
@@ -366,9 +374,9 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EClass getSignalDeclaration()
+ public EReference getTransitionDeclaration_Postcondition()
{
- return signalDeclarationEClass;
+ return (EReference)transitionDeclarationEClass.getEStructuralFeatures().get(5);
}
/**
@@ -376,9 +384,9 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EAttribute getSignalDeclaration_Port()
+ public EClass getConditionDeclaration()
{
- return (EAttribute)signalDeclarationEClass.getEStructuralFeatures().get(0);
+ return conditionDeclarationEClass;
}
/**
@@ -386,9 +394,9 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EAttribute getSignalDeclaration_Signame()
+ public EReference getConditionDeclaration_Signal()
{
- return (EAttribute)signalDeclarationEClass.getEStructuralFeatures().get(1);
+ return (EReference)conditionDeclarationEClass.getEStructuralFeatures().get(0);
}
/**
@@ -396,9 +404,9 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EAttribute getSignalDeclaration_IntVal()
+ public EClass getPreconditionDeclaration()
{
- return (EAttribute)signalDeclarationEClass.getEStructuralFeatures().get(2);
+ return preconditionDeclarationEClass;
}
/**
@@ -406,9 +414,9 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EAttribute getSignalDeclaration_StrVal()
+ public EReference getPreconditionDeclaration_Signal()
{
- return (EAttribute)signalDeclarationEClass.getEStructuralFeatures().get(3);
+ return (EReference)preconditionDeclarationEClass.getEStructuralFeatures().get(0);
}
/**
@@ -416,9 +424,9 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EClass getSourceDeclaration()
+ public EClass getPostconditionDeclaration()
{
- return sourceDeclarationEClass;
+ return postconditionDeclarationEClass;
}
/**
@@ -426,9 +434,9 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EReference getSourceDeclaration_Ref()
+ public EReference getPostconditionDeclaration_Signal()
{
- return (EReference)sourceDeclarationEClass.getEStructuralFeatures().get(0);
+ return (EReference)postconditionDeclarationEClass.getEStructuralFeatures().get(0);
}
/**
@@ -436,9 +444,9 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EClass getDestinationDeclaration()
+ public EClass getStateDeclaration()
{
- return destinationDeclarationEClass;
+ return stateDeclarationEClass;
}
/**
@@ -446,9 +454,9 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EReference getDestinationDeclaration_Ref()
+ public EAttribute getStateDeclaration_Name()
{
- return (EReference)destinationDeclarationEClass.getEStructuralFeatures().get(0);
+ return (EAttribute)stateDeclarationEClass.getEStructuralFeatures().get(0);
}
/**
@@ -456,9 +464,9 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EClass getTransitionDeclaration()
+ public EReference getStateDeclaration_Condition()
{
- return transitionDeclarationEClass;
+ return (EReference)stateDeclarationEClass.getEStructuralFeatures().get(1);
}
/**
@@ -466,9 +474,9 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EReference getTransitionDeclaration_Source()
+ public EReference getStateDeclaration_Transitions()
{
- return (EReference)transitionDeclarationEClass.getEStructuralFeatures().get(0);
+ return (EReference)stateDeclarationEClass.getEStructuralFeatures().get(2);
}
/**
@@ -476,9 +484,9 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EReference getTransitionDeclaration_In()
+ public EClass getLoopsDeclaration()
{
- return (EReference)transitionDeclarationEClass.getEStructuralFeatures().get(1);
+ return loopsDeclarationEClass;
}
/**
@@ -486,9 +494,9 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EReference getTransitionDeclaration_Out()
+ public EAttribute getLoopsDeclaration_Val()
{
- return (EReference)transitionDeclarationEClass.getEStructuralFeatures().get(2);
+ return (EAttribute)loopsDeclarationEClass.getEStructuralFeatures().get(0);
}
/**
@@ -496,9 +504,69 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
* <!-- end-user-doc -->
* @generated
*/
- public EReference getTransitionDeclaration_Destination()
+ public EClass getSeedDeclaration()
{
- return (EReference)transitionDeclarationEClass.getEStructuralFeatures().get(3);
+ return seedDeclarationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSeedDeclaration_Val()
+ {
+ return (EAttribute)seedDeclarationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSignalDeclaration()
+ {
+ return signalDeclarationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSignalDeclaration_Port()
+ {
+ return (EAttribute)signalDeclarationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSignalDeclaration_Signame()
+ {
+ return (EAttribute)signalDeclarationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSignalDeclaration_IntVal()
+ {
+ return (EAttribute)signalDeclarationEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSignalDeclaration_StrVal()
+ {
+ return (EAttribute)signalDeclarationEClass.getEStructuralFeatures().get(3);
}
/**
@@ -532,24 +600,43 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
// Create classes and their features
modelEClass = createEClass(MODEL);
- createEReference(modelEClass, MODEL__TESTSCRIPTS);
+ createEReference(modelEClass, MODEL__FSM_DEFINITIONS);
+ createEReference(modelEClass, MODEL__RANDOM_TESTS);
- testscriptEClass = createEClass(TESTSCRIPT);
- createEAttribute(testscriptEClass, TESTSCRIPT__NAME);
- createEReference(testscriptEClass, TESTSCRIPT__STATE_DECLARATION);
- createEReference(testscriptEClass, TESTSCRIPT__INITIAL_DECLARATION);
- createEReference(testscriptEClass, TESTSCRIPT__LOOPS_DECLARATION);
- createEReference(testscriptEClass, TESTSCRIPT__SEED_DECLARATION);
- createEReference(testscriptEClass, TESTSCRIPT__TRANSITION_DECLARATIONS);
+ fsmDefinitionEClass = createEClass(FSM_DEFINITION);
+ createEAttribute(fsmDefinitionEClass, FSM_DEFINITION__NAME);
+ createEReference(fsmDefinitionEClass, FSM_DEFINITION__STATES);
- stateEClass = createEClass(STATE);
- createEAttribute(stateEClass, STATE__NAME);
+ randomTestEClass = createEClass(RANDOM_TEST);
+ createEAttribute(randomTestEClass, RANDOM_TEST__NAME);
+ createEReference(randomTestEClass, RANDOM_TEST__FSM);
+ createEReference(randomTestEClass, RANDOM_TEST__LOOPS_DECLARATION);
+ createEReference(randomTestEClass, RANDOM_TEST__SEED_DECLARATION);
- stateDeclarationEClass = createEClass(STATE_DECLARATION);
- createEReference(stateDeclarationEClass, STATE_DECLARATION__STATES);
+ guardDeclarationEClass = createEClass(GUARD_DECLARATION);
+ createEReference(guardDeclarationEClass, GUARD_DECLARATION__SIGNAL);
- initialDeclarationEClass = createEClass(INITIAL_DECLARATION);
- createEReference(initialDeclarationEClass, INITIAL_DECLARATION__INITIAL);
+ transitionDeclarationEClass = createEClass(TRANSITION_DECLARATION);
+ createEAttribute(transitionDeclarationEClass, TRANSITION_DECLARATION__NAME);
+ createEReference(transitionDeclarationEClass, TRANSITION_DECLARATION__DESTINATION);
+ createEReference(transitionDeclarationEClass, TRANSITION_DECLARATION__TRIGGER);
+ createEReference(transitionDeclarationEClass, TRANSITION_DECLARATION__TRIGGERS);
+ createEReference(transitionDeclarationEClass, TRANSITION_DECLARATION__PRECONDITION);
+ createEReference(transitionDeclarationEClass, TRANSITION_DECLARATION__POSTCONDITION);
+
+ conditionDeclarationEClass = createEClass(CONDITION_DECLARATION);
+ createEReference(conditionDeclarationEClass, CONDITION_DECLARATION__SIGNAL);
+
+ preconditionDeclarationEClass = createEClass(PRECONDITION_DECLARATION);
+ createEReference(preconditionDeclarationEClass, PRECONDITION_DECLARATION__SIGNAL);
+
+ postconditionDeclarationEClass = createEClass(POSTCONDITION_DECLARATION);
+ createEReference(postconditionDeclarationEClass, POSTCONDITION_DECLARATION__SIGNAL);
+
+ stateDeclarationEClass = createEClass(STATE_DECLARATION);
+ createEAttribute(stateDeclarationEClass, STATE_DECLARATION__NAME);
+ createEReference(stateDeclarationEClass, STATE_DECLARATION__CONDITION);
+ createEReference(stateDeclarationEClass, STATE_DECLARATION__TRANSITIONS);
loopsDeclarationEClass = createEClass(LOOPS_DECLARATION);
createEAttribute(loopsDeclarationEClass, LOOPS_DECLARATION__VAL);
@@ -562,18 +649,6 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
createEAttribute(signalDeclarationEClass, SIGNAL_DECLARATION__SIGNAME);
createEAttribute(signalDeclarationEClass, SIGNAL_DECLARATION__INT_VAL);
createEAttribute(signalDeclarationEClass, SIGNAL_DECLARATION__STR_VAL);
-
- sourceDeclarationEClass = createEClass(SOURCE_DECLARATION);
- createEReference(sourceDeclarationEClass, SOURCE_DECLARATION__REF);
-
- destinationDeclarationEClass = createEClass(DESTINATION_DECLARATION);
- createEReference(destinationDeclarationEClass, DESTINATION_DECLARATION__REF);
-
- transitionDeclarationEClass = createEClass(TRANSITION_DECLARATION);
- createEReference(transitionDeclarationEClass, TRANSITION_DECLARATION__SOURCE);
- createEReference(transitionDeclarationEClass, TRANSITION_DECLARATION__IN);
- createEReference(transitionDeclarationEClass, TRANSITION_DECLARATION__OUT);
- createEReference(transitionDeclarationEClass, TRANSITION_DECLARATION__DESTINATION);
}
/**
@@ -608,24 +683,43 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
// Initialize classes and features; add operations and parameters
initEClass(modelEClass, Model.class, "Model", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getModel_Testscripts(), this.getTestscript(), null, "Testscripts", null, 0, -1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getModel_FsmDefinitions(), this.getFsmDefinition(), null, "FsmDefinitions", null, 0, -1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getModel_RandomTests(), this.getRandomTest(), null, "RandomTests", null, 0, -1, Model.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEClass(testscriptEClass, Testscript.class, "Testscript", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getTestscript_Name(), ecorePackage.getEString(), "name", null, 0, 1, Testscript.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getTestscript_StateDeclaration(), this.getStateDeclaration(), null, "stateDeclaration", null, 0, 1, Testscript.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getTestscript_InitialDeclaration(), this.getInitialDeclaration(), null, "initialDeclaration", null, 0, 1, Testscript.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getTestscript_LoopsDeclaration(), this.getLoopsDeclaration(), null, "loopsDeclaration", null, 0, 1, Testscript.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getTestscript_SeedDeclaration(), this.getSeedDeclaration(), null, "seedDeclaration", null, 0, 1, Testscript.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getTestscript_TransitionDeclarations(), this.getTransitionDeclaration(), null, "transitionDeclarations", null, 0, -1, Testscript.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEClass(fsmDefinitionEClass, FsmDefinition.class, "FsmDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getFsmDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, FsmDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getFsmDefinition_States(), this.getStateDeclaration(), null, "states", null, 0, -1, FsmDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEClass(stateEClass, State.class, "State", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getState_Name(), ecorePackage.getEString(), "name", null, 0, 1, State.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEClass(randomTestEClass, RandomTest.class, "RandomTest", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getRandomTest_Name(), ecorePackage.getEString(), "name", null, 0, 1, RandomTest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRandomTest_Fsm(), this.getFsmDefinition(), null, "fsm", null, 0, 1, RandomTest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRandomTest_LoopsDeclaration(), this.getLoopsDeclaration(), null, "loopsDeclaration", null, 0, 1, RandomTest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRandomTest_SeedDeclaration(), this.getSeedDeclaration(), null, "seedDeclaration", null, 0, 1, RandomTest.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEClass(stateDeclarationEClass, StateDeclaration.class, "StateDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getStateDeclaration_States(), this.getState(), null, "states", null, 0, -1, StateDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEClass(guardDeclarationEClass, GuardDeclaration.class, "GuardDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getGuardDeclaration_Signal(), this.getSignalDeclaration(), null, "signal", null, 0, 1, GuardDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(transitionDeclarationEClass, TransitionDeclaration.class, "TransitionDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getTransitionDeclaration_Name(), ecorePackage.getEString(), "name", null, 0, 1, TransitionDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getTransitionDeclaration_Destination(), this.getStateDeclaration(), null, "destination", null, 0, 1, TransitionDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getTransitionDeclaration_Trigger(), this.getSignalDeclaration(), null, "trigger", null, 0, 1, TransitionDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getTransitionDeclaration_Triggers(), this.getGuardDeclaration(), null, "triggers", null, 0, -1, TransitionDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getTransitionDeclaration_Precondition(), this.getPreconditionDeclaration(), null, "precondition", null, 0, -1, TransitionDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getTransitionDeclaration_Postcondition(), this.getPostconditionDeclaration(), null, "postcondition", null, 0, -1, TransitionDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEClass(initialDeclarationEClass, InitialDeclaration.class, "InitialDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getInitialDeclaration_Initial(), this.getState(), null, "initial", null, 0, 1, InitialDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEClass(conditionDeclarationEClass, ConditionDeclaration.class, "ConditionDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getConditionDeclaration_Signal(), this.getSignalDeclaration(), null, "signal", null, 0, 1, ConditionDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(preconditionDeclarationEClass, PreconditionDeclaration.class, "PreconditionDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPreconditionDeclaration_Signal(), this.getSignalDeclaration(), null, "signal", null, 0, 1, PreconditionDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(postconditionDeclarationEClass, PostconditionDeclaration.class, "PostconditionDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPostconditionDeclaration_Signal(), this.getSignalDeclaration(), null, "signal", null, 0, 1, PostconditionDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(stateDeclarationEClass, StateDeclaration.class, "StateDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getStateDeclaration_Name(), ecorePackage.getEString(), "name", null, 0, 1, StateDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getStateDeclaration_Condition(), this.getConditionDeclaration(), null, "condition", null, 0, -1, StateDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getStateDeclaration_Transitions(), this.getTransitionDeclaration(), null, "transitions", null, 0, -1, StateDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(loopsDeclarationEClass, LoopsDeclaration.class, "LoopsDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getLoopsDeclaration_Val(), ecorePackage.getEInt(), "val", null, 0, 1, LoopsDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -639,18 +733,6 @@ public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
initEAttribute(getSignalDeclaration_IntVal(), ecorePackage.getEInt(), "intVal", null, 0, 1, SignalDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getSignalDeclaration_StrVal(), ecorePackage.getEString(), "strVal", null, 0, 1, SignalDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEClass(sourceDeclarationEClass, SourceDeclaration.class, "SourceDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getSourceDeclaration_Ref(), this.getState(), null, "ref", null, 0, 1, SourceDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- initEClass(destinationDeclarationEClass, DestinationDeclaration.class, "DestinationDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getDestinationDeclaration_Ref(), this.getState(), null, "ref", null, 0, 1, DestinationDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- initEClass(transitionDeclarationEClass, TransitionDeclaration.class, "TransitionDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getTransitionDeclaration_Source(), this.getSourceDeclaration(), null, "source", null, 0, 1, TransitionDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getTransitionDeclaration_In(), this.getSignalDeclaration(), null, "in", null, 0, -1, TransitionDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getTransitionDeclaration_Out(), this.getSignalDeclaration(), null, "out", null, 0, -1, TransitionDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEReference(getTransitionDeclaration_Destination(), this.getDestinationDeclaration(), null, "destination", null, 0, 1, TransitionDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
// Create resource
createResource(eNS_URI);
}
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/GuardDeclarationImpl.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/GuardDeclarationImpl.java
new file mode 100644
index 000000000..0e1aed35a
--- /dev/null
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/GuardDeclarationImpl.java
@@ -0,0 +1,194 @@
+/**
+ */
+package org.eclipse.etrice.generator.fsmtest.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.etrice.generator.fsmtest.FsmtestPackage;
+import org.eclipse.etrice.generator.fsmtest.GuardDeclaration;
+import org.eclipse.etrice.generator.fsmtest.SignalDeclaration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Guard Declaration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.GuardDeclarationImpl#getSignal <em>Signal</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class GuardDeclarationImpl extends MinimalEObjectImpl.Container implements GuardDeclaration
+{
+ /**
+ * The cached value of the '{@link #getSignal() <em>Signal</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSignal()
+ * @generated
+ * @ordered
+ */
+ protected SignalDeclaration signal;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GuardDeclarationImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return FsmtestPackage.Literals.GUARD_DECLARATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SignalDeclaration getSignal()
+ {
+ return signal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSignal(SignalDeclaration newSignal, NotificationChain msgs)
+ {
+ SignalDeclaration oldSignal = signal;
+ signal = newSignal;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FsmtestPackage.GUARD_DECLARATION__SIGNAL, oldSignal, newSignal);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSignal(SignalDeclaration newSignal)
+ {
+ if (newSignal != signal)
+ {
+ NotificationChain msgs = null;
+ if (signal != null)
+ msgs = ((InternalEObject)signal).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FsmtestPackage.GUARD_DECLARATION__SIGNAL, null, msgs);
+ if (newSignal != null)
+ msgs = ((InternalEObject)newSignal).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FsmtestPackage.GUARD_DECLARATION__SIGNAL, null, msgs);
+ msgs = basicSetSignal(newSignal, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.GUARD_DECLARATION__SIGNAL, newSignal, newSignal));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.GUARD_DECLARATION__SIGNAL:
+ return basicSetSignal(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.GUARD_DECLARATION__SIGNAL:
+ return getSignal();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.GUARD_DECLARATION__SIGNAL:
+ setSignal((SignalDeclaration)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.GUARD_DECLARATION__SIGNAL:
+ setSignal((SignalDeclaration)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.GUARD_DECLARATION__SIGNAL:
+ return signal != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //GuardDeclarationImpl
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/InitialDeclarationImpl.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/InitialDeclarationImpl.java
deleted file mode 100644
index 5a742439e..000000000
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/InitialDeclarationImpl.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/**
- */
-package org.eclipse.etrice.generator.fsmtest.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.etrice.generator.fsmtest.FsmtestPackage;
-import org.eclipse.etrice.generator.fsmtest.InitialDeclaration;
-import org.eclipse.etrice.generator.fsmtest.State;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Initial Declaration</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.InitialDeclarationImpl#getInitial <em>Initial</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class InitialDeclarationImpl extends MinimalEObjectImpl.Container implements InitialDeclaration
-{
- /**
- * The cached value of the '{@link #getInitial() <em>Initial</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getInitial()
- * @generated
- * @ordered
- */
- protected State initial;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected InitialDeclarationImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass()
- {
- return FsmtestPackage.Literals.INITIAL_DECLARATION;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public State getInitial()
- {
- if (initial != null && initial.eIsProxy())
- {
- InternalEObject oldInitial = (InternalEObject)initial;
- initial = (State)eResolveProxy(oldInitial);
- if (initial != oldInitial)
- {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, FsmtestPackage.INITIAL_DECLARATION__INITIAL, oldInitial, initial));
- }
- }
- return initial;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public State basicGetInitial()
- {
- return initial;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setInitial(State newInitial)
- {
- State oldInitial = initial;
- initial = newInitial;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.INITIAL_DECLARATION__INITIAL, oldInitial, initial));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType)
- {
- switch (featureID)
- {
- case FsmtestPackage.INITIAL_DECLARATION__INITIAL:
- if (resolve) return getInitial();
- return basicGetInitial();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eSet(int featureID, Object newValue)
- {
- switch (featureID)
- {
- case FsmtestPackage.INITIAL_DECLARATION__INITIAL:
- setInitial((State)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID)
- {
- switch (featureID)
- {
- case FsmtestPackage.INITIAL_DECLARATION__INITIAL:
- setInitial((State)null);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID)
- {
- switch (featureID)
- {
- case FsmtestPackage.INITIAL_DECLARATION__INITIAL:
- return initial != null;
- }
- return super.eIsSet(featureID);
- }
-
-} //InitialDeclarationImpl
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/ModelImpl.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/ModelImpl.java
index d5bb1cc70..bb3bdcbfa 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/ModelImpl.java
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/ModelImpl.java
@@ -16,9 +16,10 @@ import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import org.eclipse.emf.ecore.util.EObjectContainmentEList;
import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.etrice.generator.fsmtest.FsmDefinition;
import org.eclipse.etrice.generator.fsmtest.FsmtestPackage;
import org.eclipse.etrice.generator.fsmtest.Model;
-import org.eclipse.etrice.generator.fsmtest.Testscript;
+import org.eclipse.etrice.generator.fsmtest.RandomTest;
/**
* <!-- begin-user-doc -->
@@ -27,7 +28,8 @@ import org.eclipse.etrice.generator.fsmtest.Testscript;
* <p>
* The following features are implemented:
* <ul>
- * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.ModelImpl#getTestscripts <em>Testscripts</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.ModelImpl#getFsmDefinitions <em>Fsm Definitions</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.ModelImpl#getRandomTests <em>Random Tests</em>}</li>
* </ul>
* </p>
*
@@ -36,14 +38,24 @@ import org.eclipse.etrice.generator.fsmtest.Testscript;
public class ModelImpl extends MinimalEObjectImpl.Container implements Model
{
/**
- * The cached value of the '{@link #getTestscripts() <em>Testscripts</em>}' containment reference list.
+ * The cached value of the '{@link #getFsmDefinitions() <em>Fsm Definitions</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see #getTestscripts()
+ * @see #getFsmDefinitions()
* @generated
* @ordered
*/
- protected EList<Testscript> testscripts;
+ protected EList<FsmDefinition> fsmDefinitions;
+
+ /**
+ * The cached value of the '{@link #getRandomTests() <em>Random Tests</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRandomTests()
+ * @generated
+ * @ordered
+ */
+ protected EList<RandomTest> randomTests;
/**
* <!-- begin-user-doc -->
@@ -71,13 +83,27 @@ public class ModelImpl extends MinimalEObjectImpl.Container implements Model
* <!-- end-user-doc -->
* @generated
*/
- public EList<Testscript> getTestscripts()
+ public EList<FsmDefinition> getFsmDefinitions()
{
- if (testscripts == null)
+ if (fsmDefinitions == null)
{
- testscripts = new EObjectContainmentEList<Testscript>(Testscript.class, this, FsmtestPackage.MODEL__TESTSCRIPTS);
+ fsmDefinitions = new EObjectContainmentEList<FsmDefinition>(FsmDefinition.class, this, FsmtestPackage.MODEL__FSM_DEFINITIONS);
}
- return testscripts;
+ return fsmDefinitions;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<RandomTest> getRandomTests()
+ {
+ if (randomTests == null)
+ {
+ randomTests = new EObjectContainmentEList<RandomTest>(RandomTest.class, this, FsmtestPackage.MODEL__RANDOM_TESTS);
+ }
+ return randomTests;
}
/**
@@ -90,8 +116,10 @@ public class ModelImpl extends MinimalEObjectImpl.Container implements Model
{
switch (featureID)
{
- case FsmtestPackage.MODEL__TESTSCRIPTS:
- return ((InternalEList<?>)getTestscripts()).basicRemove(otherEnd, msgs);
+ case FsmtestPackage.MODEL__FSM_DEFINITIONS:
+ return ((InternalEList<?>)getFsmDefinitions()).basicRemove(otherEnd, msgs);
+ case FsmtestPackage.MODEL__RANDOM_TESTS:
+ return ((InternalEList<?>)getRandomTests()).basicRemove(otherEnd, msgs);
}
return super.eInverseRemove(otherEnd, featureID, msgs);
}
@@ -106,8 +134,10 @@ public class ModelImpl extends MinimalEObjectImpl.Container implements Model
{
switch (featureID)
{
- case FsmtestPackage.MODEL__TESTSCRIPTS:
- return getTestscripts();
+ case FsmtestPackage.MODEL__FSM_DEFINITIONS:
+ return getFsmDefinitions();
+ case FsmtestPackage.MODEL__RANDOM_TESTS:
+ return getRandomTests();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -123,9 +153,13 @@ public class ModelImpl extends MinimalEObjectImpl.Container implements Model
{
switch (featureID)
{
- case FsmtestPackage.MODEL__TESTSCRIPTS:
- getTestscripts().clear();
- getTestscripts().addAll((Collection<? extends Testscript>)newValue);
+ case FsmtestPackage.MODEL__FSM_DEFINITIONS:
+ getFsmDefinitions().clear();
+ getFsmDefinitions().addAll((Collection<? extends FsmDefinition>)newValue);
+ return;
+ case FsmtestPackage.MODEL__RANDOM_TESTS:
+ getRandomTests().clear();
+ getRandomTests().addAll((Collection<? extends RandomTest>)newValue);
return;
}
super.eSet(featureID, newValue);
@@ -141,8 +175,11 @@ public class ModelImpl extends MinimalEObjectImpl.Container implements Model
{
switch (featureID)
{
- case FsmtestPackage.MODEL__TESTSCRIPTS:
- getTestscripts().clear();
+ case FsmtestPackage.MODEL__FSM_DEFINITIONS:
+ getFsmDefinitions().clear();
+ return;
+ case FsmtestPackage.MODEL__RANDOM_TESTS:
+ getRandomTests().clear();
return;
}
super.eUnset(featureID);
@@ -158,8 +195,10 @@ public class ModelImpl extends MinimalEObjectImpl.Container implements Model
{
switch (featureID)
{
- case FsmtestPackage.MODEL__TESTSCRIPTS:
- return testscripts != null && !testscripts.isEmpty();
+ case FsmtestPackage.MODEL__FSM_DEFINITIONS:
+ return fsmDefinitions != null && !fsmDefinitions.isEmpty();
+ case FsmtestPackage.MODEL__RANDOM_TESTS:
+ return randomTests != null && !randomTests.isEmpty();
}
return super.eIsSet(featureID);
}
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/PostconditionDeclarationImpl.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/PostconditionDeclarationImpl.java
new file mode 100644
index 000000000..78d93af87
--- /dev/null
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/PostconditionDeclarationImpl.java
@@ -0,0 +1,194 @@
+/**
+ */
+package org.eclipse.etrice.generator.fsmtest.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.etrice.generator.fsmtest.FsmtestPackage;
+import org.eclipse.etrice.generator.fsmtest.PostconditionDeclaration;
+import org.eclipse.etrice.generator.fsmtest.SignalDeclaration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Postcondition Declaration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.PostconditionDeclarationImpl#getSignal <em>Signal</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PostconditionDeclarationImpl extends MinimalEObjectImpl.Container implements PostconditionDeclaration
+{
+ /**
+ * The cached value of the '{@link #getSignal() <em>Signal</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSignal()
+ * @generated
+ * @ordered
+ */
+ protected SignalDeclaration signal;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PostconditionDeclarationImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return FsmtestPackage.Literals.POSTCONDITION_DECLARATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SignalDeclaration getSignal()
+ {
+ return signal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSignal(SignalDeclaration newSignal, NotificationChain msgs)
+ {
+ SignalDeclaration oldSignal = signal;
+ signal = newSignal;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FsmtestPackage.POSTCONDITION_DECLARATION__SIGNAL, oldSignal, newSignal);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSignal(SignalDeclaration newSignal)
+ {
+ if (newSignal != signal)
+ {
+ NotificationChain msgs = null;
+ if (signal != null)
+ msgs = ((InternalEObject)signal).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FsmtestPackage.POSTCONDITION_DECLARATION__SIGNAL, null, msgs);
+ if (newSignal != null)
+ msgs = ((InternalEObject)newSignal).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FsmtestPackage.POSTCONDITION_DECLARATION__SIGNAL, null, msgs);
+ msgs = basicSetSignal(newSignal, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.POSTCONDITION_DECLARATION__SIGNAL, newSignal, newSignal));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.POSTCONDITION_DECLARATION__SIGNAL:
+ return basicSetSignal(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.POSTCONDITION_DECLARATION__SIGNAL:
+ return getSignal();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.POSTCONDITION_DECLARATION__SIGNAL:
+ setSignal((SignalDeclaration)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.POSTCONDITION_DECLARATION__SIGNAL:
+ setSignal((SignalDeclaration)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.POSTCONDITION_DECLARATION__SIGNAL:
+ return signal != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //PostconditionDeclarationImpl
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/PreconditionDeclarationImpl.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/PreconditionDeclarationImpl.java
new file mode 100644
index 000000000..4c9c8eb2e
--- /dev/null
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/PreconditionDeclarationImpl.java
@@ -0,0 +1,194 @@
+/**
+ */
+package org.eclipse.etrice.generator.fsmtest.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.etrice.generator.fsmtest.FsmtestPackage;
+import org.eclipse.etrice.generator.fsmtest.PreconditionDeclaration;
+import org.eclipse.etrice.generator.fsmtest.SignalDeclaration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Precondition Declaration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.PreconditionDeclarationImpl#getSignal <em>Signal</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PreconditionDeclarationImpl extends MinimalEObjectImpl.Container implements PreconditionDeclaration
+{
+ /**
+ * The cached value of the '{@link #getSignal() <em>Signal</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSignal()
+ * @generated
+ * @ordered
+ */
+ protected SignalDeclaration signal;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PreconditionDeclarationImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return FsmtestPackage.Literals.PRECONDITION_DECLARATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SignalDeclaration getSignal()
+ {
+ return signal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSignal(SignalDeclaration newSignal, NotificationChain msgs)
+ {
+ SignalDeclaration oldSignal = signal;
+ signal = newSignal;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FsmtestPackage.PRECONDITION_DECLARATION__SIGNAL, oldSignal, newSignal);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSignal(SignalDeclaration newSignal)
+ {
+ if (newSignal != signal)
+ {
+ NotificationChain msgs = null;
+ if (signal != null)
+ msgs = ((InternalEObject)signal).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FsmtestPackage.PRECONDITION_DECLARATION__SIGNAL, null, msgs);
+ if (newSignal != null)
+ msgs = ((InternalEObject)newSignal).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FsmtestPackage.PRECONDITION_DECLARATION__SIGNAL, null, msgs);
+ msgs = basicSetSignal(newSignal, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.PRECONDITION_DECLARATION__SIGNAL, newSignal, newSignal));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.PRECONDITION_DECLARATION__SIGNAL:
+ return basicSetSignal(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.PRECONDITION_DECLARATION__SIGNAL:
+ return getSignal();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.PRECONDITION_DECLARATION__SIGNAL:
+ setSignal((SignalDeclaration)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.PRECONDITION_DECLARATION__SIGNAL:
+ setSignal((SignalDeclaration)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.PRECONDITION_DECLARATION__SIGNAL:
+ return signal != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //PreconditionDeclarationImpl
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/RandomTestImpl.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/RandomTestImpl.java
new file mode 100644
index 000000000..999e9c1c9
--- /dev/null
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/RandomTestImpl.java
@@ -0,0 +1,403 @@
+/**
+ */
+package org.eclipse.etrice.generator.fsmtest.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.etrice.generator.fsmtest.FsmDefinition;
+import org.eclipse.etrice.generator.fsmtest.FsmtestPackage;
+import org.eclipse.etrice.generator.fsmtest.LoopsDeclaration;
+import org.eclipse.etrice.generator.fsmtest.RandomTest;
+import org.eclipse.etrice.generator.fsmtest.SeedDeclaration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Random Test</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.RandomTestImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.RandomTestImpl#getFsm <em>Fsm</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.RandomTestImpl#getLoopsDeclaration <em>Loops Declaration</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.RandomTestImpl#getSeedDeclaration <em>Seed Declaration</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RandomTestImpl extends MinimalEObjectImpl.Container implements RandomTest
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getFsm() <em>Fsm</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFsm()
+ * @generated
+ * @ordered
+ */
+ protected FsmDefinition fsm;
+
+ /**
+ * The cached value of the '{@link #getLoopsDeclaration() <em>Loops Declaration</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLoopsDeclaration()
+ * @generated
+ * @ordered
+ */
+ protected LoopsDeclaration loopsDeclaration;
+
+ /**
+ * The cached value of the '{@link #getSeedDeclaration() <em>Seed Declaration</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSeedDeclaration()
+ * @generated
+ * @ordered
+ */
+ protected SeedDeclaration seedDeclaration;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RandomTestImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return FsmtestPackage.Literals.RANDOM_TEST;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.RANDOM_TEST__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FsmDefinition getFsm()
+ {
+ if (fsm != null && fsm.eIsProxy())
+ {
+ InternalEObject oldFsm = (InternalEObject)fsm;
+ fsm = (FsmDefinition)eResolveProxy(oldFsm);
+ if (fsm != oldFsm)
+ {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, FsmtestPackage.RANDOM_TEST__FSM, oldFsm, fsm));
+ }
+ }
+ return fsm;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FsmDefinition basicGetFsm()
+ {
+ return fsm;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFsm(FsmDefinition newFsm)
+ {
+ FsmDefinition oldFsm = fsm;
+ fsm = newFsm;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.RANDOM_TEST__FSM, oldFsm, fsm));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LoopsDeclaration getLoopsDeclaration()
+ {
+ return loopsDeclaration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetLoopsDeclaration(LoopsDeclaration newLoopsDeclaration, NotificationChain msgs)
+ {
+ LoopsDeclaration oldLoopsDeclaration = loopsDeclaration;
+ loopsDeclaration = newLoopsDeclaration;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FsmtestPackage.RANDOM_TEST__LOOPS_DECLARATION, oldLoopsDeclaration, newLoopsDeclaration);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLoopsDeclaration(LoopsDeclaration newLoopsDeclaration)
+ {
+ if (newLoopsDeclaration != loopsDeclaration)
+ {
+ NotificationChain msgs = null;
+ if (loopsDeclaration != null)
+ msgs = ((InternalEObject)loopsDeclaration).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FsmtestPackage.RANDOM_TEST__LOOPS_DECLARATION, null, msgs);
+ if (newLoopsDeclaration != null)
+ msgs = ((InternalEObject)newLoopsDeclaration).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FsmtestPackage.RANDOM_TEST__LOOPS_DECLARATION, null, msgs);
+ msgs = basicSetLoopsDeclaration(newLoopsDeclaration, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.RANDOM_TEST__LOOPS_DECLARATION, newLoopsDeclaration, newLoopsDeclaration));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SeedDeclaration getSeedDeclaration()
+ {
+ return seedDeclaration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSeedDeclaration(SeedDeclaration newSeedDeclaration, NotificationChain msgs)
+ {
+ SeedDeclaration oldSeedDeclaration = seedDeclaration;
+ seedDeclaration = newSeedDeclaration;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FsmtestPackage.RANDOM_TEST__SEED_DECLARATION, oldSeedDeclaration, newSeedDeclaration);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSeedDeclaration(SeedDeclaration newSeedDeclaration)
+ {
+ if (newSeedDeclaration != seedDeclaration)
+ {
+ NotificationChain msgs = null;
+ if (seedDeclaration != null)
+ msgs = ((InternalEObject)seedDeclaration).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FsmtestPackage.RANDOM_TEST__SEED_DECLARATION, null, msgs);
+ if (newSeedDeclaration != null)
+ msgs = ((InternalEObject)newSeedDeclaration).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FsmtestPackage.RANDOM_TEST__SEED_DECLARATION, null, msgs);
+ msgs = basicSetSeedDeclaration(newSeedDeclaration, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.RANDOM_TEST__SEED_DECLARATION, newSeedDeclaration, newSeedDeclaration));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.RANDOM_TEST__LOOPS_DECLARATION:
+ return basicSetLoopsDeclaration(null, msgs);
+ case FsmtestPackage.RANDOM_TEST__SEED_DECLARATION:
+ return basicSetSeedDeclaration(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.RANDOM_TEST__NAME:
+ return getName();
+ case FsmtestPackage.RANDOM_TEST__FSM:
+ if (resolve) return getFsm();
+ return basicGetFsm();
+ case FsmtestPackage.RANDOM_TEST__LOOPS_DECLARATION:
+ return getLoopsDeclaration();
+ case FsmtestPackage.RANDOM_TEST__SEED_DECLARATION:
+ return getSeedDeclaration();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.RANDOM_TEST__NAME:
+ setName((String)newValue);
+ return;
+ case FsmtestPackage.RANDOM_TEST__FSM:
+ setFsm((FsmDefinition)newValue);
+ return;
+ case FsmtestPackage.RANDOM_TEST__LOOPS_DECLARATION:
+ setLoopsDeclaration((LoopsDeclaration)newValue);
+ return;
+ case FsmtestPackage.RANDOM_TEST__SEED_DECLARATION:
+ setSeedDeclaration((SeedDeclaration)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.RANDOM_TEST__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case FsmtestPackage.RANDOM_TEST__FSM:
+ setFsm((FsmDefinition)null);
+ return;
+ case FsmtestPackage.RANDOM_TEST__LOOPS_DECLARATION:
+ setLoopsDeclaration((LoopsDeclaration)null);
+ return;
+ case FsmtestPackage.RANDOM_TEST__SEED_DECLARATION:
+ setSeedDeclaration((SeedDeclaration)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.RANDOM_TEST__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case FsmtestPackage.RANDOM_TEST__FSM:
+ return fsm != null;
+ case FsmtestPackage.RANDOM_TEST__LOOPS_DECLARATION:
+ return loopsDeclaration != null;
+ case FsmtestPackage.RANDOM_TEST__SEED_DECLARATION:
+ return seedDeclaration != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //RandomTestImpl
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/SourceDeclarationImpl.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/SourceDeclarationImpl.java
deleted file mode 100644
index aecce3237..000000000
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/SourceDeclarationImpl.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/**
- */
-package org.eclipse.etrice.generator.fsmtest.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.etrice.generator.fsmtest.FsmtestPackage;
-import org.eclipse.etrice.generator.fsmtest.SourceDeclaration;
-import org.eclipse.etrice.generator.fsmtest.State;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Source Declaration</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.SourceDeclarationImpl#getRef <em>Ref</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class SourceDeclarationImpl extends MinimalEObjectImpl.Container implements SourceDeclaration
-{
- /**
- * The cached value of the '{@link #getRef() <em>Ref</em>}' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getRef()
- * @generated
- * @ordered
- */
- protected State ref;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected SourceDeclarationImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass()
- {
- return FsmtestPackage.Literals.SOURCE_DECLARATION;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public State getRef()
- {
- if (ref != null && ref.eIsProxy())
- {
- InternalEObject oldRef = (InternalEObject)ref;
- ref = (State)eResolveProxy(oldRef);
- if (ref != oldRef)
- {
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.RESOLVE, FsmtestPackage.SOURCE_DECLARATION__REF, oldRef, ref));
- }
- }
- return ref;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public State basicGetRef()
- {
- return ref;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setRef(State newRef)
- {
- State oldRef = ref;
- ref = newRef;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.SOURCE_DECLARATION__REF, oldRef, ref));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType)
- {
- switch (featureID)
- {
- case FsmtestPackage.SOURCE_DECLARATION__REF:
- if (resolve) return getRef();
- return basicGetRef();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eSet(int featureID, Object newValue)
- {
- switch (featureID)
- {
- case FsmtestPackage.SOURCE_DECLARATION__REF:
- setRef((State)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID)
- {
- switch (featureID)
- {
- case FsmtestPackage.SOURCE_DECLARATION__REF:
- setRef((State)null);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID)
- {
- switch (featureID)
- {
- case FsmtestPackage.SOURCE_DECLARATION__REF:
- return ref != null;
- }
- return super.eIsSet(featureID);
- }
-
-} //SourceDeclarationImpl
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/StateDeclarationImpl.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/StateDeclarationImpl.java
index bd37ffeb8..b7b4f7cfe 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/StateDeclarationImpl.java
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/StateDeclarationImpl.java
@@ -4,6 +4,7 @@ package org.eclipse.etrice.generator.fsmtest.impl;
import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.common.util.EList;
@@ -11,14 +12,16 @@ import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import org.eclipse.emf.ecore.util.EObjectContainmentEList;
import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.etrice.generator.fsmtest.ConditionDeclaration;
import org.eclipse.etrice.generator.fsmtest.FsmtestPackage;
-import org.eclipse.etrice.generator.fsmtest.State;
import org.eclipse.etrice.generator.fsmtest.StateDeclaration;
+import org.eclipse.etrice.generator.fsmtest.TransitionDeclaration;
/**
* <!-- begin-user-doc -->
@@ -27,7 +30,9 @@ import org.eclipse.etrice.generator.fsmtest.StateDeclaration;
* <p>
* The following features are implemented:
* <ul>
- * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.StateDeclarationImpl#getStates <em>States</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.StateDeclarationImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.StateDeclarationImpl#getCondition <em>Condition</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.StateDeclarationImpl#getTransitions <em>Transitions</em>}</li>
* </ul>
* </p>
*
@@ -36,14 +41,44 @@ import org.eclipse.etrice.generator.fsmtest.StateDeclaration;
public class StateDeclarationImpl extends MinimalEObjectImpl.Container implements StateDeclaration
{
/**
- * The cached value of the '{@link #getStates() <em>States</em>}' containment reference list.
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see #getStates()
+ * @see #getName()
* @generated
* @ordered
*/
- protected EList<State> states;
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getCondition() <em>Condition</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCondition()
+ * @generated
+ * @ordered
+ */
+ protected EList<ConditionDeclaration> condition;
+
+ /**
+ * The cached value of the '{@link #getTransitions() <em>Transitions</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTransitions()
+ * @generated
+ * @ordered
+ */
+ protected EList<TransitionDeclaration> transitions;
/**
* <!-- begin-user-doc -->
@@ -71,13 +106,50 @@ public class StateDeclarationImpl extends MinimalEObjectImpl.Container implement
* <!-- end-user-doc -->
* @generated
*/
- public EList<State> getStates()
+ public String getName()
{
- if (states == null)
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.STATE_DECLARATION__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ConditionDeclaration> getCondition()
+ {
+ if (condition == null)
+ {
+ condition = new EObjectContainmentEList<ConditionDeclaration>(ConditionDeclaration.class, this, FsmtestPackage.STATE_DECLARATION__CONDITION);
+ }
+ return condition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TransitionDeclaration> getTransitions()
+ {
+ if (transitions == null)
{
- states = new EObjectContainmentEList<State>(State.class, this, FsmtestPackage.STATE_DECLARATION__STATES);
+ transitions = new EObjectContainmentEList<TransitionDeclaration>(TransitionDeclaration.class, this, FsmtestPackage.STATE_DECLARATION__TRANSITIONS);
}
- return states;
+ return transitions;
}
/**
@@ -90,8 +162,10 @@ public class StateDeclarationImpl extends MinimalEObjectImpl.Container implement
{
switch (featureID)
{
- case FsmtestPackage.STATE_DECLARATION__STATES:
- return ((InternalEList<?>)getStates()).basicRemove(otherEnd, msgs);
+ case FsmtestPackage.STATE_DECLARATION__CONDITION:
+ return ((InternalEList<?>)getCondition()).basicRemove(otherEnd, msgs);
+ case FsmtestPackage.STATE_DECLARATION__TRANSITIONS:
+ return ((InternalEList<?>)getTransitions()).basicRemove(otherEnd, msgs);
}
return super.eInverseRemove(otherEnd, featureID, msgs);
}
@@ -106,8 +180,12 @@ public class StateDeclarationImpl extends MinimalEObjectImpl.Container implement
{
switch (featureID)
{
- case FsmtestPackage.STATE_DECLARATION__STATES:
- return getStates();
+ case FsmtestPackage.STATE_DECLARATION__NAME:
+ return getName();
+ case FsmtestPackage.STATE_DECLARATION__CONDITION:
+ return getCondition();
+ case FsmtestPackage.STATE_DECLARATION__TRANSITIONS:
+ return getTransitions();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -123,9 +201,16 @@ public class StateDeclarationImpl extends MinimalEObjectImpl.Container implement
{
switch (featureID)
{
- case FsmtestPackage.STATE_DECLARATION__STATES:
- getStates().clear();
- getStates().addAll((Collection<? extends State>)newValue);
+ case FsmtestPackage.STATE_DECLARATION__NAME:
+ setName((String)newValue);
+ return;
+ case FsmtestPackage.STATE_DECLARATION__CONDITION:
+ getCondition().clear();
+ getCondition().addAll((Collection<? extends ConditionDeclaration>)newValue);
+ return;
+ case FsmtestPackage.STATE_DECLARATION__TRANSITIONS:
+ getTransitions().clear();
+ getTransitions().addAll((Collection<? extends TransitionDeclaration>)newValue);
return;
}
super.eSet(featureID, newValue);
@@ -141,8 +226,14 @@ public class StateDeclarationImpl extends MinimalEObjectImpl.Container implement
{
switch (featureID)
{
- case FsmtestPackage.STATE_DECLARATION__STATES:
- getStates().clear();
+ case FsmtestPackage.STATE_DECLARATION__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case FsmtestPackage.STATE_DECLARATION__CONDITION:
+ getCondition().clear();
+ return;
+ case FsmtestPackage.STATE_DECLARATION__TRANSITIONS:
+ getTransitions().clear();
return;
}
super.eUnset(featureID);
@@ -158,10 +249,31 @@ public class StateDeclarationImpl extends MinimalEObjectImpl.Container implement
{
switch (featureID)
{
- case FsmtestPackage.STATE_DECLARATION__STATES:
- return states != null && !states.isEmpty();
+ case FsmtestPackage.STATE_DECLARATION__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case FsmtestPackage.STATE_DECLARATION__CONDITION:
+ return condition != null && !condition.isEmpty();
+ case FsmtestPackage.STATE_DECLARATION__TRANSITIONS:
+ return transitions != null && !transitions.isEmpty();
}
return super.eIsSet(featureID);
}
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
} //StateDeclarationImpl
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/TestscriptImpl.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/TestscriptImpl.java
deleted file mode 100644
index e4e9b4ef5..000000000
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/TestscriptImpl.java
+++ /dev/null
@@ -1,528 +0,0 @@
-/**
- */
-package org.eclipse.etrice.generator.fsmtest.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.etrice.generator.fsmtest.FsmtestPackage;
-import org.eclipse.etrice.generator.fsmtest.InitialDeclaration;
-import org.eclipse.etrice.generator.fsmtest.LoopsDeclaration;
-import org.eclipse.etrice.generator.fsmtest.SeedDeclaration;
-import org.eclipse.etrice.generator.fsmtest.StateDeclaration;
-import org.eclipse.etrice.generator.fsmtest.Testscript;
-import org.eclipse.etrice.generator.fsmtest.TransitionDeclaration;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Testscript</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.TestscriptImpl#getName <em>Name</em>}</li>
- * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.TestscriptImpl#getStateDeclaration <em>State Declaration</em>}</li>
- * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.TestscriptImpl#getInitialDeclaration <em>Initial Declaration</em>}</li>
- * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.TestscriptImpl#getLoopsDeclaration <em>Loops Declaration</em>}</li>
- * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.TestscriptImpl#getSeedDeclaration <em>Seed Declaration</em>}</li>
- * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.TestscriptImpl#getTransitionDeclarations <em>Transition Declarations</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class TestscriptImpl extends MinimalEObjectImpl.Container implements Testscript
-{
- /**
- * The default value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected static final String NAME_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected String name = NAME_EDEFAULT;
-
- /**
- * The cached value of the '{@link #getStateDeclaration() <em>State Declaration</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getStateDeclaration()
- * @generated
- * @ordered
- */
- protected StateDeclaration stateDeclaration;
-
- /**
- * The cached value of the '{@link #getInitialDeclaration() <em>Initial Declaration</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getInitialDeclaration()
- * @generated
- * @ordered
- */
- protected InitialDeclaration initialDeclaration;
-
- /**
- * The cached value of the '{@link #getLoopsDeclaration() <em>Loops Declaration</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getLoopsDeclaration()
- * @generated
- * @ordered
- */
- protected LoopsDeclaration loopsDeclaration;
-
- /**
- * The cached value of the '{@link #getSeedDeclaration() <em>Seed Declaration</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getSeedDeclaration()
- * @generated
- * @ordered
- */
- protected SeedDeclaration seedDeclaration;
-
- /**
- * The cached value of the '{@link #getTransitionDeclarations() <em>Transition Declarations</em>}' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getTransitionDeclarations()
- * @generated
- * @ordered
- */
- protected EList<TransitionDeclaration> transitionDeclarations;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected TestscriptImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass()
- {
- return FsmtestPackage.Literals.TESTSCRIPT;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getName()
- {
- return name;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setName(String newName)
- {
- String oldName = name;
- name = newName;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.TESTSCRIPT__NAME, oldName, name));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public StateDeclaration getStateDeclaration()
- {
- return stateDeclaration;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetStateDeclaration(StateDeclaration newStateDeclaration, NotificationChain msgs)
- {
- StateDeclaration oldStateDeclaration = stateDeclaration;
- stateDeclaration = newStateDeclaration;
- if (eNotificationRequired())
- {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FsmtestPackage.TESTSCRIPT__STATE_DECLARATION, oldStateDeclaration, newStateDeclaration);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setStateDeclaration(StateDeclaration newStateDeclaration)
- {
- if (newStateDeclaration != stateDeclaration)
- {
- NotificationChain msgs = null;
- if (stateDeclaration != null)
- msgs = ((InternalEObject)stateDeclaration).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FsmtestPackage.TESTSCRIPT__STATE_DECLARATION, null, msgs);
- if (newStateDeclaration != null)
- msgs = ((InternalEObject)newStateDeclaration).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FsmtestPackage.TESTSCRIPT__STATE_DECLARATION, null, msgs);
- msgs = basicSetStateDeclaration(newStateDeclaration, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.TESTSCRIPT__STATE_DECLARATION, newStateDeclaration, newStateDeclaration));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public InitialDeclaration getInitialDeclaration()
- {
- return initialDeclaration;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetInitialDeclaration(InitialDeclaration newInitialDeclaration, NotificationChain msgs)
- {
- InitialDeclaration oldInitialDeclaration = initialDeclaration;
- initialDeclaration = newInitialDeclaration;
- if (eNotificationRequired())
- {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FsmtestPackage.TESTSCRIPT__INITIAL_DECLARATION, oldInitialDeclaration, newInitialDeclaration);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setInitialDeclaration(InitialDeclaration newInitialDeclaration)
- {
- if (newInitialDeclaration != initialDeclaration)
- {
- NotificationChain msgs = null;
- if (initialDeclaration != null)
- msgs = ((InternalEObject)initialDeclaration).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FsmtestPackage.TESTSCRIPT__INITIAL_DECLARATION, null, msgs);
- if (newInitialDeclaration != null)
- msgs = ((InternalEObject)newInitialDeclaration).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FsmtestPackage.TESTSCRIPT__INITIAL_DECLARATION, null, msgs);
- msgs = basicSetInitialDeclaration(newInitialDeclaration, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.TESTSCRIPT__INITIAL_DECLARATION, newInitialDeclaration, newInitialDeclaration));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public LoopsDeclaration getLoopsDeclaration()
- {
- return loopsDeclaration;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetLoopsDeclaration(LoopsDeclaration newLoopsDeclaration, NotificationChain msgs)
- {
- LoopsDeclaration oldLoopsDeclaration = loopsDeclaration;
- loopsDeclaration = newLoopsDeclaration;
- if (eNotificationRequired())
- {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FsmtestPackage.TESTSCRIPT__LOOPS_DECLARATION, oldLoopsDeclaration, newLoopsDeclaration);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setLoopsDeclaration(LoopsDeclaration newLoopsDeclaration)
- {
- if (newLoopsDeclaration != loopsDeclaration)
- {
- NotificationChain msgs = null;
- if (loopsDeclaration != null)
- msgs = ((InternalEObject)loopsDeclaration).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FsmtestPackage.TESTSCRIPT__LOOPS_DECLARATION, null, msgs);
- if (newLoopsDeclaration != null)
- msgs = ((InternalEObject)newLoopsDeclaration).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FsmtestPackage.TESTSCRIPT__LOOPS_DECLARATION, null, msgs);
- msgs = basicSetLoopsDeclaration(newLoopsDeclaration, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.TESTSCRIPT__LOOPS_DECLARATION, newLoopsDeclaration, newLoopsDeclaration));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public SeedDeclaration getSeedDeclaration()
- {
- return seedDeclaration;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetSeedDeclaration(SeedDeclaration newSeedDeclaration, NotificationChain msgs)
- {
- SeedDeclaration oldSeedDeclaration = seedDeclaration;
- seedDeclaration = newSeedDeclaration;
- if (eNotificationRequired())
- {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FsmtestPackage.TESTSCRIPT__SEED_DECLARATION, oldSeedDeclaration, newSeedDeclaration);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setSeedDeclaration(SeedDeclaration newSeedDeclaration)
- {
- if (newSeedDeclaration != seedDeclaration)
- {
- NotificationChain msgs = null;
- if (seedDeclaration != null)
- msgs = ((InternalEObject)seedDeclaration).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FsmtestPackage.TESTSCRIPT__SEED_DECLARATION, null, msgs);
- if (newSeedDeclaration != null)
- msgs = ((InternalEObject)newSeedDeclaration).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FsmtestPackage.TESTSCRIPT__SEED_DECLARATION, null, msgs);
- msgs = basicSetSeedDeclaration(newSeedDeclaration, msgs);
- if (msgs != null) msgs.dispatch();
- }
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.TESTSCRIPT__SEED_DECLARATION, newSeedDeclaration, newSeedDeclaration));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EList<TransitionDeclaration> getTransitionDeclarations()
- {
- if (transitionDeclarations == null)
- {
- transitionDeclarations = new EObjectContainmentEList<TransitionDeclaration>(TransitionDeclaration.class, this, FsmtestPackage.TESTSCRIPT__TRANSITION_DECLARATIONS);
- }
- return transitionDeclarations;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
- {
- switch (featureID)
- {
- case FsmtestPackage.TESTSCRIPT__STATE_DECLARATION:
- return basicSetStateDeclaration(null, msgs);
- case FsmtestPackage.TESTSCRIPT__INITIAL_DECLARATION:
- return basicSetInitialDeclaration(null, msgs);
- case FsmtestPackage.TESTSCRIPT__LOOPS_DECLARATION:
- return basicSetLoopsDeclaration(null, msgs);
- case FsmtestPackage.TESTSCRIPT__SEED_DECLARATION:
- return basicSetSeedDeclaration(null, msgs);
- case FsmtestPackage.TESTSCRIPT__TRANSITION_DECLARATIONS:
- return ((InternalEList<?>)getTransitionDeclarations()).basicRemove(otherEnd, msgs);
- }
- return super.eInverseRemove(otherEnd, featureID, msgs);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType)
- {
- switch (featureID)
- {
- case FsmtestPackage.TESTSCRIPT__NAME:
- return getName();
- case FsmtestPackage.TESTSCRIPT__STATE_DECLARATION:
- return getStateDeclaration();
- case FsmtestPackage.TESTSCRIPT__INITIAL_DECLARATION:
- return getInitialDeclaration();
- case FsmtestPackage.TESTSCRIPT__LOOPS_DECLARATION:
- return getLoopsDeclaration();
- case FsmtestPackage.TESTSCRIPT__SEED_DECLARATION:
- return getSeedDeclaration();
- case FsmtestPackage.TESTSCRIPT__TRANSITION_DECLARATIONS:
- return getTransitionDeclarations();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @SuppressWarnings("unchecked")
- @Override
- public void eSet(int featureID, Object newValue)
- {
- switch (featureID)
- {
- case FsmtestPackage.TESTSCRIPT__NAME:
- setName((String)newValue);
- return;
- case FsmtestPackage.TESTSCRIPT__STATE_DECLARATION:
- setStateDeclaration((StateDeclaration)newValue);
- return;
- case FsmtestPackage.TESTSCRIPT__INITIAL_DECLARATION:
- setInitialDeclaration((InitialDeclaration)newValue);
- return;
- case FsmtestPackage.TESTSCRIPT__LOOPS_DECLARATION:
- setLoopsDeclaration((LoopsDeclaration)newValue);
- return;
- case FsmtestPackage.TESTSCRIPT__SEED_DECLARATION:
- setSeedDeclaration((SeedDeclaration)newValue);
- return;
- case FsmtestPackage.TESTSCRIPT__TRANSITION_DECLARATIONS:
- getTransitionDeclarations().clear();
- getTransitionDeclarations().addAll((Collection<? extends TransitionDeclaration>)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID)
- {
- switch (featureID)
- {
- case FsmtestPackage.TESTSCRIPT__NAME:
- setName(NAME_EDEFAULT);
- return;
- case FsmtestPackage.TESTSCRIPT__STATE_DECLARATION:
- setStateDeclaration((StateDeclaration)null);
- return;
- case FsmtestPackage.TESTSCRIPT__INITIAL_DECLARATION:
- setInitialDeclaration((InitialDeclaration)null);
- return;
- case FsmtestPackage.TESTSCRIPT__LOOPS_DECLARATION:
- setLoopsDeclaration((LoopsDeclaration)null);
- return;
- case FsmtestPackage.TESTSCRIPT__SEED_DECLARATION:
- setSeedDeclaration((SeedDeclaration)null);
- return;
- case FsmtestPackage.TESTSCRIPT__TRANSITION_DECLARATIONS:
- getTransitionDeclarations().clear();
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID)
- {
- switch (featureID)
- {
- case FsmtestPackage.TESTSCRIPT__NAME:
- return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
- case FsmtestPackage.TESTSCRIPT__STATE_DECLARATION:
- return stateDeclaration != null;
- case FsmtestPackage.TESTSCRIPT__INITIAL_DECLARATION:
- return initialDeclaration != null;
- case FsmtestPackage.TESTSCRIPT__LOOPS_DECLARATION:
- return loopsDeclaration != null;
- case FsmtestPackage.TESTSCRIPT__SEED_DECLARATION:
- return seedDeclaration != null;
- case FsmtestPackage.TESTSCRIPT__TRANSITION_DECLARATIONS:
- return transitionDeclarations != null && !transitionDeclarations.isEmpty();
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public String toString()
- {
- if (eIsProxy()) return super.toString();
-
- StringBuffer result = new StringBuffer(super.toString());
- result.append(" (name: ");
- result.append(name);
- result.append(')');
- return result.toString();
- }
-
-} //TestscriptImpl
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/TransitionDeclarationImpl.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/TransitionDeclarationImpl.java
index 81ca669b7..8d6c82a6c 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/TransitionDeclarationImpl.java
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/TransitionDeclarationImpl.java
@@ -18,10 +18,12 @@ import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import org.eclipse.emf.ecore.util.EObjectContainmentEList;
import org.eclipse.emf.ecore.util.InternalEList;
-import org.eclipse.etrice.generator.fsmtest.DestinationDeclaration;
import org.eclipse.etrice.generator.fsmtest.FsmtestPackage;
+import org.eclipse.etrice.generator.fsmtest.GuardDeclaration;
+import org.eclipse.etrice.generator.fsmtest.PostconditionDeclaration;
+import org.eclipse.etrice.generator.fsmtest.PreconditionDeclaration;
import org.eclipse.etrice.generator.fsmtest.SignalDeclaration;
-import org.eclipse.etrice.generator.fsmtest.SourceDeclaration;
+import org.eclipse.etrice.generator.fsmtest.StateDeclaration;
import org.eclipse.etrice.generator.fsmtest.TransitionDeclaration;
/**
@@ -31,10 +33,12 @@ import org.eclipse.etrice.generator.fsmtest.TransitionDeclaration;
* <p>
* The following features are implemented:
* <ul>
- * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.TransitionDeclarationImpl#getSource <em>Source</em>}</li>
- * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.TransitionDeclarationImpl#getIn <em>In</em>}</li>
- * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.TransitionDeclarationImpl#getOut <em>Out</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.TransitionDeclarationImpl#getName <em>Name</em>}</li>
* <li>{@link org.eclipse.etrice.generator.fsmtest.impl.TransitionDeclarationImpl#getDestination <em>Destination</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.TransitionDeclarationImpl#getTrigger <em>Trigger</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.TransitionDeclarationImpl#getTriggers <em>Triggers</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.TransitionDeclarationImpl#getPrecondition <em>Precondition</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.TransitionDeclarationImpl#getPostcondition <em>Postcondition</em>}</li>
* </ul>
* </p>
*
@@ -43,44 +47,74 @@ import org.eclipse.etrice.generator.fsmtest.TransitionDeclaration;
public class TransitionDeclarationImpl extends MinimalEObjectImpl.Container implements TransitionDeclaration
{
/**
- * The cached value of the '{@link #getSource() <em>Source</em>}' containment reference.
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see #getSource()
+ * @see #getName()
* @generated
* @ordered
*/
- protected SourceDeclaration source;
+ protected static final String NAME_EDEFAULT = null;
/**
- * The cached value of the '{@link #getIn() <em>In</em>}' containment reference list.
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see #getIn()
+ * @see #getName()
* @generated
* @ordered
*/
- protected EList<SignalDeclaration> in;
+ protected String name = NAME_EDEFAULT;
/**
- * The cached value of the '{@link #getOut() <em>Out</em>}' containment reference list.
+ * The cached value of the '{@link #getDestination() <em>Destination</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see #getOut()
+ * @see #getDestination()
* @generated
* @ordered
*/
- protected EList<SignalDeclaration> out;
+ protected StateDeclaration destination;
/**
- * The cached value of the '{@link #getDestination() <em>Destination</em>}' containment reference.
+ * The cached value of the '{@link #getTrigger() <em>Trigger</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see #getDestination()
+ * @see #getTrigger()
+ * @generated
+ * @ordered
+ */
+ protected SignalDeclaration trigger;
+
+ /**
+ * The cached value of the '{@link #getTriggers() <em>Triggers</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTriggers()
+ * @generated
+ * @ordered
+ */
+ protected EList<GuardDeclaration> triggers;
+
+ /**
+ * The cached value of the '{@link #getPrecondition() <em>Precondition</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPrecondition()
+ * @generated
+ * @ordered
+ */
+ protected EList<PreconditionDeclaration> precondition;
+
+ /**
+ * The cached value of the '{@link #getPostcondition() <em>Postcondition</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPostcondition()
* @generated
* @ordered
*/
- protected DestinationDeclaration destination;
+ protected EList<PostconditionDeclaration> postcondition;
/**
* <!-- begin-user-doc -->
@@ -108,9 +142,9 @@ public class TransitionDeclarationImpl extends MinimalEObjectImpl.Container impl
* <!-- end-user-doc -->
* @generated
*/
- public SourceDeclaration getSource()
+ public String getName()
{
- return source;
+ return name;
}
/**
@@ -118,16 +152,12 @@ public class TransitionDeclarationImpl extends MinimalEObjectImpl.Container impl
* <!-- end-user-doc -->
* @generated
*/
- public NotificationChain basicSetSource(SourceDeclaration newSource, NotificationChain msgs)
+ public void setName(String newName)
{
- SourceDeclaration oldSource = source;
- source = newSource;
+ String oldName = name;
+ name = newName;
if (eNotificationRequired())
- {
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FsmtestPackage.TRANSITION_DECLARATION__SOURCE, oldSource, newSource);
- if (msgs == null) msgs = notification; else msgs.add(notification);
- }
- return msgs;
+ eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.TRANSITION_DECLARATION__NAME, oldName, name));
}
/**
@@ -135,20 +165,19 @@ public class TransitionDeclarationImpl extends MinimalEObjectImpl.Container impl
* <!-- end-user-doc -->
* @generated
*/
- public void setSource(SourceDeclaration newSource)
+ public StateDeclaration getDestination()
{
- if (newSource != source)
+ if (destination != null && destination.eIsProxy())
{
- NotificationChain msgs = null;
- if (source != null)
- msgs = ((InternalEObject)source).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FsmtestPackage.TRANSITION_DECLARATION__SOURCE, null, msgs);
- if (newSource != null)
- msgs = ((InternalEObject)newSource).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FsmtestPackage.TRANSITION_DECLARATION__SOURCE, null, msgs);
- msgs = basicSetSource(newSource, msgs);
- if (msgs != null) msgs.dispatch();
+ InternalEObject oldDestination = (InternalEObject)destination;
+ destination = (StateDeclaration)eResolveProxy(oldDestination);
+ if (destination != oldDestination)
+ {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, FsmtestPackage.TRANSITION_DECLARATION__DESTINATION, oldDestination, destination));
+ }
}
- else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.TRANSITION_DECLARATION__SOURCE, newSource, newSource));
+ return destination;
}
/**
@@ -156,13 +185,9 @@ public class TransitionDeclarationImpl extends MinimalEObjectImpl.Container impl
* <!-- end-user-doc -->
* @generated
*/
- public EList<SignalDeclaration> getIn()
+ public StateDeclaration basicGetDestination()
{
- if (in == null)
- {
- in = new EObjectContainmentEList<SignalDeclaration>(SignalDeclaration.class, this, FsmtestPackage.TRANSITION_DECLARATION__IN);
- }
- return in;
+ return destination;
}
/**
@@ -170,13 +195,12 @@ public class TransitionDeclarationImpl extends MinimalEObjectImpl.Container impl
* <!-- end-user-doc -->
* @generated
*/
- public EList<SignalDeclaration> getOut()
+ public void setDestination(StateDeclaration newDestination)
{
- if (out == null)
- {
- out = new EObjectContainmentEList<SignalDeclaration>(SignalDeclaration.class, this, FsmtestPackage.TRANSITION_DECLARATION__OUT);
- }
- return out;
+ StateDeclaration oldDestination = destination;
+ destination = newDestination;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.TRANSITION_DECLARATION__DESTINATION, oldDestination, destination));
}
/**
@@ -184,9 +208,9 @@ public class TransitionDeclarationImpl extends MinimalEObjectImpl.Container impl
* <!-- end-user-doc -->
* @generated
*/
- public DestinationDeclaration getDestination()
+ public SignalDeclaration getTrigger()
{
- return destination;
+ return trigger;
}
/**
@@ -194,13 +218,13 @@ public class TransitionDeclarationImpl extends MinimalEObjectImpl.Container impl
* <!-- end-user-doc -->
* @generated
*/
- public NotificationChain basicSetDestination(DestinationDeclaration newDestination, NotificationChain msgs)
+ public NotificationChain basicSetTrigger(SignalDeclaration newTrigger, NotificationChain msgs)
{
- DestinationDeclaration oldDestination = destination;
- destination = newDestination;
+ SignalDeclaration oldTrigger = trigger;
+ trigger = newTrigger;
if (eNotificationRequired())
{
- ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FsmtestPackage.TRANSITION_DECLARATION__DESTINATION, oldDestination, newDestination);
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FsmtestPackage.TRANSITION_DECLARATION__TRIGGER, oldTrigger, newTrigger);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
@@ -211,20 +235,62 @@ public class TransitionDeclarationImpl extends MinimalEObjectImpl.Container impl
* <!-- end-user-doc -->
* @generated
*/
- public void setDestination(DestinationDeclaration newDestination)
+ public void setTrigger(SignalDeclaration newTrigger)
{
- if (newDestination != destination)
+ if (newTrigger != trigger)
{
NotificationChain msgs = null;
- if (destination != null)
- msgs = ((InternalEObject)destination).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FsmtestPackage.TRANSITION_DECLARATION__DESTINATION, null, msgs);
- if (newDestination != null)
- msgs = ((InternalEObject)newDestination).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FsmtestPackage.TRANSITION_DECLARATION__DESTINATION, null, msgs);
- msgs = basicSetDestination(newDestination, msgs);
+ if (trigger != null)
+ msgs = ((InternalEObject)trigger).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - FsmtestPackage.TRANSITION_DECLARATION__TRIGGER, null, msgs);
+ if (newTrigger != null)
+ msgs = ((InternalEObject)newTrigger).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - FsmtestPackage.TRANSITION_DECLARATION__TRIGGER, null, msgs);
+ msgs = basicSetTrigger(newTrigger, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.TRANSITION_DECLARATION__DESTINATION, newDestination, newDestination));
+ eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.TRANSITION_DECLARATION__TRIGGER, newTrigger, newTrigger));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<GuardDeclaration> getTriggers()
+ {
+ if (triggers == null)
+ {
+ triggers = new EObjectContainmentEList<GuardDeclaration>(GuardDeclaration.class, this, FsmtestPackage.TRANSITION_DECLARATION__TRIGGERS);
+ }
+ return triggers;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<PreconditionDeclaration> getPrecondition()
+ {
+ if (precondition == null)
+ {
+ precondition = new EObjectContainmentEList<PreconditionDeclaration>(PreconditionDeclaration.class, this, FsmtestPackage.TRANSITION_DECLARATION__PRECONDITION);
+ }
+ return precondition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<PostconditionDeclaration> getPostcondition()
+ {
+ if (postcondition == null)
+ {
+ postcondition = new EObjectContainmentEList<PostconditionDeclaration>(PostconditionDeclaration.class, this, FsmtestPackage.TRANSITION_DECLARATION__POSTCONDITION);
+ }
+ return postcondition;
}
/**
@@ -237,14 +303,14 @@ public class TransitionDeclarationImpl extends MinimalEObjectImpl.Container impl
{
switch (featureID)
{
- case FsmtestPackage.TRANSITION_DECLARATION__SOURCE:
- return basicSetSource(null, msgs);
- case FsmtestPackage.TRANSITION_DECLARATION__IN:
- return ((InternalEList<?>)getIn()).basicRemove(otherEnd, msgs);
- case FsmtestPackage.TRANSITION_DECLARATION__OUT:
- return ((InternalEList<?>)getOut()).basicRemove(otherEnd, msgs);
- case FsmtestPackage.TRANSITION_DECLARATION__DESTINATION:
- return basicSetDestination(null, msgs);
+ case FsmtestPackage.TRANSITION_DECLARATION__TRIGGER:
+ return basicSetTrigger(null, msgs);
+ case FsmtestPackage.TRANSITION_DECLARATION__TRIGGERS:
+ return ((InternalEList<?>)getTriggers()).basicRemove(otherEnd, msgs);
+ case FsmtestPackage.TRANSITION_DECLARATION__PRECONDITION:
+ return ((InternalEList<?>)getPrecondition()).basicRemove(otherEnd, msgs);
+ case FsmtestPackage.TRANSITION_DECLARATION__POSTCONDITION:
+ return ((InternalEList<?>)getPostcondition()).basicRemove(otherEnd, msgs);
}
return super.eInverseRemove(otherEnd, featureID, msgs);
}
@@ -259,14 +325,19 @@ public class TransitionDeclarationImpl extends MinimalEObjectImpl.Container impl
{
switch (featureID)
{
- case FsmtestPackage.TRANSITION_DECLARATION__SOURCE:
- return getSource();
- case FsmtestPackage.TRANSITION_DECLARATION__IN:
- return getIn();
- case FsmtestPackage.TRANSITION_DECLARATION__OUT:
- return getOut();
+ case FsmtestPackage.TRANSITION_DECLARATION__NAME:
+ return getName();
case FsmtestPackage.TRANSITION_DECLARATION__DESTINATION:
- return getDestination();
+ if (resolve) return getDestination();
+ return basicGetDestination();
+ case FsmtestPackage.TRANSITION_DECLARATION__TRIGGER:
+ return getTrigger();
+ case FsmtestPackage.TRANSITION_DECLARATION__TRIGGERS:
+ return getTriggers();
+ case FsmtestPackage.TRANSITION_DECLARATION__PRECONDITION:
+ return getPrecondition();
+ case FsmtestPackage.TRANSITION_DECLARATION__POSTCONDITION:
+ return getPostcondition();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -282,19 +353,26 @@ public class TransitionDeclarationImpl extends MinimalEObjectImpl.Container impl
{
switch (featureID)
{
- case FsmtestPackage.TRANSITION_DECLARATION__SOURCE:
- setSource((SourceDeclaration)newValue);
+ case FsmtestPackage.TRANSITION_DECLARATION__NAME:
+ setName((String)newValue);
return;
- case FsmtestPackage.TRANSITION_DECLARATION__IN:
- getIn().clear();
- getIn().addAll((Collection<? extends SignalDeclaration>)newValue);
+ case FsmtestPackage.TRANSITION_DECLARATION__DESTINATION:
+ setDestination((StateDeclaration)newValue);
return;
- case FsmtestPackage.TRANSITION_DECLARATION__OUT:
- getOut().clear();
- getOut().addAll((Collection<? extends SignalDeclaration>)newValue);
+ case FsmtestPackage.TRANSITION_DECLARATION__TRIGGER:
+ setTrigger((SignalDeclaration)newValue);
return;
- case FsmtestPackage.TRANSITION_DECLARATION__DESTINATION:
- setDestination((DestinationDeclaration)newValue);
+ case FsmtestPackage.TRANSITION_DECLARATION__TRIGGERS:
+ getTriggers().clear();
+ getTriggers().addAll((Collection<? extends GuardDeclaration>)newValue);
+ return;
+ case FsmtestPackage.TRANSITION_DECLARATION__PRECONDITION:
+ getPrecondition().clear();
+ getPrecondition().addAll((Collection<? extends PreconditionDeclaration>)newValue);
+ return;
+ case FsmtestPackage.TRANSITION_DECLARATION__POSTCONDITION:
+ getPostcondition().clear();
+ getPostcondition().addAll((Collection<? extends PostconditionDeclaration>)newValue);
return;
}
super.eSet(featureID, newValue);
@@ -310,17 +388,23 @@ public class TransitionDeclarationImpl extends MinimalEObjectImpl.Container impl
{
switch (featureID)
{
- case FsmtestPackage.TRANSITION_DECLARATION__SOURCE:
- setSource((SourceDeclaration)null);
+ case FsmtestPackage.TRANSITION_DECLARATION__NAME:
+ setName(NAME_EDEFAULT);
return;
- case FsmtestPackage.TRANSITION_DECLARATION__IN:
- getIn().clear();
+ case FsmtestPackage.TRANSITION_DECLARATION__DESTINATION:
+ setDestination((StateDeclaration)null);
return;
- case FsmtestPackage.TRANSITION_DECLARATION__OUT:
- getOut().clear();
+ case FsmtestPackage.TRANSITION_DECLARATION__TRIGGER:
+ setTrigger((SignalDeclaration)null);
return;
- case FsmtestPackage.TRANSITION_DECLARATION__DESTINATION:
- setDestination((DestinationDeclaration)null);
+ case FsmtestPackage.TRANSITION_DECLARATION__TRIGGERS:
+ getTriggers().clear();
+ return;
+ case FsmtestPackage.TRANSITION_DECLARATION__PRECONDITION:
+ getPrecondition().clear();
+ return;
+ case FsmtestPackage.TRANSITION_DECLARATION__POSTCONDITION:
+ getPostcondition().clear();
return;
}
super.eUnset(featureID);
@@ -336,16 +420,37 @@ public class TransitionDeclarationImpl extends MinimalEObjectImpl.Container impl
{
switch (featureID)
{
- case FsmtestPackage.TRANSITION_DECLARATION__SOURCE:
- return source != null;
- case FsmtestPackage.TRANSITION_DECLARATION__IN:
- return in != null && !in.isEmpty();
- case FsmtestPackage.TRANSITION_DECLARATION__OUT:
- return out != null && !out.isEmpty();
+ case FsmtestPackage.TRANSITION_DECLARATION__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
case FsmtestPackage.TRANSITION_DECLARATION__DESTINATION:
return destination != null;
+ case FsmtestPackage.TRANSITION_DECLARATION__TRIGGER:
+ return trigger != null;
+ case FsmtestPackage.TRANSITION_DECLARATION__TRIGGERS:
+ return triggers != null && !triggers.isEmpty();
+ case FsmtestPackage.TRANSITION_DECLARATION__PRECONDITION:
+ return precondition != null && !precondition.isEmpty();
+ case FsmtestPackage.TRANSITION_DECLARATION__POSTCONDITION:
+ return postcondition != null && !postcondition.isEmpty();
}
return super.eIsSet(featureID);
}
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
} //TransitionDeclarationImpl
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/util/FsmtestAdapterFactory.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/util/FsmtestAdapterFactory.java
index 742883b59..8e3baf26b 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/util/FsmtestAdapterFactory.java
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/util/FsmtestAdapterFactory.java
@@ -80,54 +80,59 @@ public class FsmtestAdapterFactory extends AdapterFactoryImpl
return createModelAdapter();
}
@Override
- public Adapter caseTestscript(Testscript object)
+ public Adapter caseFsmDefinition(FsmDefinition object)
{
- return createTestscriptAdapter();
+ return createFsmDefinitionAdapter();
}
@Override
- public Adapter caseState(State object)
+ public Adapter caseRandomTest(RandomTest object)
{
- return createStateAdapter();
+ return createRandomTestAdapter();
}
@Override
- public Adapter caseStateDeclaration(StateDeclaration object)
+ public Adapter caseGuardDeclaration(GuardDeclaration object)
{
- return createStateDeclarationAdapter();
+ return createGuardDeclarationAdapter();
}
@Override
- public Adapter caseInitialDeclaration(InitialDeclaration object)
+ public Adapter caseTransitionDeclaration(TransitionDeclaration object)
{
- return createInitialDeclarationAdapter();
+ return createTransitionDeclarationAdapter();
}
@Override
- public Adapter caseLoopsDeclaration(LoopsDeclaration object)
+ public Adapter caseConditionDeclaration(ConditionDeclaration object)
{
- return createLoopsDeclarationAdapter();
+ return createConditionDeclarationAdapter();
}
@Override
- public Adapter caseSeedDeclaration(SeedDeclaration object)
+ public Adapter casePreconditionDeclaration(PreconditionDeclaration object)
{
- return createSeedDeclarationAdapter();
+ return createPreconditionDeclarationAdapter();
}
@Override
- public Adapter caseSignalDeclaration(SignalDeclaration object)
+ public Adapter casePostconditionDeclaration(PostconditionDeclaration object)
{
- return createSignalDeclarationAdapter();
+ return createPostconditionDeclarationAdapter();
}
@Override
- public Adapter caseSourceDeclaration(SourceDeclaration object)
+ public Adapter caseStateDeclaration(StateDeclaration object)
{
- return createSourceDeclarationAdapter();
+ return createStateDeclarationAdapter();
}
@Override
- public Adapter caseDestinationDeclaration(DestinationDeclaration object)
+ public Adapter caseLoopsDeclaration(LoopsDeclaration object)
{
- return createDestinationDeclarationAdapter();
+ return createLoopsDeclarationAdapter();
}
@Override
- public Adapter caseTransitionDeclaration(TransitionDeclaration object)
+ public Adapter caseSeedDeclaration(SeedDeclaration object)
{
- return createTransitionDeclarationAdapter();
+ return createSeedDeclarationAdapter();
+ }
+ @Override
+ public Adapter caseSignalDeclaration(SignalDeclaration object)
+ {
+ return createSignalDeclarationAdapter();
}
@Override
public Adapter defaultCase(EObject object)
@@ -167,151 +172,166 @@ public class FsmtestAdapterFactory extends AdapterFactoryImpl
}
/**
- * Creates a new adapter for an object of class '{@link org.eclipse.etrice.generator.fsmtest.Testscript <em>Testscript</em>}'.
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.generator.fsmtest.FsmDefinition <em>Fsm Definition</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
- * @see org.eclipse.etrice.generator.fsmtest.Testscript
+ * @see org.eclipse.etrice.generator.fsmtest.FsmDefinition
* @generated
*/
- public Adapter createTestscriptAdapter()
+ public Adapter createFsmDefinitionAdapter()
{
return null;
}
/**
- * Creates a new adapter for an object of class '{@link org.eclipse.etrice.generator.fsmtest.State <em>State</em>}'.
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.generator.fsmtest.RandomTest <em>Random Test</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
- * @see org.eclipse.etrice.generator.fsmtest.State
+ * @see org.eclipse.etrice.generator.fsmtest.RandomTest
* @generated
*/
- public Adapter createStateAdapter()
+ public Adapter createRandomTestAdapter()
{
return null;
}
/**
- * Creates a new adapter for an object of class '{@link org.eclipse.etrice.generator.fsmtest.StateDeclaration <em>State Declaration</em>}'.
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.generator.fsmtest.GuardDeclaration <em>Guard Declaration</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
- * @see org.eclipse.etrice.generator.fsmtest.StateDeclaration
+ * @see org.eclipse.etrice.generator.fsmtest.GuardDeclaration
* @generated
*/
- public Adapter createStateDeclarationAdapter()
+ public Adapter createGuardDeclarationAdapter()
{
return null;
}
/**
- * Creates a new adapter for an object of class '{@link org.eclipse.etrice.generator.fsmtest.InitialDeclaration <em>Initial Declaration</em>}'.
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration <em>Transition Declaration</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
- * @see org.eclipse.etrice.generator.fsmtest.InitialDeclaration
+ * @see org.eclipse.etrice.generator.fsmtest.TransitionDeclaration
* @generated
*/
- public Adapter createInitialDeclarationAdapter()
+ public Adapter createTransitionDeclarationAdapter()
{
return null;
}
/**
- * Creates a new adapter for an object of class '{@link org.eclipse.etrice.generator.fsmtest.LoopsDeclaration <em>Loops Declaration</em>}'.
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.generator.fsmtest.ConditionDeclaration <em>Condition Declaration</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
- * @see org.eclipse.etrice.generator.fsmtest.LoopsDeclaration
+ * @see org.eclipse.etrice.generator.fsmtest.ConditionDeclaration
* @generated
*/
- public Adapter createLoopsDeclarationAdapter()
+ public Adapter createConditionDeclarationAdapter()
{
return null;
}
/**
- * Creates a new adapter for an object of class '{@link org.eclipse.etrice.generator.fsmtest.SeedDeclaration <em>Seed Declaration</em>}'.
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.generator.fsmtest.PreconditionDeclaration <em>Precondition Declaration</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
- * @see org.eclipse.etrice.generator.fsmtest.SeedDeclaration
+ * @see org.eclipse.etrice.generator.fsmtest.PreconditionDeclaration
* @generated
*/
- public Adapter createSeedDeclarationAdapter()
+ public Adapter createPreconditionDeclarationAdapter()
{
return null;
}
/**
- * Creates a new adapter for an object of class '{@link org.eclipse.etrice.generator.fsmtest.SignalDeclaration <em>Signal Declaration</em>}'.
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.generator.fsmtest.PostconditionDeclaration <em>Postcondition Declaration</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
- * @see org.eclipse.etrice.generator.fsmtest.SignalDeclaration
+ * @see org.eclipse.etrice.generator.fsmtest.PostconditionDeclaration
* @generated
*/
- public Adapter createSignalDeclarationAdapter()
+ public Adapter createPostconditionDeclarationAdapter()
{
return null;
}
/**
- * Creates a new adapter for an object of class '{@link org.eclipse.etrice.generator.fsmtest.SourceDeclaration <em>Source Declaration</em>}'.
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.generator.fsmtest.StateDeclaration <em>State Declaration</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
- * @see org.eclipse.etrice.generator.fsmtest.SourceDeclaration
+ * @see org.eclipse.etrice.generator.fsmtest.StateDeclaration
* @generated
*/
- public Adapter createSourceDeclarationAdapter()
+ public Adapter createStateDeclarationAdapter()
{
return null;
}
/**
- * Creates a new adapter for an object of class '{@link org.eclipse.etrice.generator.fsmtest.DestinationDeclaration <em>Destination Declaration</em>}'.
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.generator.fsmtest.LoopsDeclaration <em>Loops Declaration</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
- * @see org.eclipse.etrice.generator.fsmtest.DestinationDeclaration
+ * @see org.eclipse.etrice.generator.fsmtest.LoopsDeclaration
* @generated
*/
- public Adapter createDestinationDeclarationAdapter()
+ public Adapter createLoopsDeclarationAdapter()
{
return null;
}
/**
- * Creates a new adapter for an object of class '{@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration <em>Transition Declaration</em>}'.
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.generator.fsmtest.SeedDeclaration <em>Seed Declaration</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
- * @see org.eclipse.etrice.generator.fsmtest.TransitionDeclaration
+ * @see org.eclipse.etrice.generator.fsmtest.SeedDeclaration
* @generated
*/
- public Adapter createTransitionDeclarationAdapter()
+ public Adapter createSeedDeclarationAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.generator.fsmtest.SignalDeclaration <em>Signal Declaration</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.etrice.generator.fsmtest.SignalDeclaration
+ * @generated
+ */
+ public Adapter createSignalDeclarationAdapter()
{
return null;
}
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/util/FsmtestSwitch.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/util/FsmtestSwitch.java
index 831de1202..64b7e6d91 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/util/FsmtestSwitch.java
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/util/FsmtestSwitch.java
@@ -79,73 +79,80 @@ public class FsmtestSwitch<T> extends Switch<T>
if (result == null) result = defaultCase(theEObject);
return result;
}
- case FsmtestPackage.TESTSCRIPT:
+ case FsmtestPackage.FSM_DEFINITION:
{
- Testscript testscript = (Testscript)theEObject;
- T result = caseTestscript(testscript);
+ FsmDefinition fsmDefinition = (FsmDefinition)theEObject;
+ T result = caseFsmDefinition(fsmDefinition);
if (result == null) result = defaultCase(theEObject);
return result;
}
- case FsmtestPackage.STATE:
+ case FsmtestPackage.RANDOM_TEST:
{
- State state = (State)theEObject;
- T result = caseState(state);
+ RandomTest randomTest = (RandomTest)theEObject;
+ T result = caseRandomTest(randomTest);
if (result == null) result = defaultCase(theEObject);
return result;
}
- case FsmtestPackage.STATE_DECLARATION:
+ case FsmtestPackage.GUARD_DECLARATION:
{
- StateDeclaration stateDeclaration = (StateDeclaration)theEObject;
- T result = caseStateDeclaration(stateDeclaration);
+ GuardDeclaration guardDeclaration = (GuardDeclaration)theEObject;
+ T result = caseGuardDeclaration(guardDeclaration);
if (result == null) result = defaultCase(theEObject);
return result;
}
- case FsmtestPackage.INITIAL_DECLARATION:
+ case FsmtestPackage.TRANSITION_DECLARATION:
{
- InitialDeclaration initialDeclaration = (InitialDeclaration)theEObject;
- T result = caseInitialDeclaration(initialDeclaration);
+ TransitionDeclaration transitionDeclaration = (TransitionDeclaration)theEObject;
+ T result = caseTransitionDeclaration(transitionDeclaration);
if (result == null) result = defaultCase(theEObject);
return result;
}
- case FsmtestPackage.LOOPS_DECLARATION:
+ case FsmtestPackage.CONDITION_DECLARATION:
{
- LoopsDeclaration loopsDeclaration = (LoopsDeclaration)theEObject;
- T result = caseLoopsDeclaration(loopsDeclaration);
+ ConditionDeclaration conditionDeclaration = (ConditionDeclaration)theEObject;
+ T result = caseConditionDeclaration(conditionDeclaration);
if (result == null) result = defaultCase(theEObject);
return result;
}
- case FsmtestPackage.SEED_DECLARATION:
+ case FsmtestPackage.PRECONDITION_DECLARATION:
{
- SeedDeclaration seedDeclaration = (SeedDeclaration)theEObject;
- T result = caseSeedDeclaration(seedDeclaration);
+ PreconditionDeclaration preconditionDeclaration = (PreconditionDeclaration)theEObject;
+ T result = casePreconditionDeclaration(preconditionDeclaration);
if (result == null) result = defaultCase(theEObject);
return result;
}
- case FsmtestPackage.SIGNAL_DECLARATION:
+ case FsmtestPackage.POSTCONDITION_DECLARATION:
{
- SignalDeclaration signalDeclaration = (SignalDeclaration)theEObject;
- T result = caseSignalDeclaration(signalDeclaration);
+ PostconditionDeclaration postconditionDeclaration = (PostconditionDeclaration)theEObject;
+ T result = casePostconditionDeclaration(postconditionDeclaration);
if (result == null) result = defaultCase(theEObject);
return result;
}
- case FsmtestPackage.SOURCE_DECLARATION:
+ case FsmtestPackage.STATE_DECLARATION:
{
- SourceDeclaration sourceDeclaration = (SourceDeclaration)theEObject;
- T result = caseSourceDeclaration(sourceDeclaration);
+ StateDeclaration stateDeclaration = (StateDeclaration)theEObject;
+ T result = caseStateDeclaration(stateDeclaration);
if (result == null) result = defaultCase(theEObject);
return result;
}
- case FsmtestPackage.DESTINATION_DECLARATION:
+ case FsmtestPackage.LOOPS_DECLARATION:
{
- DestinationDeclaration destinationDeclaration = (DestinationDeclaration)theEObject;
- T result = caseDestinationDeclaration(destinationDeclaration);
+ LoopsDeclaration loopsDeclaration = (LoopsDeclaration)theEObject;
+ T result = caseLoopsDeclaration(loopsDeclaration);
if (result == null) result = defaultCase(theEObject);
return result;
}
- case FsmtestPackage.TRANSITION_DECLARATION:
+ case FsmtestPackage.SEED_DECLARATION:
{
- TransitionDeclaration transitionDeclaration = (TransitionDeclaration)theEObject;
- T result = caseTransitionDeclaration(transitionDeclaration);
+ SeedDeclaration seedDeclaration = (SeedDeclaration)theEObject;
+ T result = caseSeedDeclaration(seedDeclaration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FsmtestPackage.SIGNAL_DECLARATION:
+ {
+ SignalDeclaration signalDeclaration = (SignalDeclaration)theEObject;
+ T result = caseSignalDeclaration(signalDeclaration);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -170,161 +177,177 @@ public class FsmtestSwitch<T> extends Switch<T>
}
/**
- * Returns the result of interpreting the object as an instance of '<em>Testscript</em>'.
+ * Returns the result of interpreting the object as an instance of '<em>Fsm Definition</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Testscript</em>'.
+ * @return the result of interpreting the object as an instance of '<em>Fsm Definition</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
- public T caseTestscript(Testscript object)
+ public T caseFsmDefinition(FsmDefinition object)
{
return null;
}
/**
- * Returns the result of interpreting the object as an instance of '<em>State</em>'.
+ * Returns the result of interpreting the object as an instance of '<em>Random Test</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>State</em>'.
+ * @return the result of interpreting the object as an instance of '<em>Random Test</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
- public T caseState(State object)
+ public T caseRandomTest(RandomTest object)
{
return null;
}
/**
- * Returns the result of interpreting the object as an instance of '<em>State Declaration</em>'.
+ * Returns the result of interpreting the object as an instance of '<em>Guard Declaration</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>State Declaration</em>'.
+ * @return the result of interpreting the object as an instance of '<em>Guard Declaration</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
- public T caseStateDeclaration(StateDeclaration object)
+ public T caseGuardDeclaration(GuardDeclaration object)
{
return null;
}
/**
- * Returns the result of interpreting the object as an instance of '<em>Initial Declaration</em>'.
+ * Returns the result of interpreting the object as an instance of '<em>Transition Declaration</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Initial Declaration</em>'.
+ * @return the result of interpreting the object as an instance of '<em>Transition Declaration</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
- public T caseInitialDeclaration(InitialDeclaration object)
+ public T caseTransitionDeclaration(TransitionDeclaration object)
{
return null;
}
/**
- * Returns the result of interpreting the object as an instance of '<em>Loops Declaration</em>'.
+ * Returns the result of interpreting the object as an instance of '<em>Condition Declaration</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Loops Declaration</em>'.
+ * @return the result of interpreting the object as an instance of '<em>Condition Declaration</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
- public T caseLoopsDeclaration(LoopsDeclaration object)
+ public T caseConditionDeclaration(ConditionDeclaration object)
{
return null;
}
/**
- * Returns the result of interpreting the object as an instance of '<em>Seed Declaration</em>'.
+ * Returns the result of interpreting the object as an instance of '<em>Precondition Declaration</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Seed Declaration</em>'.
+ * @return the result of interpreting the object as an instance of '<em>Precondition Declaration</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
- public T caseSeedDeclaration(SeedDeclaration object)
+ public T casePreconditionDeclaration(PreconditionDeclaration object)
{
return null;
}
/**
- * Returns the result of interpreting the object as an instance of '<em>Signal Declaration</em>'.
+ * Returns the result of interpreting the object as an instance of '<em>Postcondition Declaration</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Signal Declaration</em>'.
+ * @return the result of interpreting the object as an instance of '<em>Postcondition Declaration</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
- public T caseSignalDeclaration(SignalDeclaration object)
+ public T casePostconditionDeclaration(PostconditionDeclaration object)
{
return null;
}
/**
- * Returns the result of interpreting the object as an instance of '<em>Source Declaration</em>'.
+ * Returns the result of interpreting the object as an instance of '<em>State Declaration</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Source Declaration</em>'.
+ * @return the result of interpreting the object as an instance of '<em>State Declaration</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
- public T caseSourceDeclaration(SourceDeclaration object)
+ public T caseStateDeclaration(StateDeclaration object)
{
return null;
}
/**
- * Returns the result of interpreting the object as an instance of '<em>Destination Declaration</em>'.
+ * Returns the result of interpreting the object as an instance of '<em>Loops Declaration</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Destination Declaration</em>'.
+ * @return the result of interpreting the object as an instance of '<em>Loops Declaration</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
- public T caseDestinationDeclaration(DestinationDeclaration object)
+ public T caseLoopsDeclaration(LoopsDeclaration object)
{
return null;
}
/**
- * Returns the result of interpreting the object as an instance of '<em>Transition Declaration</em>'.
+ * Returns the result of interpreting the object as an instance of '<em>Seed Declaration</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Transition Declaration</em>'.
+ * @return the result of interpreting the object as an instance of '<em>Seed Declaration</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
- public T caseTransitionDeclaration(TransitionDeclaration object)
+ public T caseSeedDeclaration(SeedDeclaration object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Signal Declaration</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Signal Declaration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSignalDeclaration(SignalDeclaration object)
{
return null;
}
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/FSMtestAntlrTokenFileProvider.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/FSMtestAntlrTokenFileProvider.java
index ba8482e9c..74958406b 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/FSMtestAntlrTokenFileProvider.java
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/FSMtestAntlrTokenFileProvider.java
@@ -1,15 +1,15 @@
-/*
-* generated by Xtext
-*/
-package org.eclipse.etrice.generator.parser.antlr;
-
-import java.io.InputStream;
-import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
-
-public class FSMtestAntlrTokenFileProvider implements IAntlrTokenFileProvider {
-
- public InputStream getAntlrTokenFile() {
- ClassLoader classLoader = getClass().getClassLoader();
- return classLoader.getResourceAsStream("org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.tokens");
- }
-}
+/*
+* generated by Xtext
+*/
+package org.eclipse.etrice.generator.parser.antlr;
+
+import java.io.InputStream;
+import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
+
+public class FSMtestAntlrTokenFileProvider implements IAntlrTokenFileProvider {
+
+ public InputStream getAntlrTokenFile() {
+ ClassLoader classLoader = getClass().getClassLoader();
+ return classLoader.getResourceAsStream("org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.tokens");
+ }
+}
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/FSMtestParser.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/FSMtestParser.java
index 4fd6eb12b..93cd730b2 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/FSMtestParser.java
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/FSMtestParser.java
@@ -1,39 +1,39 @@
-/*
-* generated by Xtext
-*/
-package org.eclipse.etrice.generator.parser.antlr;
-
-import com.google.inject.Inject;
-
-import org.eclipse.xtext.parser.antlr.XtextTokenStream;
-import org.eclipse.etrice.generator.services.FSMtestGrammarAccess;
-
-public class FSMtestParser extends org.eclipse.xtext.parser.antlr.AbstractAntlrParser {
-
- @Inject
- private FSMtestGrammarAccess grammarAccess;
-
- @Override
- protected void setInitialHiddenTokens(XtextTokenStream tokenStream) {
- tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT");
- }
-
- @Override
- protected org.eclipse.etrice.generator.parser.antlr.internal.InternalFSMtestParser createParser(XtextTokenStream stream) {
- return new org.eclipse.etrice.generator.parser.antlr.internal.InternalFSMtestParser(stream, getGrammarAccess());
- }
-
- @Override
- protected String getDefaultRuleName() {
- return "Model";
- }
-
- public FSMtestGrammarAccess getGrammarAccess() {
- return this.grammarAccess;
- }
-
- public void setGrammarAccess(FSMtestGrammarAccess grammarAccess) {
- this.grammarAccess = grammarAccess;
- }
-
-}
+/*
+* generated by Xtext
+*/
+package org.eclipse.etrice.generator.parser.antlr;
+
+import com.google.inject.Inject;
+
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.etrice.generator.services.FSMtestGrammarAccess;
+
+public class FSMtestParser extends org.eclipse.xtext.parser.antlr.AbstractAntlrParser {
+
+ @Inject
+ private FSMtestGrammarAccess grammarAccess;
+
+ @Override
+ protected void setInitialHiddenTokens(XtextTokenStream tokenStream) {
+ tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT");
+ }
+
+ @Override
+ protected org.eclipse.etrice.generator.parser.antlr.internal.InternalFSMtestParser createParser(XtextTokenStream stream) {
+ return new org.eclipse.etrice.generator.parser.antlr.internal.InternalFSMtestParser(stream, getGrammarAccess());
+ }
+
+ @Override
+ protected String getDefaultRuleName() {
+ return "Model";
+ }
+
+ public FSMtestGrammarAccess getGrammarAccess() {
+ return this.grammarAccess;
+ }
+
+ public void setGrammarAccess(FSMtestGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+
+}
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g
index 016f380b7..fbe4f3190 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g
@@ -1,767 +1,921 @@
-/*
-* generated by Xtext
-*/
-grammar InternalFSMtest;
-
-options {
- superClass=AbstractInternalAntlrParser;
-
-}
-
-@lexer::header {
-package org.eclipse.etrice.generator.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 org.eclipse.etrice.generator.parser.antlr.internal;
-
-import org.eclipse.xtext.*;
-import org.eclipse.xtext.parser.*;
-import org.eclipse.xtext.parser.impl.*;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream;
-import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
-import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
-import org.eclipse.etrice.generator.services.FSMtestGrammarAccess;
-
-}
-
-@parser::members {
-
- private FSMtestGrammarAccess grammarAccess;
-
- public InternalFSMtestParser(TokenStream input, FSMtestGrammarAccess grammarAccess) {
- this(input);
- this.grammarAccess = grammarAccess;
- registerRules(grammarAccess.getGrammar());
- }
-
- @Override
- protected String getFirstRuleName() {
- return "Model";
- }
-
- @Override
- protected FSMtestGrammarAccess getGrammarAccess() {
- return grammarAccess;
- }
-}
-
-@rulecatch {
- catch (RecognitionException re) {
- recover(input,re);
- appendSkippedTokens();
- }
-}
-
-
-
-
-// Entry rule entryRuleModel
-entryRuleModel returns [EObject current=null]
- :
- { newCompositeNode(grammarAccess.getModelRule()); }
- iv_ruleModel=ruleModel
- { $current=$iv_ruleModel.current; }
- EOF
-;
-
-// Rule Model
-ruleModel returns [EObject current=null]
- @init { enterRule();
- }
- @after { leaveRule(); }:
-(
-(
- {
- newCompositeNode(grammarAccess.getModelAccess().getTestscriptsTestscriptParserRuleCall_0());
- }
- lv_Testscripts_0_0=ruleTestscript {
- if ($current==null) {
- $current = createModelElementForParent(grammarAccess.getModelRule());
- }
- add(
- $current,
- "Testscripts",
- lv_Testscripts_0_0,
- "Testscript");
- afterParserOrEnumRuleCall();
- }
-
-)
-)*
-;
-
-
-
-
-
-// Entry rule entryRuleTestscript
-entryRuleTestscript returns [EObject current=null]
- :
- { newCompositeNode(grammarAccess.getTestscriptRule()); }
- iv_ruleTestscript=ruleTestscript
- { $current=$iv_ruleTestscript.current; }
- EOF
-;
-
-// Rule Testscript
-ruleTestscript returns [EObject current=null]
- @init { enterRule();
- }
- @after { leaveRule(); }:
-( otherlv_0='fsmtest'
- {
- newLeafNode(otherlv_0, grammarAccess.getTestscriptAccess().getFsmtestKeyword_0());
- }
-(
-(
- lv_name_1_0=RULE_ID
- {
- newLeafNode(lv_name_1_0, grammarAccess.getTestscriptAccess().getNameIDTerminalRuleCall_1_0());
- }
- {
- if ($current==null) {
- $current = createModelElement(grammarAccess.getTestscriptRule());
- }
- setWithLastConsumed(
- $current,
- "name",
- lv_name_1_0,
- "ID");
- }
-
-)
-)(
-(
- {
- newCompositeNode(grammarAccess.getTestscriptAccess().getStateDeclarationStateDeclarationParserRuleCall_2_0());
- }
- lv_stateDeclaration_2_0=ruleStateDeclaration {
- if ($current==null) {
- $current = createModelElementForParent(grammarAccess.getTestscriptRule());
- }
- set(
- $current,
- "stateDeclaration",
- lv_stateDeclaration_2_0,
- "StateDeclaration");
- afterParserOrEnumRuleCall();
- }
-
-)
-)(
-(
- {
- newCompositeNode(grammarAccess.getTestscriptAccess().getInitialDeclarationInitialDeclarationParserRuleCall_3_0());
- }
- lv_initialDeclaration_3_0=ruleInitialDeclaration {
- if ($current==null) {
- $current = createModelElementForParent(grammarAccess.getTestscriptRule());
- }
- set(
- $current,
- "initialDeclaration",
- lv_initialDeclaration_3_0,
- "InitialDeclaration");
- afterParserOrEnumRuleCall();
- }
-
-)
-)(
-(
- {
- newCompositeNode(grammarAccess.getTestscriptAccess().getLoopsDeclarationLoopsDeclarationParserRuleCall_4_0());
- }
- lv_loopsDeclaration_4_0=ruleLoopsDeclaration {
- if ($current==null) {
- $current = createModelElementForParent(grammarAccess.getTestscriptRule());
- }
- set(
- $current,
- "loopsDeclaration",
- lv_loopsDeclaration_4_0,
- "LoopsDeclaration");
- afterParserOrEnumRuleCall();
- }
-
-)
-)(
-(
- {
- newCompositeNode(grammarAccess.getTestscriptAccess().getSeedDeclarationSeedDeclarationParserRuleCall_5_0());
- }
- lv_seedDeclaration_5_0=ruleSeedDeclaration {
- if ($current==null) {
- $current = createModelElementForParent(grammarAccess.getTestscriptRule());
- }
- set(
- $current,
- "seedDeclaration",
- lv_seedDeclaration_5_0,
- "SeedDeclaration");
- afterParserOrEnumRuleCall();
- }
-
-)
-)?(
-(
- {
- newCompositeNode(grammarAccess.getTestscriptAccess().getTransitionDeclarationsTransitionDeclarationParserRuleCall_6_0());
- }
- lv_transitionDeclarations_6_0=ruleTransitionDeclaration {
- if ($current==null) {
- $current = createModelElementForParent(grammarAccess.getTestscriptRule());
- }
- add(
- $current,
- "transitionDeclarations",
- lv_transitionDeclarations_6_0,
- "TransitionDeclaration");
- afterParserOrEnumRuleCall();
- }
-
-)
-)* otherlv_7=';'
- {
- newLeafNode(otherlv_7, grammarAccess.getTestscriptAccess().getSemicolonKeyword_7());
- }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleState
-entryRuleState returns [EObject current=null]
- :
- { newCompositeNode(grammarAccess.getStateRule()); }
- iv_ruleState=ruleState
- { $current=$iv_ruleState.current; }
- EOF
-;
-
-// Rule State
-ruleState returns [EObject current=null]
- @init { enterRule();
- }
- @after { leaveRule(); }:
-(
-(
- lv_name_0_0=RULE_ID
- {
- newLeafNode(lv_name_0_0, grammarAccess.getStateAccess().getNameIDTerminalRuleCall_0());
- }
- {
- if ($current==null) {
- $current = createModelElement(grammarAccess.getStateRule());
- }
- setWithLastConsumed(
- $current,
- "name",
- lv_name_0_0,
- "ID");
- }
-
-)
-)
-;
-
-
-
-
-
-// Entry rule entryRuleStateDeclaration
-entryRuleStateDeclaration returns [EObject current=null]
- :
- { newCompositeNode(grammarAccess.getStateDeclarationRule()); }
- iv_ruleStateDeclaration=ruleStateDeclaration
- { $current=$iv_ruleStateDeclaration.current; }
- EOF
-;
-
-// Rule StateDeclaration
-ruleStateDeclaration returns [EObject current=null]
- @init { enterRule();
- }
- @after { leaveRule(); }:
-( otherlv_0='states:'
- {
- newLeafNode(otherlv_0, grammarAccess.getStateDeclarationAccess().getStatesKeyword_0());
- }
-(
-(
- {
- newCompositeNode(grammarAccess.getStateDeclarationAccess().getStatesStateParserRuleCall_1_0());
- }
- lv_states_1_0=ruleState {
- if ($current==null) {
- $current = createModelElementForParent(grammarAccess.getStateDeclarationRule());
- }
- add(
- $current,
- "states",
- lv_states_1_0,
- "State");
- afterParserOrEnumRuleCall();
- }
-
-)
-)( otherlv_2=','
- {
- newLeafNode(otherlv_2, grammarAccess.getStateDeclarationAccess().getCommaKeyword_2_0());
- }
-(
-(
- {
- newCompositeNode(grammarAccess.getStateDeclarationAccess().getStatesStateParserRuleCall_2_1_0());
- }
- lv_states_3_0=ruleState {
- if ($current==null) {
- $current = createModelElementForParent(grammarAccess.getStateDeclarationRule());
- }
- add(
- $current,
- "states",
- lv_states_3_0,
- "State");
- afterParserOrEnumRuleCall();
- }
-
-)
-))*)
-;
-
-
-
-
-
-// Entry rule entryRuleInitialDeclaration
-entryRuleInitialDeclaration returns [EObject current=null]
- :
- { newCompositeNode(grammarAccess.getInitialDeclarationRule()); }
- iv_ruleInitialDeclaration=ruleInitialDeclaration
- { $current=$iv_ruleInitialDeclaration.current; }
- EOF
-;
-
-// Rule InitialDeclaration
-ruleInitialDeclaration returns [EObject current=null]
- @init { enterRule();
- }
- @after { leaveRule(); }:
-( otherlv_0='initial:'
- {
- newLeafNode(otherlv_0, grammarAccess.getInitialDeclarationAccess().getInitialKeyword_0());
- }
-(
-(
- {
- if ($current==null) {
- $current = createModelElement(grammarAccess.getInitialDeclarationRule());
- }
- }
- otherlv_1=RULE_ID
- {
- newLeafNode(otherlv_1, grammarAccess.getInitialDeclarationAccess().getInitialStateCrossReference_1_0());
- }
-
-)
-))
-;
-
-
-
-
-
-// Entry rule entryRuleLoopsDeclaration
-entryRuleLoopsDeclaration returns [EObject current=null]
- :
- { newCompositeNode(grammarAccess.getLoopsDeclarationRule()); }
- iv_ruleLoopsDeclaration=ruleLoopsDeclaration
- { $current=$iv_ruleLoopsDeclaration.current; }
- EOF
-;
-
-// Rule LoopsDeclaration
-ruleLoopsDeclaration returns [EObject current=null]
- @init { enterRule();
- }
- @after { leaveRule(); }:
-( otherlv_0='loops:'
- {
- newLeafNode(otherlv_0, grammarAccess.getLoopsDeclarationAccess().getLoopsKeyword_0());
- }
-(
-(
- lv_val_1_0=RULE_INT
- {
- newLeafNode(lv_val_1_0, grammarAccess.getLoopsDeclarationAccess().getValINTTerminalRuleCall_1_0());
- }
- {
- if ($current==null) {
- $current = createModelElement(grammarAccess.getLoopsDeclarationRule());
- }
- setWithLastConsumed(
- $current,
- "val",
- lv_val_1_0,
- "INT");
- }
-
-)
-))
-;
-
-
-
-
-
-// Entry rule entryRuleSeedDeclaration
-entryRuleSeedDeclaration returns [EObject current=null]
- :
- { newCompositeNode(grammarAccess.getSeedDeclarationRule()); }
- iv_ruleSeedDeclaration=ruleSeedDeclaration
- { $current=$iv_ruleSeedDeclaration.current; }
- EOF
-;
-
-// Rule SeedDeclaration
-ruleSeedDeclaration returns [EObject current=null]
- @init { enterRule();
- }
- @after { leaveRule(); }:
-( otherlv_0='randseed:'
- {
- newLeafNode(otherlv_0, grammarAccess.getSeedDeclarationAccess().getRandseedKeyword_0());
- }
-(
-(
- lv_val_1_0=RULE_INT
- {
- newLeafNode(lv_val_1_0, grammarAccess.getSeedDeclarationAccess().getValINTTerminalRuleCall_1_0());
- }
- {
- if ($current==null) {
- $current = createModelElement(grammarAccess.getSeedDeclarationRule());
- }
- setWithLastConsumed(
- $current,
- "val",
- lv_val_1_0,
- "INT");
- }
-
-)
-))
-;
-
-
-
-
-
-// Entry rule entryRuleSignalDeclaration
-entryRuleSignalDeclaration returns [EObject current=null]
- :
- { newCompositeNode(grammarAccess.getSignalDeclarationRule()); }
- iv_ruleSignalDeclaration=ruleSignalDeclaration
- { $current=$iv_ruleSignalDeclaration.current; }
- EOF
-;
-
-// Rule SignalDeclaration
-ruleSignalDeclaration returns [EObject current=null]
- @init { enterRule();
- }
- @after { leaveRule(); }:
-(((
-(
- lv_port_0_0=RULE_ID
- {
- newLeafNode(lv_port_0_0, grammarAccess.getSignalDeclarationAccess().getPortIDTerminalRuleCall_0_0_0());
- }
- {
- if ($current==null) {
- $current = createModelElement(grammarAccess.getSignalDeclarationRule());
- }
- setWithLastConsumed(
- $current,
- "port",
- lv_port_0_0,
- "ID");
- }
-
-)
-) otherlv_1='.'
- {
- newLeafNode(otherlv_1, grammarAccess.getSignalDeclarationAccess().getFullStopKeyword_0_1());
- }
-)?(
-(
- lv_signame_2_0=RULE_ID
- {
- newLeafNode(lv_signame_2_0, grammarAccess.getSignalDeclarationAccess().getSignameIDTerminalRuleCall_1_0());
- }
- {
- if ($current==null) {
- $current = createModelElement(grammarAccess.getSignalDeclarationRule());
- }
- setWithLastConsumed(
- $current,
- "signame",
- lv_signame_2_0,
- "ID");
- }
-
-)
-)(( otherlv_3='='
- {
- newLeafNode(otherlv_3, grammarAccess.getSignalDeclarationAccess().getEqualsSignKeyword_2_0_0());
- }
-(
-(
- lv_intVal_4_0=RULE_INT
- {
- newLeafNode(lv_intVal_4_0, grammarAccess.getSignalDeclarationAccess().getIntValINTTerminalRuleCall_2_0_1_0());
- }
- {
- if ($current==null) {
- $current = createModelElement(grammarAccess.getSignalDeclarationRule());
- }
- setWithLastConsumed(
- $current,
- "intVal",
- lv_intVal_4_0,
- "INT");
- }
-
-)
-))
- |( otherlv_5='='
- {
- newLeafNode(otherlv_5, grammarAccess.getSignalDeclarationAccess().getEqualsSignKeyword_2_1_0());
- }
-(
-(
- lv_strVal_6_0=RULE_STRING
- {
- newLeafNode(lv_strVal_6_0, grammarAccess.getSignalDeclarationAccess().getStrValSTRINGTerminalRuleCall_2_1_1_0());
- }
- {
- if ($current==null) {
- $current = createModelElement(grammarAccess.getSignalDeclarationRule());
- }
- setWithLastConsumed(
- $current,
- "strVal",
- lv_strVal_6_0,
- "STRING");
- }
-
-)
-)))?)
-;
-
-
-
-
-
-// Entry rule entryRuleSourceDeclaration
-entryRuleSourceDeclaration returns [EObject current=null]
- :
- { newCompositeNode(grammarAccess.getSourceDeclarationRule()); }
- iv_ruleSourceDeclaration=ruleSourceDeclaration
- { $current=$iv_ruleSourceDeclaration.current; }
- EOF
-;
-
-// Rule SourceDeclaration
-ruleSourceDeclaration returns [EObject current=null]
- @init { enterRule();
- }
- @after { leaveRule(); }:
-((
-(
- {
- if ($current==null) {
- $current = createModelElement(grammarAccess.getSourceDeclarationRule());
- }
- }
- otherlv_0=RULE_ID
- {
- newLeafNode(otherlv_0, grammarAccess.getSourceDeclarationAccess().getRefStateCrossReference_0_0());
- }
-
-)
-) otherlv_1=':'
- {
- newLeafNode(otherlv_1, grammarAccess.getSourceDeclarationAccess().getColonKeyword_1());
- }
-)
-;
-
-
-
-
-
-// Entry rule entryRuleDestinationDeclaration
-entryRuleDestinationDeclaration returns [EObject current=null]
- :
- { newCompositeNode(grammarAccess.getDestinationDeclarationRule()); }
- iv_ruleDestinationDeclaration=ruleDestinationDeclaration
- { $current=$iv_ruleDestinationDeclaration.current; }
- EOF
-;
-
-// Rule DestinationDeclaration
-ruleDestinationDeclaration returns [EObject current=null]
- @init { enterRule();
- }
- @after { leaveRule(); }:
-( otherlv_0='-> '
- {
- newLeafNode(otherlv_0, grammarAccess.getDestinationDeclarationAccess().getHyphenMinusGreaterThanSignSpaceKeyword_0());
- }
-(
-(
- {
- if ($current==null) {
- $current = createModelElement(grammarAccess.getDestinationDeclarationRule());
- }
- }
- otherlv_1=RULE_ID
- {
- newLeafNode(otherlv_1, grammarAccess.getDestinationDeclarationAccess().getRefStateCrossReference_1_0());
- }
-
-)
-))
-;
-
-
-
-
-
-// Entry rule entryRuleTransitionDeclaration
-entryRuleTransitionDeclaration returns [EObject current=null]
- :
- { newCompositeNode(grammarAccess.getTransitionDeclarationRule()); }
- iv_ruleTransitionDeclaration=ruleTransitionDeclaration
- { $current=$iv_ruleTransitionDeclaration.current; }
- EOF
-;
-
-// Rule TransitionDeclaration
-ruleTransitionDeclaration returns [EObject current=null]
- @init { enterRule();
- }
- @after { leaveRule(); }:
-((
-(
- {
- newCompositeNode(grammarAccess.getTransitionDeclarationAccess().getSourceSourceDeclarationParserRuleCall_0_0());
- }
- lv_source_0_0=ruleSourceDeclaration {
- if ($current==null) {
- $current = createModelElementForParent(grammarAccess.getTransitionDeclarationRule());
- }
- set(
- $current,
- "source",
- lv_source_0_0,
- "SourceDeclaration");
- afterParserOrEnumRuleCall();
- }
-
-)
-) otherlv_1='in:'
- {
- newLeafNode(otherlv_1, grammarAccess.getTransitionDeclarationAccess().getInKeyword_1());
- }
-(
-(
- {
- newCompositeNode(grammarAccess.getTransitionDeclarationAccess().getInSignalDeclarationParserRuleCall_2_0());
- }
- lv_in_2_0=ruleSignalDeclaration {
- if ($current==null) {
- $current = createModelElementForParent(grammarAccess.getTransitionDeclarationRule());
- }
- add(
- $current,
- "in",
- lv_in_2_0,
- "SignalDeclaration");
- afterParserOrEnumRuleCall();
- }
-
-)
-)* otherlv_3='out:'
- {
- newLeafNode(otherlv_3, grammarAccess.getTransitionDeclarationAccess().getOutKeyword_3());
- }
-(
-(
- {
- newCompositeNode(grammarAccess.getTransitionDeclarationAccess().getOutSignalDeclarationParserRuleCall_4_0());
- }
- lv_out_4_0=ruleSignalDeclaration {
- if ($current==null) {
- $current = createModelElementForParent(grammarAccess.getTransitionDeclarationRule());
- }
- add(
- $current,
- "out",
- lv_out_4_0,
- "SignalDeclaration");
- afterParserOrEnumRuleCall();
- }
-
-)
-)*(
-(
- {
- newCompositeNode(grammarAccess.getTransitionDeclarationAccess().getDestinationDestinationDeclarationParserRuleCall_5_0());
- }
- lv_destination_5_0=ruleDestinationDeclaration {
- if ($current==null) {
- $current = createModelElementForParent(grammarAccess.getTransitionDeclarationRule());
- }
- set(
- $current,
- "destination",
- lv_destination_5_0,
- "DestinationDeclaration");
- afterParserOrEnumRuleCall();
- }
-
-)
-))
-;
-
-
-
-
-
-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 : .;
-
-
+/*
+* generated by Xtext
+*/
+grammar InternalFSMtest;
+
+options {
+ superClass=AbstractInternalAntlrParser;
+
+}
+
+@lexer::header {
+package org.eclipse.etrice.generator.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 org.eclipse.etrice.generator.parser.antlr.internal;
+
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
+import org.eclipse.etrice.generator.services.FSMtestGrammarAccess;
+
+}
+
+@parser::members {
+
+ private FSMtestGrammarAccess grammarAccess;
+
+ public InternalFSMtestParser(TokenStream input, FSMtestGrammarAccess grammarAccess) {
+ this(input);
+ this.grammarAccess = grammarAccess;
+ registerRules(grammarAccess.getGrammar());
+ }
+
+ @Override
+ protected String getFirstRuleName() {
+ return "Model";
+ }
+
+ @Override
+ protected FSMtestGrammarAccess getGrammarAccess() {
+ return grammarAccess;
+ }
+}
+
+@rulecatch {
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+}
+
+
+
+
+// Entry rule entryRuleModel
+entryRuleModel returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getModelRule()); }
+ iv_ruleModel=ruleModel
+ { $current=$iv_ruleModel.current; }
+ EOF
+;
+
+// Rule Model
+ruleModel returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getModelAccess().getFsmDefinitionsFsmDefinitionParserRuleCall_0_0());
+ }
+ lv_FsmDefinitions_0_0=ruleFsmDefinition {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getModelRule());
+ }
+ add(
+ $current,
+ "FsmDefinitions",
+ lv_FsmDefinitions_0_0,
+ "FsmDefinition");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getModelAccess().getRandomTestsRandomTestParserRuleCall_1_0());
+ }
+ lv_RandomTests_1_0=ruleRandomTest {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getModelRule());
+ }
+ add(
+ $current,
+ "RandomTests",
+ lv_RandomTests_1_0,
+ "RandomTest");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*
+;
+
+
+
+
+
+// Entry rule entryRuleFsmDefinition
+entryRuleFsmDefinition returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getFsmDefinitionRule()); }
+ iv_ruleFsmDefinition=ruleFsmDefinition
+ { $current=$iv_ruleFsmDefinition.current; }
+ EOF
+;
+
+// Rule FsmDefinition
+ruleFsmDefinition returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='fsmdefinition'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getFsmDefinitionAccess().getFsmdefinitionKeyword_0());
+ }
+(
+(
+ lv_name_1_0=RULE_ID
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getFsmDefinitionAccess().getNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getFsmDefinitionRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ID");
+ }
+
+)
+) otherlv_2='initial'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getFsmDefinitionAccess().getInitialKeyword_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getFsmDefinitionAccess().getStatesStateDeclarationParserRuleCall_3_0());
+ }
+ lv_states_3_0=ruleStateDeclaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getFsmDefinitionRule());
+ }
+ add(
+ $current,
+ "states",
+ lv_states_3_0,
+ "StateDeclaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getFsmDefinitionAccess().getStatesStateDeclarationParserRuleCall_4_0());
+ }
+ lv_states_4_0=ruleStateDeclaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getFsmDefinitionRule());
+ }
+ add(
+ $current,
+ "states",
+ lv_states_4_0,
+ "StateDeclaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)* otherlv_5=';'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getFsmDefinitionAccess().getSemicolonKeyword_5());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleRandomTest
+entryRuleRandomTest returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getRandomTestRule()); }
+ iv_ruleRandomTest=ruleRandomTest
+ { $current=$iv_ruleRandomTest.current; }
+ EOF
+;
+
+// Rule RandomTest
+ruleRandomTest returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='randomtest'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getRandomTestAccess().getRandomtestKeyword_0());
+ }
+(
+(
+ lv_name_1_0=RULE_ID
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getRandomTestAccess().getNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getRandomTestRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ID");
+ }
+
+)
+) otherlv_2='fsm:'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getRandomTestAccess().getFsmKeyword_2());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getRandomTestRule());
+ }
+ }
+ otherlv_3=RULE_ID
+ {
+ newLeafNode(otherlv_3, grammarAccess.getRandomTestAccess().getFsmFsmDefinitionCrossReference_3_0());
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getRandomTestAccess().getLoopsDeclarationLoopsDeclarationParserRuleCall_4_0());
+ }
+ lv_loopsDeclaration_4_0=ruleLoopsDeclaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRandomTestRule());
+ }
+ set(
+ $current,
+ "loopsDeclaration",
+ lv_loopsDeclaration_4_0,
+ "LoopsDeclaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getRandomTestAccess().getSeedDeclarationSeedDeclarationParserRuleCall_5_0());
+ }
+ lv_seedDeclaration_5_0=ruleSeedDeclaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRandomTestRule());
+ }
+ set(
+ $current,
+ "seedDeclaration",
+ lv_seedDeclaration_5_0,
+ "SeedDeclaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)? otherlv_6=';'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getRandomTestAccess().getSemicolonKeyword_6());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleGuardDeclaration
+entryRuleGuardDeclaration returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getGuardDeclarationRule()); }
+ iv_ruleGuardDeclaration=ruleGuardDeclaration
+ { $current=$iv_ruleGuardDeclaration.current; }
+ EOF
+;
+
+// Rule GuardDeclaration
+ruleGuardDeclaration returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ {
+ newCompositeNode(grammarAccess.getGuardDeclarationAccess().getSignalSignalDeclarationParserRuleCall_0());
+ }
+ lv_signal_0_0=ruleSignalDeclaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getGuardDeclarationRule());
+ }
+ set(
+ $current,
+ "signal",
+ lv_signal_0_0,
+ "SignalDeclaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleTransitionDeclaration
+entryRuleTransitionDeclaration returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getTransitionDeclarationRule()); }
+ iv_ruleTransitionDeclaration=ruleTransitionDeclaration
+ { $current=$iv_ruleTransitionDeclaration.current; }
+ EOF
+;
+
+// Rule TransitionDeclaration
+ruleTransitionDeclaration returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='transition'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getTransitionDeclarationAccess().getTransitionKeyword_0());
+ }
+(
+(
+ lv_name_1_0=RULE_ID
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getTransitionDeclarationAccess().getNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getTransitionDeclarationRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ID");
+ }
+
+)
+) otherlv_2='to'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getTransitionDeclarationAccess().getToKeyword_2());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getTransitionDeclarationRule());
+ }
+ }
+ otherlv_3=RULE_ID
+ {
+ newLeafNode(otherlv_3, grammarAccess.getTransitionDeclarationAccess().getDestinationStateDeclarationCrossReference_3_0());
+ }
+
+)
+)( otherlv_4='trigger:'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getTransitionDeclarationAccess().getTriggerKeyword_4_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTransitionDeclarationAccess().getTriggerSignalDeclarationParserRuleCall_4_1_0());
+ }
+ lv_trigger_5_0=ruleSignalDeclaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTransitionDeclarationRule());
+ }
+ set(
+ $current,
+ "trigger",
+ lv_trigger_5_0,
+ "SignalDeclaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?( otherlv_6='guards:'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getTransitionDeclarationAccess().getGuardsKeyword_5_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTransitionDeclarationAccess().getTriggersGuardDeclarationParserRuleCall_5_1_0());
+ }
+ lv_triggers_7_0=ruleGuardDeclaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTransitionDeclarationRule());
+ }
+ add(
+ $current,
+ "triggers",
+ lv_triggers_7_0,
+ "GuardDeclaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)+)?( otherlv_8='constraints:'
+ {
+ newLeafNode(otherlv_8, grammarAccess.getTransitionDeclarationAccess().getConstraintsKeyword_6_0());
+ }
+((
+(
+ {
+ newCompositeNode(grammarAccess.getTransitionDeclarationAccess().getPreconditionPreconditionDeclarationParserRuleCall_6_1_0_0());
+ }
+ lv_precondition_9_0=rulePreconditionDeclaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTransitionDeclarationRule());
+ }
+ add(
+ $current,
+ "precondition",
+ lv_precondition_9_0,
+ "PreconditionDeclaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getTransitionDeclarationAccess().getPostconditionPostconditionDeclarationParserRuleCall_6_1_1_0());
+ }
+ lv_postcondition_10_0=rulePostconditionDeclaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTransitionDeclarationRule());
+ }
+ add(
+ $current,
+ "postcondition",
+ lv_postcondition_10_0,
+ "PostconditionDeclaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))+)? otherlv_11=';'
+ {
+ newLeafNode(otherlv_11, grammarAccess.getTransitionDeclarationAccess().getSemicolonKeyword_7());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleConditionDeclaration
+entryRuleConditionDeclaration returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getConditionDeclarationRule()); }
+ iv_ruleConditionDeclaration=ruleConditionDeclaration
+ { $current=$iv_ruleConditionDeclaration.current; }
+ EOF
+;
+
+// Rule ConditionDeclaration
+ruleConditionDeclaration returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='condition'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getConditionDeclarationAccess().getConditionKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getConditionDeclarationAccess().getSignalSignalDeclarationParserRuleCall_1_0());
+ }
+ lv_signal_1_0=ruleSignalDeclaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getConditionDeclarationRule());
+ }
+ set(
+ $current,
+ "signal",
+ lv_signal_1_0,
+ "SignalDeclaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRulePreconditionDeclaration
+entryRulePreconditionDeclaration returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getPreconditionDeclarationRule()); }
+ iv_rulePreconditionDeclaration=rulePreconditionDeclaration
+ { $current=$iv_rulePreconditionDeclaration.current; }
+ EOF
+;
+
+// Rule PreconditionDeclaration
+rulePreconditionDeclaration returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='precondition'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getPreconditionDeclarationAccess().getPreconditionKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getPreconditionDeclarationAccess().getSignalSignalDeclarationParserRuleCall_1_0());
+ }
+ lv_signal_1_0=ruleSignalDeclaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPreconditionDeclarationRule());
+ }
+ set(
+ $current,
+ "signal",
+ lv_signal_1_0,
+ "SignalDeclaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRulePostconditionDeclaration
+entryRulePostconditionDeclaration returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getPostconditionDeclarationRule()); }
+ iv_rulePostconditionDeclaration=rulePostconditionDeclaration
+ { $current=$iv_rulePostconditionDeclaration.current; }
+ EOF
+;
+
+// Rule PostconditionDeclaration
+rulePostconditionDeclaration returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='postcondition'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getPostconditionDeclarationAccess().getPostconditionKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getPostconditionDeclarationAccess().getSignalSignalDeclarationParserRuleCall_1_0());
+ }
+ lv_signal_1_0=ruleSignalDeclaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPostconditionDeclarationRule());
+ }
+ set(
+ $current,
+ "signal",
+ lv_signal_1_0,
+ "SignalDeclaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleStateDeclaration
+entryRuleStateDeclaration returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getStateDeclarationRule()); }
+ iv_ruleStateDeclaration=ruleStateDeclaration
+ { $current=$iv_ruleStateDeclaration.current; }
+ EOF
+;
+
+// Rule StateDeclaration
+ruleStateDeclaration returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='state'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getStateDeclarationAccess().getStateKeyword_0());
+ }
+(
+(
+ lv_name_1_0=RULE_ID
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getStateDeclarationAccess().getNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getStateDeclarationRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ID");
+ }
+
+)
+)( otherlv_2='constraints:'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getStateDeclarationAccess().getConstraintsKeyword_2_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getStateDeclarationAccess().getConditionConditionDeclarationParserRuleCall_2_1_0());
+ }
+ lv_condition_3_0=ruleConditionDeclaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStateDeclarationRule());
+ }
+ add(
+ $current,
+ "condition",
+ lv_condition_3_0,
+ "ConditionDeclaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)+)?(
+(
+ {
+ newCompositeNode(grammarAccess.getStateDeclarationAccess().getTransitionsTransitionDeclarationParserRuleCall_3_0());
+ }
+ lv_transitions_4_0=ruleTransitionDeclaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStateDeclarationRule());
+ }
+ add(
+ $current,
+ "transitions",
+ lv_transitions_4_0,
+ "TransitionDeclaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)+ otherlv_5=';'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getStateDeclarationAccess().getSemicolonKeyword_4());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleLoopsDeclaration
+entryRuleLoopsDeclaration returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getLoopsDeclarationRule()); }
+ iv_ruleLoopsDeclaration=ruleLoopsDeclaration
+ { $current=$iv_ruleLoopsDeclaration.current; }
+ EOF
+;
+
+// Rule LoopsDeclaration
+ruleLoopsDeclaration returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='loops:'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getLoopsDeclarationAccess().getLoopsKeyword_0());
+ }
+(
+(
+ lv_val_1_0=RULE_INT
+ {
+ newLeafNode(lv_val_1_0, grammarAccess.getLoopsDeclarationAccess().getValINTTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getLoopsDeclarationRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "val",
+ lv_val_1_0,
+ "INT");
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleSeedDeclaration
+entryRuleSeedDeclaration returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSeedDeclarationRule()); }
+ iv_ruleSeedDeclaration=ruleSeedDeclaration
+ { $current=$iv_ruleSeedDeclaration.current; }
+ EOF
+;
+
+// Rule SeedDeclaration
+ruleSeedDeclaration returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='randseed:'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getSeedDeclarationAccess().getRandseedKeyword_0());
+ }
+(
+(
+ lv_val_1_0=RULE_INT
+ {
+ newLeafNode(lv_val_1_0, grammarAccess.getSeedDeclarationAccess().getValINTTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getSeedDeclarationRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "val",
+ lv_val_1_0,
+ "INT");
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleSignalDeclaration
+entryRuleSignalDeclaration returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSignalDeclarationRule()); }
+ iv_ruleSignalDeclaration=ruleSignalDeclaration
+ { $current=$iv_ruleSignalDeclaration.current; }
+ EOF
+;
+
+// Rule SignalDeclaration
+ruleSignalDeclaration returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(((
+(
+ lv_port_0_0=RULE_ID
+ {
+ newLeafNode(lv_port_0_0, grammarAccess.getSignalDeclarationAccess().getPortIDTerminalRuleCall_0_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getSignalDeclarationRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "port",
+ lv_port_0_0,
+ "ID");
+ }
+
+)
+) otherlv_1='.'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getSignalDeclarationAccess().getFullStopKeyword_0_1());
+ }
+)?(
+(
+ lv_signame_2_0=RULE_ID
+ {
+ newLeafNode(lv_signame_2_0, grammarAccess.getSignalDeclarationAccess().getSignameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getSignalDeclarationRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "signame",
+ lv_signame_2_0,
+ "ID");
+ }
+
+)
+)(( otherlv_3='='
+ {
+ newLeafNode(otherlv_3, grammarAccess.getSignalDeclarationAccess().getEqualsSignKeyword_2_0_0());
+ }
+(
+(
+ lv_intVal_4_0=RULE_INT
+ {
+ newLeafNode(lv_intVal_4_0, grammarAccess.getSignalDeclarationAccess().getIntValINTTerminalRuleCall_2_0_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getSignalDeclarationRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "intVal",
+ lv_intVal_4_0,
+ "INT");
+ }
+
+)
+))
+ |( otherlv_5='='
+ {
+ newLeafNode(otherlv_5, grammarAccess.getSignalDeclarationAccess().getEqualsSignKeyword_2_1_0());
+ }
+(
+(
+ lv_strVal_6_0=RULE_STRING
+ {
+ newLeafNode(lv_strVal_6_0, grammarAccess.getSignalDeclarationAccess().getStrValSTRINGTerminalRuleCall_2_1_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getSignalDeclarationRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "strVal",
+ lv_strVal_6_0,
+ "STRING");
+ }
+
+)
+)))?)
+;
+
+
+
+
+
+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/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.tokens b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.tokens
index 2d0f32706..e5336c3b9 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.tokens
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.tokens
@@ -1,4 +1,9 @@
RULE_ID=4
+T__28=28
+T__27=27
+T__26=26
+T__25=25
+T__24=24
T__23=23
T__22=22
RULE_ANY_OTHER=10
@@ -18,16 +23,21 @@ T__14=14
T__13=13
RULE_INT=5
RULE_WS=9
-'-> '=21
-'states:'=13
-'out:'=23
-'loops:'=16
-'fsmtest'=11
-'in:'=22
-';'=12
-'='=19
-':'=20
-'randseed:'=17
-','=14
-'.'=18
-'initial:'=15
+'randomtest'=14
+'constraints:'=20
+'condition'=21
+'fsmdefinition'=11
+'fsm:'=15
+'loops:'=25
+'to'=17
+'guards:'=19
+'state'=24
+';'=13
+'='=28
+'randseed:'=26
+'precondition'=22
+'.'=27
+'initial'=12
+'transition'=16
+'trigger:'=18
+'postcondition'=23
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtestLexer.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtestLexer.java
index be9e5da5f..d7ee2c102 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtestLexer.java
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtestLexer.java
@@ -13,6 +13,11 @@ import java.util.ArrayList;
@SuppressWarnings("all")
public class InternalFSMtestLexer extends Lexer {
public static final int RULE_ID=4;
+ public static final int T__28=28;
+ public static final int T__27=27;
+ 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;
@@ -52,10 +57,10 @@ public class InternalFSMtestLexer extends Lexer {
try {
int _type = T__11;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:11:7: ( 'fsmtest' )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:11:9: 'fsmtest'
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:11:7: ( 'fsmdefinition' )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:11:9: 'fsmdefinition'
{
- match("fsmtest");
+ match("fsmdefinition");
}
@@ -73,10 +78,11 @@ public class InternalFSMtestLexer extends Lexer {
try {
int _type = T__12;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:12:7: ( ';' )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:12:9: ';'
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:12:7: ( 'initial' )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:12:9: 'initial'
{
- match(';');
+ match("initial");
+
}
@@ -93,11 +99,10 @@ public class InternalFSMtestLexer extends Lexer {
try {
int _type = T__13;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:13:7: ( 'states:' )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:13:9: 'states:'
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:13:7: ( ';' )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:13:9: ';'
{
- match("states:");
-
+ match(';');
}
@@ -114,10 +119,11 @@ public class InternalFSMtestLexer extends Lexer {
try {
int _type = T__14;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:14:7: ( ',' )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:14:9: ','
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:14:7: ( 'randomtest' )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:14:9: 'randomtest'
{
- match(',');
+ match("randomtest");
+
}
@@ -134,10 +140,10 @@ public class InternalFSMtestLexer extends Lexer {
try {
int _type = T__15;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:15:7: ( 'initial:' )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:15:9: 'initial:'
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:15:7: ( 'fsm:' )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:15:9: 'fsm:'
{
- match("initial:");
+ match("fsm:");
}
@@ -155,10 +161,10 @@ public class InternalFSMtestLexer extends Lexer {
try {
int _type = T__16;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:16:7: ( 'loops:' )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:16:9: 'loops:'
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:16:7: ( 'transition' )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:16:9: 'transition'
{
- match("loops:");
+ match("transition");
}
@@ -176,10 +182,10 @@ public class InternalFSMtestLexer extends Lexer {
try {
int _type = T__17;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:17:7: ( 'randseed:' )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:17:9: 'randseed:'
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:17:7: ( 'to' )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:17:9: 'to'
{
- match("randseed:");
+ match("to");
}
@@ -197,10 +203,11 @@ public class InternalFSMtestLexer extends Lexer {
try {
int _type = T__18;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:18:7: ( '.' )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:18:9: '.'
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:18:7: ( 'trigger:' )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:18:9: 'trigger:'
{
- match('.');
+ match("trigger:");
+
}
@@ -217,10 +224,11 @@ public class InternalFSMtestLexer extends Lexer {
try {
int _type = T__19;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:19:7: ( '=' )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:19:9: '='
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:19:7: ( 'guards:' )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:19:9: 'guards:'
{
- match('=');
+ match("guards:");
+
}
@@ -237,10 +245,11 @@ public class InternalFSMtestLexer extends Lexer {
try {
int _type = T__20;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:20:7: ( ':' )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:20:9: ':'
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:20:7: ( 'constraints:' )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:20:9: 'constraints:'
{
- match(':');
+ match("constraints:");
+
}
@@ -257,10 +266,10 @@ public class InternalFSMtestLexer extends Lexer {
try {
int _type = T__21;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:21:7: ( '-> ' )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:21:9: '-> '
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:21:7: ( 'condition' )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:21:9: 'condition'
{
- match("-> ");
+ match("condition");
}
@@ -278,10 +287,10 @@ public class InternalFSMtestLexer extends Lexer {
try {
int _type = T__22;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:22:7: ( 'in:' )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:22:9: 'in:'
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:22:7: ( 'precondition' )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:22:9: 'precondition'
{
- match("in:");
+ match("precondition");
}
@@ -299,10 +308,10 @@ public class InternalFSMtestLexer extends Lexer {
try {
int _type = T__23;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:23:7: ( 'out:' )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:23:9: 'out:'
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:23:7: ( 'postcondition' )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:23:9: 'postcondition'
{
- match("out:");
+ match("postcondition");
}
@@ -315,15 +324,118 @@ public class InternalFSMtestLexer extends Lexer {
}
// $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;
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:24:7: ( 'state' )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:24:9: 'state'
+ {
+ match("state");
+
+
+ }
+
+ 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;
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:25:7: ( 'loops:' )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:25:9: 'loops:'
+ {
+ match("loops:");
+
+
+ }
+
+ 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;
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:26:7: ( 'randseed:' )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:26:9: 'randseed:'
+ {
+ match("randseed:");
+
+
+ }
+
+ 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;
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:27:7: ( '.' )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:27:9: '.'
+ {
+ match('.');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__27"
+
+ // $ANTLR start "T__28"
+ public final void mT__28() throws RecognitionException {
+ try {
+ int _type = T__28;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:28:7: ( '=' )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:28:9: '='
+ {
+ match('=');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__28"
+
// $ANTLR start "RULE_ID"
public final void mRULE_ID() throws RecognitionException {
try {
int _type = RULE_ID;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:753:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:753:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:907:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:907:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:753:11: ( '^' )?
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:907:11: ( '^' )?
int alt1=2;
int LA1_0 = input.LA(1);
@@ -332,7 +444,7 @@ public class InternalFSMtestLexer extends Lexer {
}
switch (alt1) {
case 1 :
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:753:11: '^'
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:907:11: '^'
{
match('^');
@@ -350,7 +462,7 @@ public class InternalFSMtestLexer extends Lexer {
recover(mse);
throw mse;}
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:753:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:907:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
loop2:
do {
int alt2=2;
@@ -399,10 +511,10 @@ public class InternalFSMtestLexer extends Lexer {
try {
int _type = RULE_INT;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:755:10: ( ( '0' .. '9' )+ )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:755:12: ( '0' .. '9' )+
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:909:10: ( ( '0' .. '9' )+ )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:909:12: ( '0' .. '9' )+
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:755:12: ( '0' .. '9' )+
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:909:12: ( '0' .. '9' )+
int cnt3=0;
loop3:
do {
@@ -416,7 +528,7 @@ public class InternalFSMtestLexer extends Lexer {
switch (alt3) {
case 1 :
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:755:13: '0' .. '9'
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:909:13: '0' .. '9'
{
matchRange('0','9');
@@ -448,10 +560,10 @@ public class InternalFSMtestLexer extends Lexer {
try {
int _type = RULE_STRING;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:757:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:757:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:911:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:911:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:757:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:911:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
int alt6=2;
int LA6_0 = input.LA(1);
@@ -469,10 +581,10 @@ public class InternalFSMtestLexer extends Lexer {
}
switch (alt6) {
case 1 :
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:757:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:911:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
{
match('\"');
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:757:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:911:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
loop4:
do {
int alt4=3;
@@ -488,7 +600,7 @@ public class InternalFSMtestLexer extends Lexer {
switch (alt4) {
case 1 :
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:757:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:911: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') ) {
@@ -504,7 +616,7 @@ public class InternalFSMtestLexer extends Lexer {
}
break;
case 2 :
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:757:66: ~ ( ( '\\\\' | '\"' ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:911:66: ~ ( ( '\\\\' | '\"' ) )
{
if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
input.consume();
@@ -529,10 +641,10 @@ public class InternalFSMtestLexer extends Lexer {
}
break;
case 2 :
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:757:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:911:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
{
match('\'');
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:757:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:911:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
loop5:
do {
int alt5=3;
@@ -548,7 +660,7 @@ public class InternalFSMtestLexer extends Lexer {
switch (alt5) {
case 1 :
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:757:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:911: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') ) {
@@ -564,7 +676,7 @@ public class InternalFSMtestLexer extends Lexer {
}
break;
case 2 :
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:757:137: ~ ( ( '\\\\' | '\\'' ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:911:137: ~ ( ( '\\\\' | '\\'' ) )
{
if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
input.consume();
@@ -607,12 +719,12 @@ public class InternalFSMtestLexer extends Lexer {
try {
int _type = RULE_ML_COMMENT;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:759:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:759:19: '/*' ( options {greedy=false; } : . )* '*/'
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:913:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:913:19: '/*' ( options {greedy=false; } : . )* '*/'
{
match("/*");
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:759:24: ( options {greedy=false; } : . )*
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:913:24: ( options {greedy=false; } : . )*
loop7:
do {
int alt7=2;
@@ -637,7 +749,7 @@ public class InternalFSMtestLexer extends Lexer {
switch (alt7) {
case 1 :
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:759:52: .
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:913:52: .
{
matchAny();
@@ -667,12 +779,12 @@ public class InternalFSMtestLexer extends Lexer {
try {
int _type = RULE_SL_COMMENT;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:761:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:761:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:915:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:915:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
{
match("//");
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:761:24: (~ ( ( '\\n' | '\\r' ) ) )*
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:915:24: (~ ( ( '\\n' | '\\r' ) ) )*
loop8:
do {
int alt8=2;
@@ -685,7 +797,7 @@ public class InternalFSMtestLexer extends Lexer {
switch (alt8) {
case 1 :
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:761:24: ~ ( ( '\\n' | '\\r' ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:915: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();
@@ -705,7 +817,7 @@ public class InternalFSMtestLexer extends Lexer {
}
} while (true);
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:761:40: ( ( '\\r' )? '\\n' )?
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:915:40: ( ( '\\r' )? '\\n' )?
int alt10=2;
int LA10_0 = input.LA(1);
@@ -714,9 +826,9 @@ public class InternalFSMtestLexer extends Lexer {
}
switch (alt10) {
case 1 :
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:761:41: ( '\\r' )? '\\n'
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:915:41: ( '\\r' )? '\\n'
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:761:41: ( '\\r' )?
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:915:41: ( '\\r' )?
int alt9=2;
int LA9_0 = input.LA(1);
@@ -725,7 +837,7 @@ public class InternalFSMtestLexer extends Lexer {
}
switch (alt9) {
case 1 :
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:761:41: '\\r'
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:915:41: '\\r'
{
match('\r');
@@ -757,10 +869,10 @@ public class InternalFSMtestLexer extends Lexer {
try {
int _type = RULE_WS;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:763:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:763:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:917:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:917:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:763:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:917:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
int cnt11=0;
loop11:
do {
@@ -814,8 +926,8 @@ public class InternalFSMtestLexer extends Lexer {
try {
int _type = RULE_ANY_OTHER;
int _channel = DEFAULT_TOKEN_CHANNEL;
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:765:16: ( . )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:765:18: .
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:919:16: ( . )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:919:18: .
{
matchAny();
@@ -830,8 +942,8 @@ public class InternalFSMtestLexer extends Lexer {
// $ANTLR end "RULE_ANY_OTHER"
public void mTokens() throws RecognitionException {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.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 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
- int alt12=20;
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.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 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+ int alt12=25;
alt12 = dfa12.predict(input);
switch (alt12) {
case 1 :
@@ -926,49 +1038,84 @@ public class InternalFSMtestLexer extends Lexer {
}
break;
case 14 :
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:88: RULE_ID
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:88: T__24
{
- mRULE_ID();
+ mT__24();
}
break;
case 15 :
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:96: RULE_INT
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:94: T__25
{
- mRULE_INT();
+ mT__25();
}
break;
case 16 :
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:105: RULE_STRING
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:100: T__26
{
- mRULE_STRING();
+ mT__26();
}
break;
case 17 :
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:117: RULE_ML_COMMENT
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:106: T__27
{
- mRULE_ML_COMMENT();
+ mT__27();
}
break;
case 18 :
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:133: RULE_SL_COMMENT
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:112: T__28
{
- mRULE_SL_COMMENT();
+ mT__28();
}
break;
case 19 :
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:149: RULE_WS
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:118: RULE_ID
{
- mRULE_WS();
+ mRULE_ID();
}
break;
case 20 :
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:157: RULE_ANY_OTHER
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:126: RULE_INT
+ {
+ mRULE_INT();
+
+ }
+ break;
+ case 21 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:135: RULE_STRING
+ {
+ mRULE_STRING();
+
+ }
+ break;
+ case 22 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:147: RULE_ML_COMMENT
+ {
+ mRULE_ML_COMMENT();
+
+ }
+ break;
+ case 23 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:163: RULE_SL_COMMENT
+ {
+ mRULE_SL_COMMENT();
+
+ }
+ break;
+ case 24 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:179: RULE_WS
+ {
+ mRULE_WS();
+
+ }
+ break;
+ case 25 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:187: RULE_ANY_OTHER
{
mRULE_ANY_OTHER();
@@ -982,105 +1129,195 @@ public class InternalFSMtestLexer extends Lexer {
protected DFA12 dfa12 = new DFA12(this);
static final String DFA12_eotS =
- "\1\uffff\1\26\1\uffff\1\26\1\uffff\3\26\3\uffff\1\24\1\26\1\24"+
- "\2\uffff\3\24\2\uffff\1\26\2\uffff\1\26\1\uffff\3\26\4\uffff\1\26"+
- "\5\uffff\3\26\1\uffff\10\26\1\uffff\10\26\1\uffff\1\26\1\102\1\uffff"+
- "\2\26\2\uffff\1\26\1\uffff";
+ "\1\uffff\2\26\1\uffff\7\26\2\uffff\1\24\2\uffff\3\24\2\uffff\1"+
+ "\26\1\uffff\1\26\1\uffff\2\26\1\56\6\26\7\uffff\5\26\1\uffff\7\26"+
+ "\1\uffff\26\26\1\132\14\26\2\uffff\1\26\1\150\4\26\1\uffff\5\26"+
+ "\1\uffff\3\26\1\uffff\6\26\1\uffff\2\26\1\175\3\26\1\u0081\1\u0082"+
+ "\1\26\1\uffff\3\26\2\uffff\4\26\1\uffff\1\u008b\1\26\1\u008d\1\uffff"+
+ "\1\u008e\2\uffff";
static final String DFA12_eofS =
- "\106\uffff";
+ "\u008f\uffff";
static final String DFA12_minS =
- "\1\0\1\163\1\uffff\1\164\1\uffff\1\156\1\157\1\141\3\uffff\1\76"+
- "\1\165\1\101\2\uffff\2\0\1\52\2\uffff\1\155\2\uffff\1\141\1\uffff"+
- "\1\72\1\157\1\156\4\uffff\1\164\5\uffff\3\164\1\uffff\1\160\1\144"+
- "\1\72\2\145\1\151\2\163\1\uffff\2\163\1\141\1\72\1\145\1\164\1\72"+
- "\1\154\1\uffff\1\145\1\60\1\uffff\1\72\1\144\2\uffff\1\72\1\uffff";
+ "\1\0\1\163\1\156\1\uffff\1\141\1\157\1\165\2\157\1\164\1\157\2"+
+ "\uffff\1\101\2\uffff\2\0\1\52\2\uffff\1\155\1\uffff\1\151\1\uffff"+
+ "\1\156\1\141\1\60\1\141\1\156\1\145\1\163\1\141\1\157\7\uffff\1"+
+ "\72\1\164\1\144\1\156\1\147\1\uffff\1\162\1\144\1\143\2\164\1\160"+
+ "\1\145\1\uffff\1\151\1\157\1\163\1\147\1\144\1\164\1\151\1\157\1"+
+ "\143\1\145\1\163\1\146\1\141\1\155\1\145\1\151\1\145\1\163\1\162"+
+ "\1\164\1\156\1\157\1\60\1\72\1\151\1\154\1\164\1\145\1\164\1\162"+
+ "\1\72\1\141\1\151\1\144\1\156\2\uffff\1\156\1\60\1\145\1\144\1\151"+
+ "\1\72\1\uffff\1\151\1\157\1\151\1\144\1\151\1\uffff\1\163\1\72\1"+
+ "\157\1\uffff\2\156\1\164\1\151\2\164\1\uffff\1\156\1\164\1\60\1"+
+ "\151\1\164\1\151\2\60\1\163\1\uffff\1\157\1\151\1\157\2\uffff\1"+
+ "\72\1\156\1\157\1\156\1\uffff\1\60\1\156\1\60\1\uffff\1\60\2\uffff";
static final String DFA12_maxS =
- "\1\uffff\1\163\1\uffff\1\164\1\uffff\1\156\1\157\1\141\3\uffff"+
- "\1\76\1\165\1\172\2\uffff\2\uffff\1\57\2\uffff\1\155\2\uffff\1\141"+
- "\1\uffff\1\151\1\157\1\156\4\uffff\1\164\5\uffff\3\164\1\uffff\1"+
- "\160\1\144\1\72\2\145\1\151\2\163\1\uffff\2\163\1\141\1\72\1\145"+
- "\1\164\1\72\1\154\1\uffff\1\145\1\172\1\uffff\1\72\1\144\2\uffff"+
- "\1\72\1\uffff";
+ "\1\uffff\1\163\1\156\1\uffff\1\141\1\162\1\165\1\157\1\162\1\164"+
+ "\1\157\2\uffff\1\172\2\uffff\2\uffff\1\57\2\uffff\1\155\1\uffff"+
+ "\1\151\1\uffff\1\156\1\151\1\172\1\141\1\156\1\145\1\163\1\141\1"+
+ "\157\7\uffff\1\144\1\164\1\144\1\156\1\147\1\uffff\1\162\1\163\1"+
+ "\143\2\164\1\160\1\145\1\uffff\1\151\2\163\1\147\1\144\1\164\1\151"+
+ "\1\157\1\143\1\145\1\163\1\146\1\141\1\155\1\145\1\151\1\145\1\163"+
+ "\1\162\1\164\1\156\1\157\1\172\1\72\1\151\1\154\1\164\1\145\1\164"+
+ "\1\162\1\72\1\141\1\151\1\144\1\156\2\uffff\1\156\1\172\1\145\1"+
+ "\144\1\151\1\72\1\uffff\1\151\1\157\1\151\1\144\1\151\1\uffff\1"+
+ "\163\1\72\1\157\1\uffff\2\156\1\164\1\151\2\164\1\uffff\1\156\1"+
+ "\164\1\172\1\151\1\164\1\151\2\172\1\163\1\uffff\1\157\1\151\1\157"+
+ "\2\uffff\1\72\1\156\1\157\1\156\1\uffff\1\172\1\156\1\172\1\uffff"+
+ "\1\172\2\uffff";
static final String DFA12_acceptS =
- "\2\uffff\1\2\1\uffff\1\4\3\uffff\1\10\1\11\1\12\3\uffff\1\16\1"+
- "\17\3\uffff\1\23\1\24\1\uffff\1\16\1\2\1\uffff\1\4\3\uffff\1\10"+
- "\1\11\1\12\1\13\1\uffff\1\17\1\20\1\21\1\22\1\23\3\uffff\1\14\10"+
- "\uffff\1\15\10\uffff\1\6\2\uffff\1\3\2\uffff\1\1\1\5\1\uffff\1\7";
+ "\3\uffff\1\3\7\uffff\1\21\1\22\1\uffff\1\23\1\24\3\uffff\1\30\1"+
+ "\31\1\uffff\1\23\1\uffff\1\3\11\uffff\1\21\1\22\1\24\1\25\1\26\1"+
+ "\27\1\30\5\uffff\1\7\7\uffff\1\5\43\uffff\1\16\1\17\6\uffff\1\11"+
+ "\5\uffff\1\2\3\uffff\1\10\6\uffff\1\20\11\uffff\1\13\3\uffff\1\4"+
+ "\1\6\4\uffff\1\12\3\uffff\1\14\1\uffff\1\1\1\15";
static final String DFA12_specialS =
- "\1\1\17\uffff\1\2\1\0\64\uffff}>";
+ "\1\1\17\uffff\1\0\1\2\175\uffff}>";
static final String[] DFA12_transitionS = {
- "\11\24\2\23\2\24\1\23\22\24\1\23\1\24\1\20\4\24\1\21\4\24\1"+
- "\4\1\13\1\10\1\22\12\17\1\12\1\2\1\24\1\11\3\24\32\16\3\24\1"+
- "\15\1\16\1\24\5\16\1\1\2\16\1\5\2\16\1\6\2\16\1\14\2\16\1\7"+
- "\1\3\7\16\uff85\24",
+ "\11\24\2\23\2\24\1\23\22\24\1\23\1\24\1\20\4\24\1\21\6\24\1"+
+ "\13\1\22\12\17\1\24\1\3\1\24\1\14\3\24\32\16\3\24\1\15\1\16"+
+ "\1\24\2\16\1\7\2\16\1\1\1\6\1\16\1\2\2\16\1\12\3\16\1\10\1\16"+
+ "\1\4\1\11\1\5\6\16\uff85\24",
"\1\25",
+ "\1\27",
"",
- "\1\30",
- "",
- "\1\32",
- "\1\33",
+ "\1\31",
+ "\1\33\2\uffff\1\32",
"\1\34",
- "",
- "",
- "",
+ "\1\35",
+ "\1\37\2\uffff\1\36",
"\1\40",
"\1\41",
- "\32\26\4\uffff\1\26\1\uffff\32\26",
- "",
"",
- "\0\43",
- "\0\43",
- "\1\44\4\uffff\1\45",
"",
- "",
- "\1\47",
+ "\32\26\4\uffff\1\26\1\uffff\32\26",
"",
"",
- "\1\50",
+ "\0\45",
+ "\0\45",
+ "\1\46\4\uffff\1\47",
"",
- "\1\52\56\uffff\1\51",
- "\1\53",
- "\1\54",
"",
+ "\1\51",
"",
+ "\1\52",
"",
+ "\1\53",
+ "\1\54\7\uffff\1\55",
+ "\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
+ "\1\57",
+ "\1\60",
+ "\1\61",
+ "\1\62",
+ "\1\63",
+ "\1\64",
"",
- "\1\55",
"",
"",
"",
"",
"",
- "\1\56",
- "\1\57",
- "\1\60",
"",
- "\1\61",
- "\1\62",
- "\1\63",
- "\1\64",
- "\1\65",
- "\1\66",
+ "\1\66\51\uffff\1\65",
"\1\67",
"\1\70",
- "",
"\1\71",
"\1\72",
+ "",
"\1\73",
- "\1\74",
- "\1\75",
+ "\1\75\16\uffff\1\74",
"\1\76",
"\1\77",
"\1\100",
- "",
"\1\101",
- "\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
+ "\1\102",
"",
"\1\103",
- "\1\104",
+ "\1\104\3\uffff\1\105",
+ "\1\106",
+ "\1\107",
+ "\1\110",
+ "\1\111",
+ "\1\112",
+ "\1\113",
+ "\1\114",
+ "\1\115",
+ "\1\116",
+ "\1\117",
+ "\1\120",
+ "\1\121",
+ "\1\122",
+ "\1\123",
+ "\1\124",
+ "\1\125",
+ "\1\126",
+ "\1\127",
+ "\1\130",
+ "\1\131",
+ "\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
+ "\1\133",
+ "\1\134",
+ "\1\135",
+ "\1\136",
+ "\1\137",
+ "\1\140",
+ "\1\141",
+ "\1\142",
+ "\1\143",
+ "\1\144",
+ "\1\145",
+ "\1\146",
"",
"",
- "\1\105",
+ "\1\147",
+ "\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
+ "\1\151",
+ "\1\152",
+ "\1\153",
+ "\1\154",
+ "",
+ "\1\155",
+ "\1\156",
+ "\1\157",
+ "\1\160",
+ "\1\161",
+ "",
+ "\1\162",
+ "\1\163",
+ "\1\164",
+ "",
+ "\1\165",
+ "\1\166",
+ "\1\167",
+ "\1\170",
+ "\1\171",
+ "\1\172",
+ "",
+ "\1\173",
+ "\1\174",
+ "\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
+ "\1\176",
+ "\1\177",
+ "\1\u0080",
+ "\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
+ "\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
+ "\1\u0083",
+ "",
+ "\1\u0084",
+ "\1\u0085",
+ "\1\u0086",
+ "",
+ "",
+ "\1\u0087",
+ "\1\u0088",
+ "\1\u0089",
+ "\1\u008a",
+ "",
+ "\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
+ "\1\u008c",
+ "\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
+ "",
+ "\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
+ "",
""
};
@@ -1114,17 +1351,17 @@ public class InternalFSMtestLexer extends Lexer {
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 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
+ 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 | 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_17 = input.LA(1);
+ int LA12_16 = input.LA(1);
s = -1;
- if ( ((LA12_17>='\u0000' && LA12_17<='\uFFFF')) ) {s = 35;}
+ if ( ((LA12_16>='\u0000' && LA12_16<='\uFFFF')) ) {s = 37;}
else s = 20;
@@ -1136,31 +1373,31 @@ public class InternalFSMtestLexer extends Lexer {
s = -1;
if ( (LA12_0=='f') ) {s = 1;}
- else if ( (LA12_0==';') ) {s = 2;}
+ else if ( (LA12_0=='i') ) {s = 2;}
- else if ( (LA12_0=='s') ) {s = 3;}
+ else if ( (LA12_0==';') ) {s = 3;}
- else if ( (LA12_0==',') ) {s = 4;}
+ else if ( (LA12_0=='r') ) {s = 4;}
- else if ( (LA12_0=='i') ) {s = 5;}
+ else if ( (LA12_0=='t') ) {s = 5;}
- else if ( (LA12_0=='l') ) {s = 6;}
+ else if ( (LA12_0=='g') ) {s = 6;}
- else if ( (LA12_0=='r') ) {s = 7;}
+ else if ( (LA12_0=='c') ) {s = 7;}
- else if ( (LA12_0=='.') ) {s = 8;}
+ else if ( (LA12_0=='p') ) {s = 8;}
- else if ( (LA12_0=='=') ) {s = 9;}
+ else if ( (LA12_0=='s') ) {s = 9;}
- else if ( (LA12_0==':') ) {s = 10;}
+ else if ( (LA12_0=='l') ) {s = 10;}
- else if ( (LA12_0=='-') ) {s = 11;}
+ else if ( (LA12_0=='.') ) {s = 11;}
- else if ( (LA12_0=='o') ) {s = 12;}
+ else if ( (LA12_0=='=') ) {s = 12;}
else if ( (LA12_0=='^') ) {s = 13;}
- else if ( ((LA12_0>='A' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='a' && LA12_0<='e')||(LA12_0>='g' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='k')||(LA12_0>='m' && LA12_0<='n')||(LA12_0>='p' && LA12_0<='q')||(LA12_0>='t' && LA12_0<='z')) ) {s = 14;}
+ else if ( ((LA12_0>='A' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='a' && LA12_0<='b')||(LA12_0>='d' && LA12_0<='e')||LA12_0=='h'||(LA12_0>='j' && LA12_0<='k')||(LA12_0>='m' && LA12_0<='o')||LA12_0=='q'||(LA12_0>='u' && LA12_0<='z')) ) {s = 14;}
else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 15;}
@@ -1172,15 +1409,15 @@ public class InternalFSMtestLexer extends Lexer {
else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 19;}
- 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 = 20;}
+ 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>='{' && LA12_0<='\uFFFF')) ) {s = 20;}
if ( s>=0 ) return s;
break;
case 2 :
- int LA12_16 = input.LA(1);
+ int LA12_17 = input.LA(1);
s = -1;
- if ( ((LA12_16>='\u0000' && LA12_16<='\uFFFF')) ) {s = 35;}
+ if ( ((LA12_17>='\u0000' && LA12_17<='\uFFFF')) ) {s = 37;}
else s = 20;
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtestParser.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtestParser.java
index eda7ecbcf..f5b7ca70b 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtestParser.java
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtestParser.java
@@ -21,9 +21,14 @@ import java.util.ArrayList;
@SuppressWarnings("all")
public class InternalFSMtestParser extends AbstractInternalAntlrParser {
public static final String[] tokenNames = new String[] {
- "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_INT", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'fsmtest'", "';'", "'states:'", "','", "'initial:'", "'loops:'", "'randseed:'", "'.'", "'='", "':'", "'-> '", "'in:'", "'out:'"
+ "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_INT", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'fsmdefinition'", "'initial'", "';'", "'randomtest'", "'fsm:'", "'transition'", "'to'", "'trigger:'", "'guards:'", "'constraints:'", "'condition'", "'precondition'", "'postcondition'", "'state'", "'loops:'", "'randseed:'", "'.'", "'='"
};
public static final int RULE_ID=4;
+ public static final int T__28=28;
+ public static final int T__27=27;
+ 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;
@@ -120,42 +125,87 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
// $ANTLR start "ruleModel"
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:76:1: ruleModel returns [EObject current=null] : ( (lv_Testscripts_0_0= ruleTestscript ) )* ;
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:76:1: ruleModel returns [EObject current=null] : ( ( (lv_FsmDefinitions_0_0= ruleFsmDefinition ) ) | ( (lv_RandomTests_1_0= ruleRandomTest ) ) )* ;
public final EObject ruleModel() throws RecognitionException {
EObject current = null;
- EObject lv_Testscripts_0_0 = null;
+ EObject lv_FsmDefinitions_0_0 = null;
+
+ EObject lv_RandomTests_1_0 = null;
enterRule();
try {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:79:28: ( ( (lv_Testscripts_0_0= ruleTestscript ) )* )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:80:1: ( (lv_Testscripts_0_0= ruleTestscript ) )*
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:79:28: ( ( ( (lv_FsmDefinitions_0_0= ruleFsmDefinition ) ) | ( (lv_RandomTests_1_0= ruleRandomTest ) ) )* )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:80:1: ( ( (lv_FsmDefinitions_0_0= ruleFsmDefinition ) ) | ( (lv_RandomTests_1_0= ruleRandomTest ) ) )*
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:80:1: ( (lv_Testscripts_0_0= ruleTestscript ) )*
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:80:1: ( ( (lv_FsmDefinitions_0_0= ruleFsmDefinition ) ) | ( (lv_RandomTests_1_0= ruleRandomTest ) ) )*
loop1:
do {
- int alt1=2;
+ int alt1=3;
int LA1_0 = input.LA(1);
if ( (LA1_0==11) ) {
alt1=1;
}
+ else if ( (LA1_0==14) ) {
+ alt1=2;
+ }
switch (alt1) {
case 1 :
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:81:1: (lv_Testscripts_0_0= ruleTestscript )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:80:2: ( (lv_FsmDefinitions_0_0= ruleFsmDefinition ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:80:2: ( (lv_FsmDefinitions_0_0= ruleFsmDefinition ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:81:1: (lv_FsmDefinitions_0_0= ruleFsmDefinition )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:81:1: (lv_FsmDefinitions_0_0= ruleFsmDefinition )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:82:3: lv_FsmDefinitions_0_0= ruleFsmDefinition
+ {
+
+ newCompositeNode(grammarAccess.getModelAccess().getFsmDefinitionsFsmDefinitionParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleFsmDefinition_in_ruleModel131);
+ lv_FsmDefinitions_0_0=ruleFsmDefinition();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getModelRule());
+ }
+ add(
+ current,
+ "FsmDefinitions",
+ lv_FsmDefinitions_0_0,
+ "FsmDefinition");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:99:6: ( (lv_RandomTests_1_0= ruleRandomTest ) )
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:81:1: (lv_Testscripts_0_0= ruleTestscript )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:82:3: lv_Testscripts_0_0= ruleTestscript
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:99:6: ( (lv_RandomTests_1_0= ruleRandomTest ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:100:1: (lv_RandomTests_1_0= ruleRandomTest )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:100:1: (lv_RandomTests_1_0= ruleRandomTest )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:101:3: lv_RandomTests_1_0= ruleRandomTest
{
- newCompositeNode(grammarAccess.getModelAccess().getTestscriptsTestscriptParserRuleCall_0());
+ newCompositeNode(grammarAccess.getModelAccess().getRandomTestsRandomTestParserRuleCall_1_0());
- pushFollow(FOLLOW_ruleTestscript_in_ruleModel130);
- lv_Testscripts_0_0=ruleTestscript();
+ pushFollow(FOLLOW_ruleRandomTest_in_ruleModel158);
+ lv_RandomTests_1_0=ruleRandomTest();
state._fsp--;
@@ -165,9 +215,9 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
}
add(
current,
- "Testscripts",
- lv_Testscripts_0_0,
- "Testscript");
+ "RandomTests",
+ lv_RandomTests_1_0,
+ "RandomTest");
afterParserOrEnumRuleCall();
@@ -175,6 +225,9 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
}
+
+
+ }
break;
default :
@@ -199,26 +252,26 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
// $ANTLR end "ruleModel"
- // $ANTLR start "entryRuleTestscript"
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:106:1: entryRuleTestscript returns [EObject current=null] : iv_ruleTestscript= ruleTestscript EOF ;
- public final EObject entryRuleTestscript() throws RecognitionException {
+ // $ANTLR start "entryRuleFsmDefinition"
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:125:1: entryRuleFsmDefinition returns [EObject current=null] : iv_ruleFsmDefinition= ruleFsmDefinition EOF ;
+ public final EObject entryRuleFsmDefinition() throws RecognitionException {
EObject current = null;
- EObject iv_ruleTestscript = null;
+ EObject iv_ruleFsmDefinition = null;
try {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:107:2: (iv_ruleTestscript= ruleTestscript EOF )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:108:2: iv_ruleTestscript= ruleTestscript EOF
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:126:2: (iv_ruleFsmDefinition= ruleFsmDefinition EOF )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:127:2: iv_ruleFsmDefinition= ruleFsmDefinition EOF
{
- newCompositeNode(grammarAccess.getTestscriptRule());
- pushFollow(FOLLOW_ruleTestscript_in_entryRuleTestscript166);
- iv_ruleTestscript=ruleTestscript();
+ newCompositeNode(grammarAccess.getFsmDefinitionRule());
+ pushFollow(FOLLOW_ruleFsmDefinition_in_entryRuleFsmDefinition195);
+ iv_ruleFsmDefinition=ruleFsmDefinition();
state._fsp--;
- current =iv_ruleTestscript;
- match(input,EOF,FOLLOW_EOF_in_entryRuleTestscript176);
+ current =iv_ruleFsmDefinition;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleFsmDefinition205);
}
@@ -232,54 +285,49 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
}
return current;
}
- // $ANTLR end "entryRuleTestscript"
+ // $ANTLR end "entryRuleFsmDefinition"
- // $ANTLR start "ruleTestscript"
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:115:1: ruleTestscript returns [EObject current=null] : (otherlv_0= 'fsmtest' ( (lv_name_1_0= RULE_ID ) ) ( (lv_stateDeclaration_2_0= ruleStateDeclaration ) ) ( (lv_initialDeclaration_3_0= ruleInitialDeclaration ) ) ( (lv_loopsDeclaration_4_0= ruleLoopsDeclaration ) ) ( (lv_seedDeclaration_5_0= ruleSeedDeclaration ) )? ( (lv_transitionDeclarations_6_0= ruleTransitionDeclaration ) )* otherlv_7= ';' ) ;
- public final EObject ruleTestscript() throws RecognitionException {
+ // $ANTLR start "ruleFsmDefinition"
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:134:1: ruleFsmDefinition returns [EObject current=null] : (otherlv_0= 'fsmdefinition' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'initial' ( (lv_states_3_0= ruleStateDeclaration ) ) ( (lv_states_4_0= ruleStateDeclaration ) )* otherlv_5= ';' ) ;
+ public final EObject ruleFsmDefinition() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token lv_name_1_0=null;
- Token otherlv_7=null;
- EObject lv_stateDeclaration_2_0 = null;
-
- EObject lv_initialDeclaration_3_0 = null;
-
- EObject lv_loopsDeclaration_4_0 = null;
-
- EObject lv_seedDeclaration_5_0 = null;
+ Token otherlv_2=null;
+ Token otherlv_5=null;
+ EObject lv_states_3_0 = null;
- EObject lv_transitionDeclarations_6_0 = null;
+ EObject lv_states_4_0 = null;
enterRule();
try {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:118:28: ( (otherlv_0= 'fsmtest' ( (lv_name_1_0= RULE_ID ) ) ( (lv_stateDeclaration_2_0= ruleStateDeclaration ) ) ( (lv_initialDeclaration_3_0= ruleInitialDeclaration ) ) ( (lv_loopsDeclaration_4_0= ruleLoopsDeclaration ) ) ( (lv_seedDeclaration_5_0= ruleSeedDeclaration ) )? ( (lv_transitionDeclarations_6_0= ruleTransitionDeclaration ) )* otherlv_7= ';' ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:119:1: (otherlv_0= 'fsmtest' ( (lv_name_1_0= RULE_ID ) ) ( (lv_stateDeclaration_2_0= ruleStateDeclaration ) ) ( (lv_initialDeclaration_3_0= ruleInitialDeclaration ) ) ( (lv_loopsDeclaration_4_0= ruleLoopsDeclaration ) ) ( (lv_seedDeclaration_5_0= ruleSeedDeclaration ) )? ( (lv_transitionDeclarations_6_0= ruleTransitionDeclaration ) )* otherlv_7= ';' )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:137:28: ( (otherlv_0= 'fsmdefinition' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'initial' ( (lv_states_3_0= ruleStateDeclaration ) ) ( (lv_states_4_0= ruleStateDeclaration ) )* otherlv_5= ';' ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:138:1: (otherlv_0= 'fsmdefinition' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'initial' ( (lv_states_3_0= ruleStateDeclaration ) ) ( (lv_states_4_0= ruleStateDeclaration ) )* otherlv_5= ';' )
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:119:1: (otherlv_0= 'fsmtest' ( (lv_name_1_0= RULE_ID ) ) ( (lv_stateDeclaration_2_0= ruleStateDeclaration ) ) ( (lv_initialDeclaration_3_0= ruleInitialDeclaration ) ) ( (lv_loopsDeclaration_4_0= ruleLoopsDeclaration ) ) ( (lv_seedDeclaration_5_0= ruleSeedDeclaration ) )? ( (lv_transitionDeclarations_6_0= ruleTransitionDeclaration ) )* otherlv_7= ';' )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:119:3: otherlv_0= 'fsmtest' ( (lv_name_1_0= RULE_ID ) ) ( (lv_stateDeclaration_2_0= ruleStateDeclaration ) ) ( (lv_initialDeclaration_3_0= ruleInitialDeclaration ) ) ( (lv_loopsDeclaration_4_0= ruleLoopsDeclaration ) ) ( (lv_seedDeclaration_5_0= ruleSeedDeclaration ) )? ( (lv_transitionDeclarations_6_0= ruleTransitionDeclaration ) )* otherlv_7= ';'
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:138:1: (otherlv_0= 'fsmdefinition' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'initial' ( (lv_states_3_0= ruleStateDeclaration ) ) ( (lv_states_4_0= ruleStateDeclaration ) )* otherlv_5= ';' )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:138:3: otherlv_0= 'fsmdefinition' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'initial' ( (lv_states_3_0= ruleStateDeclaration ) ) ( (lv_states_4_0= ruleStateDeclaration ) )* otherlv_5= ';'
{
- otherlv_0=(Token)match(input,11,FOLLOW_11_in_ruleTestscript213);
+ otherlv_0=(Token)match(input,11,FOLLOW_11_in_ruleFsmDefinition242);
- newLeafNode(otherlv_0, grammarAccess.getTestscriptAccess().getFsmtestKeyword_0());
+ newLeafNode(otherlv_0, grammarAccess.getFsmDefinitionAccess().getFsmdefinitionKeyword_0());
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:123:1: ( (lv_name_1_0= RULE_ID ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:124:1: (lv_name_1_0= RULE_ID )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:142:1: ( (lv_name_1_0= RULE_ID ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:143:1: (lv_name_1_0= RULE_ID )
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:124:1: (lv_name_1_0= RULE_ID )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:125:3: lv_name_1_0= RULE_ID
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:143:1: (lv_name_1_0= RULE_ID )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:144:3: lv_name_1_0= RULE_ID
{
- lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleTestscript230);
+ lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFsmDefinition259);
- newLeafNode(lv_name_1_0, grammarAccess.getTestscriptAccess().getNameIDTerminalRuleCall_1_0());
+ newLeafNode(lv_name_1_0, grammarAccess.getFsmDefinitionAccess().getNameIDTerminalRuleCall_1_0());
if (current==null) {
- current = createModelElement(grammarAccess.getTestscriptRule());
+ current = createModelElement(grammarAccess.getFsmDefinitionRule());
}
setWithLastConsumed(
current,
@@ -293,28 +341,32 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
}
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:141:2: ( (lv_stateDeclaration_2_0= ruleStateDeclaration ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:142:1: (lv_stateDeclaration_2_0= ruleStateDeclaration )
+ otherlv_2=(Token)match(input,12,FOLLOW_12_in_ruleFsmDefinition276);
+
+ newLeafNode(otherlv_2, grammarAccess.getFsmDefinitionAccess().getInitialKeyword_2());
+
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:164:1: ( (lv_states_3_0= ruleStateDeclaration ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:165:1: (lv_states_3_0= ruleStateDeclaration )
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:142:1: (lv_stateDeclaration_2_0= ruleStateDeclaration )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:143:3: lv_stateDeclaration_2_0= ruleStateDeclaration
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:165:1: (lv_states_3_0= ruleStateDeclaration )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:166:3: lv_states_3_0= ruleStateDeclaration
{
- newCompositeNode(grammarAccess.getTestscriptAccess().getStateDeclarationStateDeclarationParserRuleCall_2_0());
+ newCompositeNode(grammarAccess.getFsmDefinitionAccess().getStatesStateDeclarationParserRuleCall_3_0());
- pushFollow(FOLLOW_ruleStateDeclaration_in_ruleTestscript256);
- lv_stateDeclaration_2_0=ruleStateDeclaration();
+ pushFollow(FOLLOW_ruleStateDeclaration_in_ruleFsmDefinition297);
+ lv_states_3_0=ruleStateDeclaration();
state._fsp--;
if (current==null) {
- current = createModelElementForParent(grammarAccess.getTestscriptRule());
+ current = createModelElementForParent(grammarAccess.getFsmDefinitionRule());
}
- set(
+ add(
current,
- "stateDeclaration",
- lv_stateDeclaration_2_0,
+ "states",
+ lv_states_3_0,
"StateDeclaration");
afterParserOrEnumRuleCall();
@@ -324,30 +376,162 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
}
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:159:2: ( (lv_initialDeclaration_3_0= ruleInitialDeclaration ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:160:1: (lv_initialDeclaration_3_0= ruleInitialDeclaration )
- {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:160:1: (lv_initialDeclaration_3_0= ruleInitialDeclaration )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:161:3: lv_initialDeclaration_3_0= ruleInitialDeclaration
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:182:2: ( (lv_states_4_0= ruleStateDeclaration ) )*
+ loop2:
+ do {
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( (LA2_0==24) ) {
+ alt2=1;
+ }
+
+
+ switch (alt2) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:183:1: (lv_states_4_0= ruleStateDeclaration )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:183:1: (lv_states_4_0= ruleStateDeclaration )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:184:3: lv_states_4_0= ruleStateDeclaration
+ {
+
+ newCompositeNode(grammarAccess.getFsmDefinitionAccess().getStatesStateDeclarationParserRuleCall_4_0());
+
+ pushFollow(FOLLOW_ruleStateDeclaration_in_ruleFsmDefinition318);
+ lv_states_4_0=ruleStateDeclaration();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getFsmDefinitionRule());
+ }
+ add(
+ current,
+ "states",
+ lv_states_4_0,
+ "StateDeclaration");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop2;
+ }
+ } while (true);
+
+ otherlv_5=(Token)match(input,13,FOLLOW_13_in_ruleFsmDefinition331);
+
+ newLeafNode(otherlv_5, grammarAccess.getFsmDefinitionAccess().getSemicolonKeyword_5());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleFsmDefinition"
+
+
+ // $ANTLR start "entryRuleRandomTest"
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:212:1: entryRuleRandomTest returns [EObject current=null] : iv_ruleRandomTest= ruleRandomTest EOF ;
+ public final EObject entryRuleRandomTest() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleRandomTest = null;
+
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:213:2: (iv_ruleRandomTest= ruleRandomTest EOF )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:214:2: iv_ruleRandomTest= ruleRandomTest EOF
{
-
- newCompositeNode(grammarAccess.getTestscriptAccess().getInitialDeclarationInitialDeclarationParserRuleCall_3_0());
-
- pushFollow(FOLLOW_ruleInitialDeclaration_in_ruleTestscript277);
- lv_initialDeclaration_3_0=ruleInitialDeclaration();
+ newCompositeNode(grammarAccess.getRandomTestRule());
+ pushFollow(FOLLOW_ruleRandomTest_in_entryRuleRandomTest367);
+ iv_ruleRandomTest=ruleRandomTest();
state._fsp--;
+ current =iv_ruleRandomTest;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleRandomTest377);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleRandomTest"
+
+
+ // $ANTLR start "ruleRandomTest"
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:221:1: ruleRandomTest returns [EObject current=null] : (otherlv_0= 'randomtest' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'fsm:' ( (otherlv_3= RULE_ID ) ) ( (lv_loopsDeclaration_4_0= ruleLoopsDeclaration ) ) ( (lv_seedDeclaration_5_0= ruleSeedDeclaration ) )? otherlv_6= ';' ) ;
+ public final EObject ruleRandomTest() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token lv_name_1_0=null;
+ Token otherlv_2=null;
+ Token otherlv_3=null;
+ Token otherlv_6=null;
+ EObject lv_loopsDeclaration_4_0 = null;
+
+ EObject lv_seedDeclaration_5_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:224:28: ( (otherlv_0= 'randomtest' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'fsm:' ( (otherlv_3= RULE_ID ) ) ( (lv_loopsDeclaration_4_0= ruleLoopsDeclaration ) ) ( (lv_seedDeclaration_5_0= ruleSeedDeclaration ) )? otherlv_6= ';' ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:225:1: (otherlv_0= 'randomtest' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'fsm:' ( (otherlv_3= RULE_ID ) ) ( (lv_loopsDeclaration_4_0= ruleLoopsDeclaration ) ) ( (lv_seedDeclaration_5_0= ruleSeedDeclaration ) )? otherlv_6= ';' )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:225:1: (otherlv_0= 'randomtest' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'fsm:' ( (otherlv_3= RULE_ID ) ) ( (lv_loopsDeclaration_4_0= ruleLoopsDeclaration ) ) ( (lv_seedDeclaration_5_0= ruleSeedDeclaration ) )? otherlv_6= ';' )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:225:3: otherlv_0= 'randomtest' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'fsm:' ( (otherlv_3= RULE_ID ) ) ( (lv_loopsDeclaration_4_0= ruleLoopsDeclaration ) ) ( (lv_seedDeclaration_5_0= ruleSeedDeclaration ) )? otherlv_6= ';'
+ {
+ otherlv_0=(Token)match(input,14,FOLLOW_14_in_ruleRandomTest414);
+
+ newLeafNode(otherlv_0, grammarAccess.getRandomTestAccess().getRandomtestKeyword_0());
+
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:229:1: ( (lv_name_1_0= RULE_ID ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:230:1: (lv_name_1_0= RULE_ID )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:230:1: (lv_name_1_0= RULE_ID )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:231:3: lv_name_1_0= RULE_ID
+ {
+ lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleRandomTest431);
+
+ newLeafNode(lv_name_1_0, grammarAccess.getRandomTestAccess().getNameIDTerminalRuleCall_1_0());
+
if (current==null) {
- current = createModelElementForParent(grammarAccess.getTestscriptRule());
+ current = createModelElement(grammarAccess.getRandomTestRule());
}
- set(
+ setWithLastConsumed(
current,
- "initialDeclaration",
- lv_initialDeclaration_3_0,
- "InitialDeclaration");
- afterParserOrEnumRuleCall();
+ "name",
+ lv_name_1_0,
+ "ID");
}
@@ -355,23 +539,48 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
}
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:177:2: ( (lv_loopsDeclaration_4_0= ruleLoopsDeclaration ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:178:1: (lv_loopsDeclaration_4_0= ruleLoopsDeclaration )
+ otherlv_2=(Token)match(input,15,FOLLOW_15_in_ruleRandomTest448);
+
+ newLeafNode(otherlv_2, grammarAccess.getRandomTestAccess().getFsmKeyword_2());
+
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:251:1: ( (otherlv_3= RULE_ID ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:252:1: (otherlv_3= RULE_ID )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:252:1: (otherlv_3= RULE_ID )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:253:3: otherlv_3= RULE_ID
+ {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getRandomTestRule());
+ }
+
+ otherlv_3=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleRandomTest468);
+
+ newLeafNode(otherlv_3, grammarAccess.getRandomTestAccess().getFsmFsmDefinitionCrossReference_3_0());
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:264:2: ( (lv_loopsDeclaration_4_0= ruleLoopsDeclaration ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:265:1: (lv_loopsDeclaration_4_0= ruleLoopsDeclaration )
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:178:1: (lv_loopsDeclaration_4_0= ruleLoopsDeclaration )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:179:3: lv_loopsDeclaration_4_0= ruleLoopsDeclaration
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:265:1: (lv_loopsDeclaration_4_0= ruleLoopsDeclaration )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:266:3: lv_loopsDeclaration_4_0= ruleLoopsDeclaration
{
- newCompositeNode(grammarAccess.getTestscriptAccess().getLoopsDeclarationLoopsDeclarationParserRuleCall_4_0());
+ newCompositeNode(grammarAccess.getRandomTestAccess().getLoopsDeclarationLoopsDeclarationParserRuleCall_4_0());
- pushFollow(FOLLOW_ruleLoopsDeclaration_in_ruleTestscript298);
+ pushFollow(FOLLOW_ruleLoopsDeclaration_in_ruleRandomTest489);
lv_loopsDeclaration_4_0=ruleLoopsDeclaration();
state._fsp--;
if (current==null) {
- current = createModelElementForParent(grammarAccess.getTestscriptRule());
+ current = createModelElementForParent(grammarAccess.getRandomTestRule());
}
set(
current,
@@ -386,31 +595,31 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
}
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:195:2: ( (lv_seedDeclaration_5_0= ruleSeedDeclaration ) )?
- int alt2=2;
- int LA2_0 = input.LA(1);
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:282:2: ( (lv_seedDeclaration_5_0= ruleSeedDeclaration ) )?
+ int alt3=2;
+ int LA3_0 = input.LA(1);
- if ( (LA2_0==17) ) {
- alt2=1;
+ if ( (LA3_0==26) ) {
+ alt3=1;
}
- switch (alt2) {
+ switch (alt3) {
case 1 :
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:196:1: (lv_seedDeclaration_5_0= ruleSeedDeclaration )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:283:1: (lv_seedDeclaration_5_0= ruleSeedDeclaration )
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:196:1: (lv_seedDeclaration_5_0= ruleSeedDeclaration )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:197:3: lv_seedDeclaration_5_0= ruleSeedDeclaration
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:283:1: (lv_seedDeclaration_5_0= ruleSeedDeclaration )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:284:3: lv_seedDeclaration_5_0= ruleSeedDeclaration
{
- newCompositeNode(grammarAccess.getTestscriptAccess().getSeedDeclarationSeedDeclarationParserRuleCall_5_0());
+ newCompositeNode(grammarAccess.getRandomTestAccess().getSeedDeclarationSeedDeclarationParserRuleCall_5_0());
- pushFollow(FOLLOW_ruleSeedDeclaration_in_ruleTestscript319);
+ pushFollow(FOLLOW_ruleSeedDeclaration_in_ruleRandomTest510);
lv_seedDeclaration_5_0=ruleSeedDeclaration();
state._fsp--;
if (current==null) {
- current = createModelElementForParent(grammarAccess.getTestscriptRule());
+ current = createModelElementForParent(grammarAccess.getRandomTestRule());
}
set(
current,
@@ -428,58 +637,9 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
}
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:213:3: ( (lv_transitionDeclarations_6_0= ruleTransitionDeclaration ) )*
- loop3:
- do {
- int alt3=2;
- int LA3_0 = input.LA(1);
-
- if ( (LA3_0==RULE_ID) ) {
- alt3=1;
- }
-
-
- switch (alt3) {
- case 1 :
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:214:1: (lv_transitionDeclarations_6_0= ruleTransitionDeclaration )
- {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:214:1: (lv_transitionDeclarations_6_0= ruleTransitionDeclaration )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:215:3: lv_transitionDeclarations_6_0= ruleTransitionDeclaration
- {
-
- newCompositeNode(grammarAccess.getTestscriptAccess().getTransitionDeclarationsTransitionDeclarationParserRuleCall_6_0());
-
- pushFollow(FOLLOW_ruleTransitionDeclaration_in_ruleTestscript341);
- lv_transitionDeclarations_6_0=ruleTransitionDeclaration();
-
- state._fsp--;
-
-
- if (current==null) {
- current = createModelElementForParent(grammarAccess.getTestscriptRule());
- }
- add(
- current,
- "transitionDeclarations",
- lv_transitionDeclarations_6_0,
- "TransitionDeclaration");
- afterParserOrEnumRuleCall();
-
-
- }
-
+ otherlv_6=(Token)match(input,13,FOLLOW_13_in_ruleRandomTest523);
- }
- break;
-
- default :
- break loop3;
- }
- } while (true);
-
- otherlv_7=(Token)match(input,12,FOLLOW_12_in_ruleTestscript354);
-
- newLeafNode(otherlv_7, grammarAccess.getTestscriptAccess().getSemicolonKeyword_7());
+ newLeafNode(otherlv_6, grammarAccess.getRandomTestAccess().getSemicolonKeyword_6());
}
@@ -498,29 +658,29 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
}
return current;
}
- // $ANTLR end "ruleTestscript"
+ // $ANTLR end "ruleRandomTest"
- // $ANTLR start "entryRuleState"
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:243:1: entryRuleState returns [EObject current=null] : iv_ruleState= ruleState EOF ;
- public final EObject entryRuleState() throws RecognitionException {
+ // $ANTLR start "entryRuleGuardDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:312:1: entryRuleGuardDeclaration returns [EObject current=null] : iv_ruleGuardDeclaration= ruleGuardDeclaration EOF ;
+ public final EObject entryRuleGuardDeclaration() throws RecognitionException {
EObject current = null;
- EObject iv_ruleState = null;
+ EObject iv_ruleGuardDeclaration = null;
try {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:244:2: (iv_ruleState= ruleState EOF )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:245:2: iv_ruleState= ruleState EOF
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:313:2: (iv_ruleGuardDeclaration= ruleGuardDeclaration EOF )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:314:2: iv_ruleGuardDeclaration= ruleGuardDeclaration EOF
{
- newCompositeNode(grammarAccess.getStateRule());
- pushFollow(FOLLOW_ruleState_in_entryRuleState390);
- iv_ruleState=ruleState();
+ newCompositeNode(grammarAccess.getGuardDeclarationRule());
+ pushFollow(FOLLOW_ruleGuardDeclaration_in_entryRuleGuardDeclaration559);
+ iv_ruleGuardDeclaration=ruleGuardDeclaration();
state._fsp--;
- current =iv_ruleState;
- match(input,EOF,FOLLOW_EOF_in_entryRuleState400);
+ current =iv_ruleGuardDeclaration;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleGuardDeclaration569);
}
@@ -534,41 +694,47 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
}
return current;
}
- // $ANTLR end "entryRuleState"
+ // $ANTLR end "entryRuleGuardDeclaration"
- // $ANTLR start "ruleState"
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:252:1: ruleState returns [EObject current=null] : ( (lv_name_0_0= RULE_ID ) ) ;
- public final EObject ruleState() throws RecognitionException {
+ // $ANTLR start "ruleGuardDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:321:1: ruleGuardDeclaration returns [EObject current=null] : ( (lv_signal_0_0= ruleSignalDeclaration ) ) ;
+ public final EObject ruleGuardDeclaration() throws RecognitionException {
EObject current = null;
- Token lv_name_0_0=null;
+ EObject lv_signal_0_0 = null;
+
enterRule();
try {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:255:28: ( ( (lv_name_0_0= RULE_ID ) ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:256:1: ( (lv_name_0_0= RULE_ID ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:324:28: ( ( (lv_signal_0_0= ruleSignalDeclaration ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:325:1: ( (lv_signal_0_0= ruleSignalDeclaration ) )
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:256:1: ( (lv_name_0_0= RULE_ID ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:257:1: (lv_name_0_0= RULE_ID )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:325:1: ( (lv_signal_0_0= ruleSignalDeclaration ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:326:1: (lv_signal_0_0= ruleSignalDeclaration )
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:257:1: (lv_name_0_0= RULE_ID )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:258:3: lv_name_0_0= RULE_ID
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:326:1: (lv_signal_0_0= ruleSignalDeclaration )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:327:3: lv_signal_0_0= ruleSignalDeclaration
{
- lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleState441);
+
+ newCompositeNode(grammarAccess.getGuardDeclarationAccess().getSignalSignalDeclarationParserRuleCall_0());
+
+ pushFollow(FOLLOW_ruleSignalDeclaration_in_ruleGuardDeclaration614);
+ lv_signal_0_0=ruleSignalDeclaration();
+
+ state._fsp--;
- newLeafNode(lv_name_0_0, grammarAccess.getStateAccess().getNameIDTerminalRuleCall_0());
-
if (current==null) {
- current = createModelElement(grammarAccess.getStateRule());
+ current = createModelElementForParent(grammarAccess.getGuardDeclarationRule());
}
- setWithLastConsumed(
+ set(
current,
- "name",
- lv_name_0_0,
- "ID");
+ "signal",
+ lv_signal_0_0,
+ "SignalDeclaration");
+ afterParserOrEnumRuleCall();
}
@@ -590,29 +756,29 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
}
return current;
}
- // $ANTLR end "ruleState"
+ // $ANTLR end "ruleGuardDeclaration"
- // $ANTLR start "entryRuleStateDeclaration"
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:282:1: entryRuleStateDeclaration returns [EObject current=null] : iv_ruleStateDeclaration= ruleStateDeclaration EOF ;
- public final EObject entryRuleStateDeclaration() throws RecognitionException {
+ // $ANTLR start "entryRuleTransitionDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:351:1: entryRuleTransitionDeclaration returns [EObject current=null] : iv_ruleTransitionDeclaration= ruleTransitionDeclaration EOF ;
+ public final EObject entryRuleTransitionDeclaration() throws RecognitionException {
EObject current = null;
- EObject iv_ruleStateDeclaration = null;
+ EObject iv_ruleTransitionDeclaration = null;
try {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:283:2: (iv_ruleStateDeclaration= ruleStateDeclaration EOF )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:284:2: iv_ruleStateDeclaration= ruleStateDeclaration EOF
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:352:2: (iv_ruleTransitionDeclaration= ruleTransitionDeclaration EOF )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:353:2: iv_ruleTransitionDeclaration= ruleTransitionDeclaration EOF
{
- newCompositeNode(grammarAccess.getStateDeclarationRule());
- pushFollow(FOLLOW_ruleStateDeclaration_in_entryRuleStateDeclaration481);
- iv_ruleStateDeclaration=ruleStateDeclaration();
+ newCompositeNode(grammarAccess.getTransitionDeclarationRule());
+ pushFollow(FOLLOW_ruleTransitionDeclaration_in_entryRuleTransitionDeclaration649);
+ iv_ruleTransitionDeclaration=ruleTransitionDeclaration();
state._fsp--;
- current =iv_ruleStateDeclaration;
- match(input,EOF,FOLLOW_EOF_in_entryRuleStateDeclaration491);
+ current =iv_ruleTransitionDeclaration;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleTransitionDeclaration659);
}
@@ -626,58 +792,63 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
}
return current;
}
- // $ANTLR end "entryRuleStateDeclaration"
+ // $ANTLR end "entryRuleTransitionDeclaration"
- // $ANTLR start "ruleStateDeclaration"
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:291:1: ruleStateDeclaration returns [EObject current=null] : (otherlv_0= 'states:' ( (lv_states_1_0= ruleState ) ) (otherlv_2= ',' ( (lv_states_3_0= ruleState ) ) )* ) ;
- public final EObject ruleStateDeclaration() throws RecognitionException {
+ // $ANTLR start "ruleTransitionDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:360:1: ruleTransitionDeclaration returns [EObject current=null] : (otherlv_0= 'transition' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'to' ( (otherlv_3= RULE_ID ) ) (otherlv_4= 'trigger:' ( (lv_trigger_5_0= ruleSignalDeclaration ) ) )? (otherlv_6= 'guards:' ( (lv_triggers_7_0= ruleGuardDeclaration ) )+ )? (otherlv_8= 'constraints:' ( ( (lv_precondition_9_0= rulePreconditionDeclaration ) ) | ( (lv_postcondition_10_0= rulePostconditionDeclaration ) ) )+ )? otherlv_11= ';' ) ;
+ public final EObject ruleTransitionDeclaration() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
+ Token lv_name_1_0=null;
Token otherlv_2=null;
- EObject lv_states_1_0 = null;
+ Token otherlv_3=null;
+ Token otherlv_4=null;
+ Token otherlv_6=null;
+ Token otherlv_8=null;
+ Token otherlv_11=null;
+ EObject lv_trigger_5_0 = null;
- EObject lv_states_3_0 = null;
+ EObject lv_triggers_7_0 = null;
+
+ EObject lv_precondition_9_0 = null;
+
+ EObject lv_postcondition_10_0 = null;
enterRule();
try {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:294:28: ( (otherlv_0= 'states:' ( (lv_states_1_0= ruleState ) ) (otherlv_2= ',' ( (lv_states_3_0= ruleState ) ) )* ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:295:1: (otherlv_0= 'states:' ( (lv_states_1_0= ruleState ) ) (otherlv_2= ',' ( (lv_states_3_0= ruleState ) ) )* )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:363:28: ( (otherlv_0= 'transition' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'to' ( (otherlv_3= RULE_ID ) ) (otherlv_4= 'trigger:' ( (lv_trigger_5_0= ruleSignalDeclaration ) ) )? (otherlv_6= 'guards:' ( (lv_triggers_7_0= ruleGuardDeclaration ) )+ )? (otherlv_8= 'constraints:' ( ( (lv_precondition_9_0= rulePreconditionDeclaration ) ) | ( (lv_postcondition_10_0= rulePostconditionDeclaration ) ) )+ )? otherlv_11= ';' ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:364:1: (otherlv_0= 'transition' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'to' ( (otherlv_3= RULE_ID ) ) (otherlv_4= 'trigger:' ( (lv_trigger_5_0= ruleSignalDeclaration ) ) )? (otherlv_6= 'guards:' ( (lv_triggers_7_0= ruleGuardDeclaration ) )+ )? (otherlv_8= 'constraints:' ( ( (lv_precondition_9_0= rulePreconditionDeclaration ) ) | ( (lv_postcondition_10_0= rulePostconditionDeclaration ) ) )+ )? otherlv_11= ';' )
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:295:1: (otherlv_0= 'states:' ( (lv_states_1_0= ruleState ) ) (otherlv_2= ',' ( (lv_states_3_0= ruleState ) ) )* )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:295:3: otherlv_0= 'states:' ( (lv_states_1_0= ruleState ) ) (otherlv_2= ',' ( (lv_states_3_0= ruleState ) ) )*
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:364:1: (otherlv_0= 'transition' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'to' ( (otherlv_3= RULE_ID ) ) (otherlv_4= 'trigger:' ( (lv_trigger_5_0= ruleSignalDeclaration ) ) )? (otherlv_6= 'guards:' ( (lv_triggers_7_0= ruleGuardDeclaration ) )+ )? (otherlv_8= 'constraints:' ( ( (lv_precondition_9_0= rulePreconditionDeclaration ) ) | ( (lv_postcondition_10_0= rulePostconditionDeclaration ) ) )+ )? otherlv_11= ';' )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:364:3: otherlv_0= 'transition' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'to' ( (otherlv_3= RULE_ID ) ) (otherlv_4= 'trigger:' ( (lv_trigger_5_0= ruleSignalDeclaration ) ) )? (otherlv_6= 'guards:' ( (lv_triggers_7_0= ruleGuardDeclaration ) )+ )? (otherlv_8= 'constraints:' ( ( (lv_precondition_9_0= rulePreconditionDeclaration ) ) | ( (lv_postcondition_10_0= rulePostconditionDeclaration ) ) )+ )? otherlv_11= ';'
{
- otherlv_0=(Token)match(input,13,FOLLOW_13_in_ruleStateDeclaration528);
+ otherlv_0=(Token)match(input,16,FOLLOW_16_in_ruleTransitionDeclaration696);
- newLeafNode(otherlv_0, grammarAccess.getStateDeclarationAccess().getStatesKeyword_0());
+ newLeafNode(otherlv_0, grammarAccess.getTransitionDeclarationAccess().getTransitionKeyword_0());
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:299:1: ( (lv_states_1_0= ruleState ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:300:1: (lv_states_1_0= ruleState )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:368:1: ( (lv_name_1_0= RULE_ID ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:369:1: (lv_name_1_0= RULE_ID )
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:300:1: (lv_states_1_0= ruleState )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:301:3: lv_states_1_0= ruleState
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:369:1: (lv_name_1_0= RULE_ID )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:370:3: lv_name_1_0= RULE_ID
{
-
- newCompositeNode(grammarAccess.getStateDeclarationAccess().getStatesStateParserRuleCall_1_0());
-
- pushFollow(FOLLOW_ruleState_in_ruleStateDeclaration549);
- lv_states_1_0=ruleState();
-
- state._fsp--;
+ lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleTransitionDeclaration713);
+ newLeafNode(lv_name_1_0, grammarAccess.getTransitionDeclarationAccess().getNameIDTerminalRuleCall_1_0());
+
if (current==null) {
- current = createModelElementForParent(grammarAccess.getStateDeclarationRule());
+ current = createModelElement(grammarAccess.getTransitionDeclarationRule());
}
- add(
+ setWithLastConsumed(
current,
- "states",
- lv_states_1_0,
- "State");
- afterParserOrEnumRuleCall();
+ "name",
+ lv_name_1_0,
+ "ID");
}
@@ -685,65 +856,283 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
}
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:317:2: (otherlv_2= ',' ( (lv_states_3_0= ruleState ) ) )*
- loop4:
- do {
- int alt4=2;
- int LA4_0 = input.LA(1);
+ otherlv_2=(Token)match(input,17,FOLLOW_17_in_ruleTransitionDeclaration730);
- if ( (LA4_0==14) ) {
- alt4=1;
- }
+ newLeafNode(otherlv_2, grammarAccess.getTransitionDeclarationAccess().getToKeyword_2());
+
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:390:1: ( (otherlv_3= RULE_ID ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:391:1: (otherlv_3= RULE_ID )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:391:1: (otherlv_3= RULE_ID )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:392:3: otherlv_3= RULE_ID
+ {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getTransitionDeclarationRule());
+ }
+
+ otherlv_3=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleTransitionDeclaration750);
+ newLeafNode(otherlv_3, grammarAccess.getTransitionDeclarationAccess().getDestinationStateDeclarationCrossReference_3_0());
+
- switch (alt4) {
- case 1 :
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:317:4: otherlv_2= ',' ( (lv_states_3_0= ruleState ) )
- {
- otherlv_2=(Token)match(input,14,FOLLOW_14_in_ruleStateDeclaration562);
+ }
- newLeafNode(otherlv_2, grammarAccess.getStateDeclarationAccess().getCommaKeyword_2_0());
-
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:321:1: ( (lv_states_3_0= ruleState ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:322:1: (lv_states_3_0= ruleState )
- {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:322:1: (lv_states_3_0= ruleState )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:323:3: lv_states_3_0= ruleState
- {
-
- newCompositeNode(grammarAccess.getStateDeclarationAccess().getStatesStateParserRuleCall_2_1_0());
-
- pushFollow(FOLLOW_ruleState_in_ruleStateDeclaration583);
- lv_states_3_0=ruleState();
- state._fsp--;
+ }
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:403:2: (otherlv_4= 'trigger:' ( (lv_trigger_5_0= ruleSignalDeclaration ) ) )?
+ int alt4=2;
+ int LA4_0 = input.LA(1);
- if (current==null) {
- current = createModelElementForParent(grammarAccess.getStateDeclarationRule());
- }
- add(
- current,
- "states",
- lv_states_3_0,
- "State");
- afterParserOrEnumRuleCall();
-
+ if ( (LA4_0==18) ) {
+ alt4=1;
+ }
+ switch (alt4) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:403:4: otherlv_4= 'trigger:' ( (lv_trigger_5_0= ruleSignalDeclaration ) )
+ {
+ otherlv_4=(Token)match(input,18,FOLLOW_18_in_ruleTransitionDeclaration763);
- }
+ newLeafNode(otherlv_4, grammarAccess.getTransitionDeclarationAccess().getTriggerKeyword_4_0());
+
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:407:1: ( (lv_trigger_5_0= ruleSignalDeclaration ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:408:1: (lv_trigger_5_0= ruleSignalDeclaration )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:408:1: (lv_trigger_5_0= ruleSignalDeclaration )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:409:3: lv_trigger_5_0= ruleSignalDeclaration
+ {
+
+ newCompositeNode(grammarAccess.getTransitionDeclarationAccess().getTriggerSignalDeclarationParserRuleCall_4_1_0());
+
+ pushFollow(FOLLOW_ruleSignalDeclaration_in_ruleTransitionDeclaration784);
+ lv_trigger_5_0=ruleSignalDeclaration();
+ state._fsp--;
- }
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTransitionDeclarationRule());
+ }
+ set(
+ current,
+ "trigger",
+ lv_trigger_5_0,
+ "SignalDeclaration");
+ afterParserOrEnumRuleCall();
+
- }
- break;
+ }
- default :
- break loop4;
- }
- } while (true);
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:425:4: (otherlv_6= 'guards:' ( (lv_triggers_7_0= ruleGuardDeclaration ) )+ )?
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0==19) ) {
+ alt6=1;
+ }
+ switch (alt6) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:425:6: otherlv_6= 'guards:' ( (lv_triggers_7_0= ruleGuardDeclaration ) )+
+ {
+ otherlv_6=(Token)match(input,19,FOLLOW_19_in_ruleTransitionDeclaration799);
+
+ newLeafNode(otherlv_6, grammarAccess.getTransitionDeclarationAccess().getGuardsKeyword_5_0());
+
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:429:1: ( (lv_triggers_7_0= ruleGuardDeclaration ) )+
+ int cnt5=0;
+ loop5:
+ do {
+ int alt5=2;
+ int LA5_0 = input.LA(1);
+
+ if ( (LA5_0==RULE_ID) ) {
+ alt5=1;
+ }
+
+
+ switch (alt5) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:430:1: (lv_triggers_7_0= ruleGuardDeclaration )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:430:1: (lv_triggers_7_0= ruleGuardDeclaration )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:431:3: lv_triggers_7_0= ruleGuardDeclaration
+ {
+
+ newCompositeNode(grammarAccess.getTransitionDeclarationAccess().getTriggersGuardDeclarationParserRuleCall_5_1_0());
+
+ pushFollow(FOLLOW_ruleGuardDeclaration_in_ruleTransitionDeclaration820);
+ lv_triggers_7_0=ruleGuardDeclaration();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTransitionDeclarationRule());
+ }
+ add(
+ current,
+ "triggers",
+ lv_triggers_7_0,
+ "GuardDeclaration");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ if ( cnt5 >= 1 ) break loop5;
+ EarlyExitException eee =
+ new EarlyExitException(5, input);
+ throw eee;
+ }
+ cnt5++;
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:447:5: (otherlv_8= 'constraints:' ( ( (lv_precondition_9_0= rulePreconditionDeclaration ) ) | ( (lv_postcondition_10_0= rulePostconditionDeclaration ) ) )+ )?
+ int alt8=2;
+ int LA8_0 = input.LA(1);
+
+ if ( (LA8_0==20) ) {
+ alt8=1;
+ }
+ switch (alt8) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:447:7: otherlv_8= 'constraints:' ( ( (lv_precondition_9_0= rulePreconditionDeclaration ) ) | ( (lv_postcondition_10_0= rulePostconditionDeclaration ) ) )+
+ {
+ otherlv_8=(Token)match(input,20,FOLLOW_20_in_ruleTransitionDeclaration836);
+
+ newLeafNode(otherlv_8, grammarAccess.getTransitionDeclarationAccess().getConstraintsKeyword_6_0());
+
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:451:1: ( ( (lv_precondition_9_0= rulePreconditionDeclaration ) ) | ( (lv_postcondition_10_0= rulePostconditionDeclaration ) ) )+
+ int cnt7=0;
+ loop7:
+ do {
+ int alt7=3;
+ int LA7_0 = input.LA(1);
+
+ if ( (LA7_0==22) ) {
+ alt7=1;
+ }
+ else if ( (LA7_0==23) ) {
+ alt7=2;
+ }
+
+
+ switch (alt7) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:451:2: ( (lv_precondition_9_0= rulePreconditionDeclaration ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:451:2: ( (lv_precondition_9_0= rulePreconditionDeclaration ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:452:1: (lv_precondition_9_0= rulePreconditionDeclaration )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:452:1: (lv_precondition_9_0= rulePreconditionDeclaration )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:453:3: lv_precondition_9_0= rulePreconditionDeclaration
+ {
+
+ newCompositeNode(grammarAccess.getTransitionDeclarationAccess().getPreconditionPreconditionDeclarationParserRuleCall_6_1_0_0());
+
+ pushFollow(FOLLOW_rulePreconditionDeclaration_in_ruleTransitionDeclaration858);
+ lv_precondition_9_0=rulePreconditionDeclaration();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTransitionDeclarationRule());
+ }
+ add(
+ current,
+ "precondition",
+ lv_precondition_9_0,
+ "PreconditionDeclaration");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:470:6: ( (lv_postcondition_10_0= rulePostconditionDeclaration ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:470:6: ( (lv_postcondition_10_0= rulePostconditionDeclaration ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:471:1: (lv_postcondition_10_0= rulePostconditionDeclaration )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:471:1: (lv_postcondition_10_0= rulePostconditionDeclaration )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:472:3: lv_postcondition_10_0= rulePostconditionDeclaration
+ {
+
+ newCompositeNode(grammarAccess.getTransitionDeclarationAccess().getPostconditionPostconditionDeclarationParserRuleCall_6_1_1_0());
+
+ pushFollow(FOLLOW_rulePostconditionDeclaration_in_ruleTransitionDeclaration885);
+ lv_postcondition_10_0=rulePostconditionDeclaration();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTransitionDeclarationRule());
+ }
+ add(
+ current,
+ "postcondition",
+ lv_postcondition_10_0,
+ "PostconditionDeclaration");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ if ( cnt7 >= 1 ) break loop7;
+ EarlyExitException eee =
+ new EarlyExitException(7, input);
+ throw eee;
+ }
+ cnt7++;
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+ otherlv_11=(Token)match(input,13,FOLLOW_13_in_ruleTransitionDeclaration901);
+
+ newLeafNode(otherlv_11, grammarAccess.getTransitionDeclarationAccess().getSemicolonKeyword_7());
+
}
@@ -761,29 +1150,29 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
}
return current;
}
- // $ANTLR end "ruleStateDeclaration"
+ // $ANTLR end "ruleTransitionDeclaration"
- // $ANTLR start "entryRuleInitialDeclaration"
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:347:1: entryRuleInitialDeclaration returns [EObject current=null] : iv_ruleInitialDeclaration= ruleInitialDeclaration EOF ;
- public final EObject entryRuleInitialDeclaration() throws RecognitionException {
+ // $ANTLR start "entryRuleConditionDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:500:1: entryRuleConditionDeclaration returns [EObject current=null] : iv_ruleConditionDeclaration= ruleConditionDeclaration EOF ;
+ public final EObject entryRuleConditionDeclaration() throws RecognitionException {
EObject current = null;
- EObject iv_ruleInitialDeclaration = null;
+ EObject iv_ruleConditionDeclaration = null;
try {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:348:2: (iv_ruleInitialDeclaration= ruleInitialDeclaration EOF )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:349:2: iv_ruleInitialDeclaration= ruleInitialDeclaration EOF
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:501:2: (iv_ruleConditionDeclaration= ruleConditionDeclaration EOF )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:502:2: iv_ruleConditionDeclaration= ruleConditionDeclaration EOF
{
- newCompositeNode(grammarAccess.getInitialDeclarationRule());
- pushFollow(FOLLOW_ruleInitialDeclaration_in_entryRuleInitialDeclaration621);
- iv_ruleInitialDeclaration=ruleInitialDeclaration();
+ newCompositeNode(grammarAccess.getConditionDeclarationRule());
+ pushFollow(FOLLOW_ruleConditionDeclaration_in_entryRuleConditionDeclaration937);
+ iv_ruleConditionDeclaration=ruleConditionDeclaration();
state._fsp--;
- current =iv_ruleInitialDeclaration;
- match(input,EOF,FOLLOW_EOF_in_entryRuleInitialDeclaration631);
+ current =iv_ruleConditionDeclaration;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleConditionDeclaration947);
}
@@ -797,45 +1186,56 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
}
return current;
}
- // $ANTLR end "entryRuleInitialDeclaration"
+ // $ANTLR end "entryRuleConditionDeclaration"
- // $ANTLR start "ruleInitialDeclaration"
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:356:1: ruleInitialDeclaration returns [EObject current=null] : (otherlv_0= 'initial:' ( (otherlv_1= RULE_ID ) ) ) ;
- public final EObject ruleInitialDeclaration() throws RecognitionException {
+ // $ANTLR start "ruleConditionDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:509:1: ruleConditionDeclaration returns [EObject current=null] : (otherlv_0= 'condition' ( (lv_signal_1_0= ruleSignalDeclaration ) ) ) ;
+ public final EObject ruleConditionDeclaration() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
- Token otherlv_1=null;
+ EObject lv_signal_1_0 = null;
+
enterRule();
try {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:359:28: ( (otherlv_0= 'initial:' ( (otherlv_1= RULE_ID ) ) ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:360:1: (otherlv_0= 'initial:' ( (otherlv_1= RULE_ID ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:512:28: ( (otherlv_0= 'condition' ( (lv_signal_1_0= ruleSignalDeclaration ) ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:513:1: (otherlv_0= 'condition' ( (lv_signal_1_0= ruleSignalDeclaration ) ) )
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:360:1: (otherlv_0= 'initial:' ( (otherlv_1= RULE_ID ) ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:360:3: otherlv_0= 'initial:' ( (otherlv_1= RULE_ID ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:513:1: (otherlv_0= 'condition' ( (lv_signal_1_0= ruleSignalDeclaration ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:513:3: otherlv_0= 'condition' ( (lv_signal_1_0= ruleSignalDeclaration ) )
{
- otherlv_0=(Token)match(input,15,FOLLOW_15_in_ruleInitialDeclaration668);
+ otherlv_0=(Token)match(input,21,FOLLOW_21_in_ruleConditionDeclaration984);
- newLeafNode(otherlv_0, grammarAccess.getInitialDeclarationAccess().getInitialKeyword_0());
+ newLeafNode(otherlv_0, grammarAccess.getConditionDeclarationAccess().getConditionKeyword_0());
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:364:1: ( (otherlv_1= RULE_ID ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:365:1: (otherlv_1= RULE_ID )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:517:1: ( (lv_signal_1_0= ruleSignalDeclaration ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:518:1: (lv_signal_1_0= ruleSignalDeclaration )
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:365:1: (otherlv_1= RULE_ID )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:366:3: otherlv_1= RULE_ID
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:518:1: (lv_signal_1_0= ruleSignalDeclaration )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:519:3: lv_signal_1_0= ruleSignalDeclaration
{
+
+ newCompositeNode(grammarAccess.getConditionDeclarationAccess().getSignalSignalDeclarationParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleSignalDeclaration_in_ruleConditionDeclaration1005);
+ lv_signal_1_0=ruleSignalDeclaration();
- if (current==null) {
- current = createModelElement(grammarAccess.getInitialDeclarationRule());
- }
-
- otherlv_1=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleInitialDeclaration688);
+ state._fsp--;
- newLeafNode(otherlv_1, grammarAccess.getInitialDeclarationAccess().getInitialStateCrossReference_1_0());
-
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getConditionDeclarationRule());
+ }
+ set(
+ current,
+ "signal",
+ lv_signal_1_0,
+ "SignalDeclaration");
+ afterParserOrEnumRuleCall();
+
}
@@ -859,29 +1259,29 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
}
return current;
}
- // $ANTLR end "ruleInitialDeclaration"
+ // $ANTLR end "ruleConditionDeclaration"
- // $ANTLR start "entryRuleLoopsDeclaration"
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:385:1: entryRuleLoopsDeclaration returns [EObject current=null] : iv_ruleLoopsDeclaration= ruleLoopsDeclaration EOF ;
- public final EObject entryRuleLoopsDeclaration() throws RecognitionException {
+ // $ANTLR start "entryRulePreconditionDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:543:1: entryRulePreconditionDeclaration returns [EObject current=null] : iv_rulePreconditionDeclaration= rulePreconditionDeclaration EOF ;
+ public final EObject entryRulePreconditionDeclaration() throws RecognitionException {
EObject current = null;
- EObject iv_ruleLoopsDeclaration = null;
+ EObject iv_rulePreconditionDeclaration = null;
try {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:386:2: (iv_ruleLoopsDeclaration= ruleLoopsDeclaration EOF )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:387:2: iv_ruleLoopsDeclaration= ruleLoopsDeclaration EOF
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:544:2: (iv_rulePreconditionDeclaration= rulePreconditionDeclaration EOF )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:545:2: iv_rulePreconditionDeclaration= rulePreconditionDeclaration EOF
{
- newCompositeNode(grammarAccess.getLoopsDeclarationRule());
- pushFollow(FOLLOW_ruleLoopsDeclaration_in_entryRuleLoopsDeclaration724);
- iv_ruleLoopsDeclaration=ruleLoopsDeclaration();
+ newCompositeNode(grammarAccess.getPreconditionDeclarationRule());
+ pushFollow(FOLLOW_rulePreconditionDeclaration_in_entryRulePreconditionDeclaration1041);
+ iv_rulePreconditionDeclaration=rulePreconditionDeclaration();
state._fsp--;
- current =iv_ruleLoopsDeclaration;
- match(input,EOF,FOLLOW_EOF_in_entryRuleLoopsDeclaration734);
+ current =iv_rulePreconditionDeclaration;
+ match(input,EOF,FOLLOW_EOF_in_entryRulePreconditionDeclaration1051);
}
@@ -895,49 +1295,55 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
}
return current;
}
- // $ANTLR end "entryRuleLoopsDeclaration"
+ // $ANTLR end "entryRulePreconditionDeclaration"
- // $ANTLR start "ruleLoopsDeclaration"
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:394:1: ruleLoopsDeclaration returns [EObject current=null] : (otherlv_0= 'loops:' ( (lv_val_1_0= RULE_INT ) ) ) ;
- public final EObject ruleLoopsDeclaration() throws RecognitionException {
+ // $ANTLR start "rulePreconditionDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:552:1: rulePreconditionDeclaration returns [EObject current=null] : (otherlv_0= 'precondition' ( (lv_signal_1_0= ruleSignalDeclaration ) ) ) ;
+ public final EObject rulePreconditionDeclaration() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
- Token lv_val_1_0=null;
+ EObject lv_signal_1_0 = null;
+
enterRule();
try {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:397:28: ( (otherlv_0= 'loops:' ( (lv_val_1_0= RULE_INT ) ) ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:398:1: (otherlv_0= 'loops:' ( (lv_val_1_0= RULE_INT ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:555:28: ( (otherlv_0= 'precondition' ( (lv_signal_1_0= ruleSignalDeclaration ) ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:556:1: (otherlv_0= 'precondition' ( (lv_signal_1_0= ruleSignalDeclaration ) ) )
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:398:1: (otherlv_0= 'loops:' ( (lv_val_1_0= RULE_INT ) ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:398:3: otherlv_0= 'loops:' ( (lv_val_1_0= RULE_INT ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:556:1: (otherlv_0= 'precondition' ( (lv_signal_1_0= ruleSignalDeclaration ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:556:3: otherlv_0= 'precondition' ( (lv_signal_1_0= ruleSignalDeclaration ) )
{
- otherlv_0=(Token)match(input,16,FOLLOW_16_in_ruleLoopsDeclaration771);
+ otherlv_0=(Token)match(input,22,FOLLOW_22_in_rulePreconditionDeclaration1088);
- newLeafNode(otherlv_0, grammarAccess.getLoopsDeclarationAccess().getLoopsKeyword_0());
+ newLeafNode(otherlv_0, grammarAccess.getPreconditionDeclarationAccess().getPreconditionKeyword_0());
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:402:1: ( (lv_val_1_0= RULE_INT ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:403:1: (lv_val_1_0= RULE_INT )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:560:1: ( (lv_signal_1_0= ruleSignalDeclaration ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:561:1: (lv_signal_1_0= ruleSignalDeclaration )
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:403:1: (lv_val_1_0= RULE_INT )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:404:3: lv_val_1_0= RULE_INT
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:561:1: (lv_signal_1_0= ruleSignalDeclaration )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:562:3: lv_signal_1_0= ruleSignalDeclaration
{
- lv_val_1_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleLoopsDeclaration788);
+
+ newCompositeNode(grammarAccess.getPreconditionDeclarationAccess().getSignalSignalDeclarationParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleSignalDeclaration_in_rulePreconditionDeclaration1109);
+ lv_signal_1_0=ruleSignalDeclaration();
+
+ state._fsp--;
- newLeafNode(lv_val_1_0, grammarAccess.getLoopsDeclarationAccess().getValINTTerminalRuleCall_1_0());
-
if (current==null) {
- current = createModelElement(grammarAccess.getLoopsDeclarationRule());
+ current = createModelElementForParent(grammarAccess.getPreconditionDeclarationRule());
}
- setWithLastConsumed(
+ set(
current,
- "val",
- lv_val_1_0,
- "INT");
+ "signal",
+ lv_signal_1_0,
+ "SignalDeclaration");
+ afterParserOrEnumRuleCall();
}
@@ -962,29 +1368,29 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
}
return current;
}
- // $ANTLR end "ruleLoopsDeclaration"
+ // $ANTLR end "rulePreconditionDeclaration"
- // $ANTLR start "entryRuleSeedDeclaration"
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:428:1: entryRuleSeedDeclaration returns [EObject current=null] : iv_ruleSeedDeclaration= ruleSeedDeclaration EOF ;
- public final EObject entryRuleSeedDeclaration() throws RecognitionException {
+ // $ANTLR start "entryRulePostconditionDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:586:1: entryRulePostconditionDeclaration returns [EObject current=null] : iv_rulePostconditionDeclaration= rulePostconditionDeclaration EOF ;
+ public final EObject entryRulePostconditionDeclaration() throws RecognitionException {
EObject current = null;
- EObject iv_ruleSeedDeclaration = null;
+ EObject iv_rulePostconditionDeclaration = null;
try {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:429:2: (iv_ruleSeedDeclaration= ruleSeedDeclaration EOF )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:430:2: iv_ruleSeedDeclaration= ruleSeedDeclaration EOF
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:587:2: (iv_rulePostconditionDeclaration= rulePostconditionDeclaration EOF )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:588:2: iv_rulePostconditionDeclaration= rulePostconditionDeclaration EOF
{
- newCompositeNode(grammarAccess.getSeedDeclarationRule());
- pushFollow(FOLLOW_ruleSeedDeclaration_in_entryRuleSeedDeclaration829);
- iv_ruleSeedDeclaration=ruleSeedDeclaration();
+ newCompositeNode(grammarAccess.getPostconditionDeclarationRule());
+ pushFollow(FOLLOW_rulePostconditionDeclaration_in_entryRulePostconditionDeclaration1145);
+ iv_rulePostconditionDeclaration=rulePostconditionDeclaration();
state._fsp--;
- current =iv_ruleSeedDeclaration;
- match(input,EOF,FOLLOW_EOF_in_entryRuleSeedDeclaration839);
+ current =iv_rulePostconditionDeclaration;
+ match(input,EOF,FOLLOW_EOF_in_entryRulePostconditionDeclaration1155);
}
@@ -998,49 +1404,55 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
}
return current;
}
- // $ANTLR end "entryRuleSeedDeclaration"
+ // $ANTLR end "entryRulePostconditionDeclaration"
- // $ANTLR start "ruleSeedDeclaration"
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:437:1: ruleSeedDeclaration returns [EObject current=null] : (otherlv_0= 'randseed:' ( (lv_val_1_0= RULE_INT ) ) ) ;
- public final EObject ruleSeedDeclaration() throws RecognitionException {
+ // $ANTLR start "rulePostconditionDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:595:1: rulePostconditionDeclaration returns [EObject current=null] : (otherlv_0= 'postcondition' ( (lv_signal_1_0= ruleSignalDeclaration ) ) ) ;
+ public final EObject rulePostconditionDeclaration() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
- Token lv_val_1_0=null;
+ EObject lv_signal_1_0 = null;
+
enterRule();
try {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:440:28: ( (otherlv_0= 'randseed:' ( (lv_val_1_0= RULE_INT ) ) ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:441:1: (otherlv_0= 'randseed:' ( (lv_val_1_0= RULE_INT ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:598:28: ( (otherlv_0= 'postcondition' ( (lv_signal_1_0= ruleSignalDeclaration ) ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:599:1: (otherlv_0= 'postcondition' ( (lv_signal_1_0= ruleSignalDeclaration ) ) )
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:441:1: (otherlv_0= 'randseed:' ( (lv_val_1_0= RULE_INT ) ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:441:3: otherlv_0= 'randseed:' ( (lv_val_1_0= RULE_INT ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:599:1: (otherlv_0= 'postcondition' ( (lv_signal_1_0= ruleSignalDeclaration ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:599:3: otherlv_0= 'postcondition' ( (lv_signal_1_0= ruleSignalDeclaration ) )
{
- otherlv_0=(Token)match(input,17,FOLLOW_17_in_ruleSeedDeclaration876);
+ otherlv_0=(Token)match(input,23,FOLLOW_23_in_rulePostconditionDeclaration1192);
- newLeafNode(otherlv_0, grammarAccess.getSeedDeclarationAccess().getRandseedKeyword_0());
+ newLeafNode(otherlv_0, grammarAccess.getPostconditionDeclarationAccess().getPostconditionKeyword_0());
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:445:1: ( (lv_val_1_0= RULE_INT ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:446:1: (lv_val_1_0= RULE_INT )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:603:1: ( (lv_signal_1_0= ruleSignalDeclaration ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:604:1: (lv_signal_1_0= ruleSignalDeclaration )
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:446:1: (lv_val_1_0= RULE_INT )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:447:3: lv_val_1_0= RULE_INT
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:604:1: (lv_signal_1_0= ruleSignalDeclaration )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:605:3: lv_signal_1_0= ruleSignalDeclaration
{
- lv_val_1_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleSeedDeclaration893);
+
+ newCompositeNode(grammarAccess.getPostconditionDeclarationAccess().getSignalSignalDeclarationParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleSignalDeclaration_in_rulePostconditionDeclaration1213);
+ lv_signal_1_0=ruleSignalDeclaration();
+
+ state._fsp--;
- newLeafNode(lv_val_1_0, grammarAccess.getSeedDeclarationAccess().getValINTTerminalRuleCall_1_0());
-
if (current==null) {
- current = createModelElement(grammarAccess.getSeedDeclarationRule());
+ current = createModelElementForParent(grammarAccess.getPostconditionDeclarationRule());
}
- setWithLastConsumed(
+ set(
current,
- "val",
- lv_val_1_0,
- "INT");
+ "signal",
+ lv_signal_1_0,
+ "SignalDeclaration");
+ afterParserOrEnumRuleCall();
}
@@ -1065,29 +1477,29 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
}
return current;
}
- // $ANTLR end "ruleSeedDeclaration"
+ // $ANTLR end "rulePostconditionDeclaration"
- // $ANTLR start "entryRuleSignalDeclaration"
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:471:1: entryRuleSignalDeclaration returns [EObject current=null] : iv_ruleSignalDeclaration= ruleSignalDeclaration EOF ;
- public final EObject entryRuleSignalDeclaration() throws RecognitionException {
+ // $ANTLR start "entryRuleStateDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:629:1: entryRuleStateDeclaration returns [EObject current=null] : iv_ruleStateDeclaration= ruleStateDeclaration EOF ;
+ public final EObject entryRuleStateDeclaration() throws RecognitionException {
EObject current = null;
- EObject iv_ruleSignalDeclaration = null;
+ EObject iv_ruleStateDeclaration = null;
try {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:472:2: (iv_ruleSignalDeclaration= ruleSignalDeclaration EOF )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:473:2: iv_ruleSignalDeclaration= ruleSignalDeclaration EOF
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:630:2: (iv_ruleStateDeclaration= ruleStateDeclaration EOF )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:631:2: iv_ruleStateDeclaration= ruleStateDeclaration EOF
{
- newCompositeNode(grammarAccess.getSignalDeclarationRule());
- pushFollow(FOLLOW_ruleSignalDeclaration_in_entryRuleSignalDeclaration934);
- iv_ruleSignalDeclaration=ruleSignalDeclaration();
+ newCompositeNode(grammarAccess.getStateDeclarationRule());
+ pushFollow(FOLLOW_ruleStateDeclaration_in_entryRuleStateDeclaration1249);
+ iv_ruleStateDeclaration=ruleStateDeclaration();
state._fsp--;
- current =iv_ruleSignalDeclaration;
- match(input,EOF,FOLLOW_EOF_in_entryRuleSignalDeclaration944);
+ current =iv_ruleStateDeclaration;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleStateDeclaration1259);
}
@@ -1101,100 +1513,54 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
}
return current;
}
- // $ANTLR end "entryRuleSignalDeclaration"
+ // $ANTLR end "entryRuleStateDeclaration"
- // $ANTLR start "ruleSignalDeclaration"
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:480:1: ruleSignalDeclaration returns [EObject current=null] : ( ( ( (lv_port_0_0= RULE_ID ) ) otherlv_1= '.' )? ( (lv_signame_2_0= RULE_ID ) ) ( (otherlv_3= '=' ( (lv_intVal_4_0= RULE_INT ) ) ) | (otherlv_5= '=' ( (lv_strVal_6_0= RULE_STRING ) ) ) )? ) ;
- public final EObject ruleSignalDeclaration() throws RecognitionException {
+ // $ANTLR start "ruleStateDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:638:1: ruleStateDeclaration returns [EObject current=null] : (otherlv_0= 'state' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'constraints:' ( (lv_condition_3_0= ruleConditionDeclaration ) )+ )? ( (lv_transitions_4_0= ruleTransitionDeclaration ) )+ otherlv_5= ';' ) ;
+ public final EObject ruleStateDeclaration() throws RecognitionException {
EObject current = null;
- Token lv_port_0_0=null;
- Token otherlv_1=null;
- Token lv_signame_2_0=null;
- Token otherlv_3=null;
- Token lv_intVal_4_0=null;
+ Token otherlv_0=null;
+ Token lv_name_1_0=null;
+ Token otherlv_2=null;
Token otherlv_5=null;
- Token lv_strVal_6_0=null;
+ EObject lv_condition_3_0 = null;
+
+ EObject lv_transitions_4_0 = null;
+
enterRule();
try {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:483:28: ( ( ( ( (lv_port_0_0= RULE_ID ) ) otherlv_1= '.' )? ( (lv_signame_2_0= RULE_ID ) ) ( (otherlv_3= '=' ( (lv_intVal_4_0= RULE_INT ) ) ) | (otherlv_5= '=' ( (lv_strVal_6_0= RULE_STRING ) ) ) )? ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:484:1: ( ( ( (lv_port_0_0= RULE_ID ) ) otherlv_1= '.' )? ( (lv_signame_2_0= RULE_ID ) ) ( (otherlv_3= '=' ( (lv_intVal_4_0= RULE_INT ) ) ) | (otherlv_5= '=' ( (lv_strVal_6_0= RULE_STRING ) ) ) )? )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:641:28: ( (otherlv_0= 'state' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'constraints:' ( (lv_condition_3_0= ruleConditionDeclaration ) )+ )? ( (lv_transitions_4_0= ruleTransitionDeclaration ) )+ otherlv_5= ';' ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:642:1: (otherlv_0= 'state' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'constraints:' ( (lv_condition_3_0= ruleConditionDeclaration ) )+ )? ( (lv_transitions_4_0= ruleTransitionDeclaration ) )+ otherlv_5= ';' )
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:484:1: ( ( ( (lv_port_0_0= RULE_ID ) ) otherlv_1= '.' )? ( (lv_signame_2_0= RULE_ID ) ) ( (otherlv_3= '=' ( (lv_intVal_4_0= RULE_INT ) ) ) | (otherlv_5= '=' ( (lv_strVal_6_0= RULE_STRING ) ) ) )? )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:484:2: ( ( (lv_port_0_0= RULE_ID ) ) otherlv_1= '.' )? ( (lv_signame_2_0= RULE_ID ) ) ( (otherlv_3= '=' ( (lv_intVal_4_0= RULE_INT ) ) ) | (otherlv_5= '=' ( (lv_strVal_6_0= RULE_STRING ) ) ) )?
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:642:1: (otherlv_0= 'state' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'constraints:' ( (lv_condition_3_0= ruleConditionDeclaration ) )+ )? ( (lv_transitions_4_0= ruleTransitionDeclaration ) )+ otherlv_5= ';' )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:642:3: otherlv_0= 'state' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'constraints:' ( (lv_condition_3_0= ruleConditionDeclaration ) )+ )? ( (lv_transitions_4_0= ruleTransitionDeclaration ) )+ otherlv_5= ';'
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:484:2: ( ( (lv_port_0_0= RULE_ID ) ) otherlv_1= '.' )?
- int alt5=2;
- int LA5_0 = input.LA(1);
-
- if ( (LA5_0==RULE_ID) ) {
- int LA5_1 = input.LA(2);
-
- if ( (LA5_1==18) ) {
- alt5=1;
- }
- }
- switch (alt5) {
- case 1 :
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:484:3: ( (lv_port_0_0= RULE_ID ) ) otherlv_1= '.'
- {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:484:3: ( (lv_port_0_0= RULE_ID ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:485:1: (lv_port_0_0= RULE_ID )
- {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:485:1: (lv_port_0_0= RULE_ID )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:486:3: lv_port_0_0= RULE_ID
- {
- lv_port_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleSignalDeclaration987);
-
- newLeafNode(lv_port_0_0, grammarAccess.getSignalDeclarationAccess().getPortIDTerminalRuleCall_0_0_0());
-
-
- if (current==null) {
- current = createModelElement(grammarAccess.getSignalDeclarationRule());
- }
- setWithLastConsumed(
- current,
- "port",
- lv_port_0_0,
- "ID");
-
-
- }
-
-
- }
-
- otherlv_1=(Token)match(input,18,FOLLOW_18_in_ruleSignalDeclaration1004);
-
- newLeafNode(otherlv_1, grammarAccess.getSignalDeclarationAccess().getFullStopKeyword_0_1());
-
-
- }
- break;
+ otherlv_0=(Token)match(input,24,FOLLOW_24_in_ruleStateDeclaration1296);
- }
-
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:506:3: ( (lv_signame_2_0= RULE_ID ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:507:1: (lv_signame_2_0= RULE_ID )
+ newLeafNode(otherlv_0, grammarAccess.getStateDeclarationAccess().getStateKeyword_0());
+
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:646:1: ( (lv_name_1_0= RULE_ID ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:647:1: (lv_name_1_0= RULE_ID )
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:507:1: (lv_signame_2_0= RULE_ID )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:508:3: lv_signame_2_0= RULE_ID
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:647:1: (lv_name_1_0= RULE_ID )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:648:3: lv_name_1_0= RULE_ID
{
- lv_signame_2_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleSignalDeclaration1023);
+ lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleStateDeclaration1313);
- newLeafNode(lv_signame_2_0, grammarAccess.getSignalDeclarationAccess().getSignameIDTerminalRuleCall_1_0());
+ newLeafNode(lv_name_1_0, grammarAccess.getStateDeclarationAccess().getNameIDTerminalRuleCall_1_0());
if (current==null) {
- current = createModelElement(grammarAccess.getSignalDeclarationRule());
+ current = createModelElement(grammarAccess.getStateDeclarationRule());
}
setWithLastConsumed(
current,
- "signame",
- lv_signame_2_0,
+ "name",
+ lv_name_1_0,
"ID");
@@ -1203,108 +1569,139 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
}
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:524:2: ( (otherlv_3= '=' ( (lv_intVal_4_0= RULE_INT ) ) ) | (otherlv_5= '=' ( (lv_strVal_6_0= RULE_STRING ) ) ) )?
- int alt6=3;
- int LA6_0 = input.LA(1);
-
- if ( (LA6_0==19) ) {
- int LA6_1 = input.LA(2);
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:664:2: (otherlv_2= 'constraints:' ( (lv_condition_3_0= ruleConditionDeclaration ) )+ )?
+ int alt10=2;
+ int LA10_0 = input.LA(1);
- if ( (LA6_1==RULE_INT) ) {
- alt6=1;
- }
- else if ( (LA6_1==RULE_STRING) ) {
- alt6=2;
- }
+ if ( (LA10_0==20) ) {
+ alt10=1;
}
- switch (alt6) {
+ switch (alt10) {
case 1 :
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:524:3: (otherlv_3= '=' ( (lv_intVal_4_0= RULE_INT ) ) )
- {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:524:3: (otherlv_3= '=' ( (lv_intVal_4_0= RULE_INT ) ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:524:5: otherlv_3= '=' ( (lv_intVal_4_0= RULE_INT ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:664:4: otherlv_2= 'constraints:' ( (lv_condition_3_0= ruleConditionDeclaration ) )+
{
- otherlv_3=(Token)match(input,19,FOLLOW_19_in_ruleSignalDeclaration1042);
+ otherlv_2=(Token)match(input,20,FOLLOW_20_in_ruleStateDeclaration1331);
- newLeafNode(otherlv_3, grammarAccess.getSignalDeclarationAccess().getEqualsSignKeyword_2_0_0());
+ newLeafNode(otherlv_2, grammarAccess.getStateDeclarationAccess().getConstraintsKeyword_2_0());
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:528:1: ( (lv_intVal_4_0= RULE_INT ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:529:1: (lv_intVal_4_0= RULE_INT )
- {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:529:1: (lv_intVal_4_0= RULE_INT )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:530:3: lv_intVal_4_0= RULE_INT
- {
- lv_intVal_4_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleSignalDeclaration1059);
-
- newLeafNode(lv_intVal_4_0, grammarAccess.getSignalDeclarationAccess().getIntValINTTerminalRuleCall_2_0_1_0());
-
-
- if (current==null) {
- current = createModelElement(grammarAccess.getSignalDeclarationRule());
- }
- setWithLastConsumed(
- current,
- "intVal",
- lv_intVal_4_0,
- "INT");
-
-
- }
-
-
- }
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:668:1: ( (lv_condition_3_0= ruleConditionDeclaration ) )+
+ int cnt9=0;
+ loop9:
+ do {
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( (LA9_0==21) ) {
+ alt9=1;
+ }
+
+
+ switch (alt9) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:669:1: (lv_condition_3_0= ruleConditionDeclaration )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:669:1: (lv_condition_3_0= ruleConditionDeclaration )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:670:3: lv_condition_3_0= ruleConditionDeclaration
+ {
+
+ newCompositeNode(grammarAccess.getStateDeclarationAccess().getConditionConditionDeclarationParserRuleCall_2_1_0());
+
+ pushFollow(FOLLOW_ruleConditionDeclaration_in_ruleStateDeclaration1352);
+ lv_condition_3_0=ruleConditionDeclaration();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getStateDeclarationRule());
+ }
+ add(
+ current,
+ "condition",
+ lv_condition_3_0,
+ "ConditionDeclaration");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ if ( cnt9 >= 1 ) break loop9;
+ EarlyExitException eee =
+ new EarlyExitException(9, input);
+ throw eee;
+ }
+ cnt9++;
+ } while (true);
}
+ break;
+ }
- }
- break;
- case 2 :
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:547:6: (otherlv_5= '=' ( (lv_strVal_6_0= RULE_STRING ) ) )
- {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:547:6: (otherlv_5= '=' ( (lv_strVal_6_0= RULE_STRING ) ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:547:8: otherlv_5= '=' ( (lv_strVal_6_0= RULE_STRING ) )
- {
- otherlv_5=(Token)match(input,19,FOLLOW_19_in_ruleSignalDeclaration1084);
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:686:5: ( (lv_transitions_4_0= ruleTransitionDeclaration ) )+
+ int cnt11=0;
+ loop11:
+ do {
+ int alt11=2;
+ int LA11_0 = input.LA(1);
- newLeafNode(otherlv_5, grammarAccess.getSignalDeclarationAccess().getEqualsSignKeyword_2_1_0());
-
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:551:1: ( (lv_strVal_6_0= RULE_STRING ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:552:1: (lv_strVal_6_0= RULE_STRING )
- {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:552:1: (lv_strVal_6_0= RULE_STRING )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:553:3: lv_strVal_6_0= RULE_STRING
- {
- lv_strVal_6_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleSignalDeclaration1101);
+ if ( (LA11_0==16) ) {
+ alt11=1;
+ }
- newLeafNode(lv_strVal_6_0, grammarAccess.getSignalDeclarationAccess().getStrValSTRINGTerminalRuleCall_2_1_1_0());
-
- if (current==null) {
- current = createModelElement(grammarAccess.getSignalDeclarationRule());
- }
- setWithLastConsumed(
- current,
- "strVal",
- lv_strVal_6_0,
- "STRING");
-
+ switch (alt11) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:687:1: (lv_transitions_4_0= ruleTransitionDeclaration )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:687:1: (lv_transitions_4_0= ruleTransitionDeclaration )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:688:3: lv_transitions_4_0= ruleTransitionDeclaration
+ {
+
+ newCompositeNode(grammarAccess.getStateDeclarationAccess().getTransitionsTransitionDeclarationParserRuleCall_3_0());
+
+ pushFollow(FOLLOW_ruleTransitionDeclaration_in_ruleStateDeclaration1376);
+ lv_transitions_4_0=ruleTransitionDeclaration();
- }
+ state._fsp--;
- }
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getStateDeclarationRule());
+ }
+ add(
+ current,
+ "transitions",
+ lv_transitions_4_0,
+ "TransitionDeclaration");
+ afterParserOrEnumRuleCall();
+
+ }
- }
+ }
+ break;
- }
- break;
+ default :
+ if ( cnt11 >= 1 ) break loop11;
+ EarlyExitException eee =
+ new EarlyExitException(11, input);
+ throw eee;
+ }
+ cnt11++;
+ } while (true);
- }
+ otherlv_5=(Token)match(input,13,FOLLOW_13_in_ruleStateDeclaration1389);
+ newLeafNode(otherlv_5, grammarAccess.getStateDeclarationAccess().getSemicolonKeyword_4());
+
}
@@ -1322,29 +1719,29 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
}
return current;
}
- // $ANTLR end "ruleSignalDeclaration"
+ // $ANTLR end "ruleStateDeclaration"
- // $ANTLR start "entryRuleSourceDeclaration"
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:577:1: entryRuleSourceDeclaration returns [EObject current=null] : iv_ruleSourceDeclaration= ruleSourceDeclaration EOF ;
- public final EObject entryRuleSourceDeclaration() throws RecognitionException {
+ // $ANTLR start "entryRuleLoopsDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:716:1: entryRuleLoopsDeclaration returns [EObject current=null] : iv_ruleLoopsDeclaration= ruleLoopsDeclaration EOF ;
+ public final EObject entryRuleLoopsDeclaration() throws RecognitionException {
EObject current = null;
- EObject iv_ruleSourceDeclaration = null;
+ EObject iv_ruleLoopsDeclaration = null;
try {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:578:2: (iv_ruleSourceDeclaration= ruleSourceDeclaration EOF )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:579:2: iv_ruleSourceDeclaration= ruleSourceDeclaration EOF
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:717:2: (iv_ruleLoopsDeclaration= ruleLoopsDeclaration EOF )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:718:2: iv_ruleLoopsDeclaration= ruleLoopsDeclaration EOF
{
- newCompositeNode(grammarAccess.getSourceDeclarationRule());
- pushFollow(FOLLOW_ruleSourceDeclaration_in_entryRuleSourceDeclaration1145);
- iv_ruleSourceDeclaration=ruleSourceDeclaration();
+ newCompositeNode(grammarAccess.getLoopsDeclarationRule());
+ pushFollow(FOLLOW_ruleLoopsDeclaration_in_entryRuleLoopsDeclaration1425);
+ iv_ruleLoopsDeclaration=ruleLoopsDeclaration();
state._fsp--;
- current =iv_ruleSourceDeclaration;
- match(input,EOF,FOLLOW_EOF_in_entryRuleSourceDeclaration1155);
+ current =iv_ruleLoopsDeclaration;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleLoopsDeclaration1435);
}
@@ -1358,51 +1755,56 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
}
return current;
}
- // $ANTLR end "entryRuleSourceDeclaration"
+ // $ANTLR end "entryRuleLoopsDeclaration"
- // $ANTLR start "ruleSourceDeclaration"
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:586:1: ruleSourceDeclaration returns [EObject current=null] : ( ( (otherlv_0= RULE_ID ) ) otherlv_1= ':' ) ;
- public final EObject ruleSourceDeclaration() throws RecognitionException {
+ // $ANTLR start "ruleLoopsDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:725:1: ruleLoopsDeclaration returns [EObject current=null] : (otherlv_0= 'loops:' ( (lv_val_1_0= RULE_INT ) ) ) ;
+ public final EObject ruleLoopsDeclaration() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
- Token otherlv_1=null;
+ Token lv_val_1_0=null;
enterRule();
try {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:589:28: ( ( ( (otherlv_0= RULE_ID ) ) otherlv_1= ':' ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:590:1: ( ( (otherlv_0= RULE_ID ) ) otherlv_1= ':' )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:728:28: ( (otherlv_0= 'loops:' ( (lv_val_1_0= RULE_INT ) ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:729:1: (otherlv_0= 'loops:' ( (lv_val_1_0= RULE_INT ) ) )
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:590:1: ( ( (otherlv_0= RULE_ID ) ) otherlv_1= ':' )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:590:2: ( (otherlv_0= RULE_ID ) ) otherlv_1= ':'
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:729:1: (otherlv_0= 'loops:' ( (lv_val_1_0= RULE_INT ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:729:3: otherlv_0= 'loops:' ( (lv_val_1_0= RULE_INT ) )
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:590:2: ( (otherlv_0= RULE_ID ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:591:1: (otherlv_0= RULE_ID )
+ otherlv_0=(Token)match(input,25,FOLLOW_25_in_ruleLoopsDeclaration1472);
+
+ newLeafNode(otherlv_0, grammarAccess.getLoopsDeclarationAccess().getLoopsKeyword_0());
+
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:733:1: ( (lv_val_1_0= RULE_INT ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:734:1: (lv_val_1_0= RULE_INT )
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:591:1: (otherlv_0= RULE_ID )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:592:3: otherlv_0= RULE_ID
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:734:1: (lv_val_1_0= RULE_INT )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:735:3: lv_val_1_0= RULE_INT
{
+ lv_val_1_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleLoopsDeclaration1489);
- if (current==null) {
- current = createModelElement(grammarAccess.getSourceDeclarationRule());
- }
-
- otherlv_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleSourceDeclaration1200);
+ newLeafNode(lv_val_1_0, grammarAccess.getLoopsDeclarationAccess().getValINTTerminalRuleCall_1_0());
+
- newLeafNode(otherlv_0, grammarAccess.getSourceDeclarationAccess().getRefStateCrossReference_0_0());
-
+ if (current==null) {
+ current = createModelElement(grammarAccess.getLoopsDeclarationRule());
+ }
+ setWithLastConsumed(
+ current,
+ "val",
+ lv_val_1_0,
+ "INT");
+
}
}
- otherlv_1=(Token)match(input,20,FOLLOW_20_in_ruleSourceDeclaration1212);
-
- newLeafNode(otherlv_1, grammarAccess.getSourceDeclarationAccess().getColonKeyword_1());
-
}
@@ -1420,29 +1822,29 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
}
return current;
}
- // $ANTLR end "ruleSourceDeclaration"
+ // $ANTLR end "ruleLoopsDeclaration"
- // $ANTLR start "entryRuleDestinationDeclaration"
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:615:1: entryRuleDestinationDeclaration returns [EObject current=null] : iv_ruleDestinationDeclaration= ruleDestinationDeclaration EOF ;
- public final EObject entryRuleDestinationDeclaration() throws RecognitionException {
+ // $ANTLR start "entryRuleSeedDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:759:1: entryRuleSeedDeclaration returns [EObject current=null] : iv_ruleSeedDeclaration= ruleSeedDeclaration EOF ;
+ public final EObject entryRuleSeedDeclaration() throws RecognitionException {
EObject current = null;
- EObject iv_ruleDestinationDeclaration = null;
+ EObject iv_ruleSeedDeclaration = null;
try {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:616:2: (iv_ruleDestinationDeclaration= ruleDestinationDeclaration EOF )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:617:2: iv_ruleDestinationDeclaration= ruleDestinationDeclaration EOF
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:760:2: (iv_ruleSeedDeclaration= ruleSeedDeclaration EOF )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:761:2: iv_ruleSeedDeclaration= ruleSeedDeclaration EOF
{
- newCompositeNode(grammarAccess.getDestinationDeclarationRule());
- pushFollow(FOLLOW_ruleDestinationDeclaration_in_entryRuleDestinationDeclaration1248);
- iv_ruleDestinationDeclaration=ruleDestinationDeclaration();
+ newCompositeNode(grammarAccess.getSeedDeclarationRule());
+ pushFollow(FOLLOW_ruleSeedDeclaration_in_entryRuleSeedDeclaration1530);
+ iv_ruleSeedDeclaration=ruleSeedDeclaration();
state._fsp--;
- current =iv_ruleDestinationDeclaration;
- match(input,EOF,FOLLOW_EOF_in_entryRuleDestinationDeclaration1258);
+ current =iv_ruleSeedDeclaration;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleSeedDeclaration1540);
}
@@ -1456,45 +1858,50 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
}
return current;
}
- // $ANTLR end "entryRuleDestinationDeclaration"
+ // $ANTLR end "entryRuleSeedDeclaration"
- // $ANTLR start "ruleDestinationDeclaration"
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:624:1: ruleDestinationDeclaration returns [EObject current=null] : (otherlv_0= '-> ' ( (otherlv_1= RULE_ID ) ) ) ;
- public final EObject ruleDestinationDeclaration() throws RecognitionException {
+ // $ANTLR start "ruleSeedDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:768:1: ruleSeedDeclaration returns [EObject current=null] : (otherlv_0= 'randseed:' ( (lv_val_1_0= RULE_INT ) ) ) ;
+ public final EObject ruleSeedDeclaration() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
- Token otherlv_1=null;
+ Token lv_val_1_0=null;
enterRule();
try {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:627:28: ( (otherlv_0= '-> ' ( (otherlv_1= RULE_ID ) ) ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:628:1: (otherlv_0= '-> ' ( (otherlv_1= RULE_ID ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:771:28: ( (otherlv_0= 'randseed:' ( (lv_val_1_0= RULE_INT ) ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:772:1: (otherlv_0= 'randseed:' ( (lv_val_1_0= RULE_INT ) ) )
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:628:1: (otherlv_0= '-> ' ( (otherlv_1= RULE_ID ) ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:628:3: otherlv_0= '-> ' ( (otherlv_1= RULE_ID ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:772:1: (otherlv_0= 'randseed:' ( (lv_val_1_0= RULE_INT ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:772:3: otherlv_0= 'randseed:' ( (lv_val_1_0= RULE_INT ) )
{
- otherlv_0=(Token)match(input,21,FOLLOW_21_in_ruleDestinationDeclaration1295);
+ otherlv_0=(Token)match(input,26,FOLLOW_26_in_ruleSeedDeclaration1577);
- newLeafNode(otherlv_0, grammarAccess.getDestinationDeclarationAccess().getHyphenMinusGreaterThanSignSpaceKeyword_0());
+ newLeafNode(otherlv_0, grammarAccess.getSeedDeclarationAccess().getRandseedKeyword_0());
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:632:1: ( (otherlv_1= RULE_ID ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:633:1: (otherlv_1= RULE_ID )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:776:1: ( (lv_val_1_0= RULE_INT ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:777:1: (lv_val_1_0= RULE_INT )
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:633:1: (otherlv_1= RULE_ID )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:634:3: otherlv_1= RULE_ID
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:777:1: (lv_val_1_0= RULE_INT )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:778:3: lv_val_1_0= RULE_INT
{
+ lv_val_1_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleSeedDeclaration1594);
- if (current==null) {
- current = createModelElement(grammarAccess.getDestinationDeclarationRule());
- }
-
- otherlv_1=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleDestinationDeclaration1315);
+ newLeafNode(lv_val_1_0, grammarAccess.getSeedDeclarationAccess().getValINTTerminalRuleCall_1_0());
+
- newLeafNode(otherlv_1, grammarAccess.getDestinationDeclarationAccess().getRefStateCrossReference_1_0());
-
+ if (current==null) {
+ current = createModelElement(grammarAccess.getSeedDeclarationRule());
+ }
+ setWithLastConsumed(
+ current,
+ "val",
+ lv_val_1_0,
+ "INT");
+
}
@@ -1518,29 +1925,29 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
}
return current;
}
- // $ANTLR end "ruleDestinationDeclaration"
+ // $ANTLR end "ruleSeedDeclaration"
- // $ANTLR start "entryRuleTransitionDeclaration"
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:653:1: entryRuleTransitionDeclaration returns [EObject current=null] : iv_ruleTransitionDeclaration= ruleTransitionDeclaration EOF ;
- public final EObject entryRuleTransitionDeclaration() throws RecognitionException {
+ // $ANTLR start "entryRuleSignalDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:802:1: entryRuleSignalDeclaration returns [EObject current=null] : iv_ruleSignalDeclaration= ruleSignalDeclaration EOF ;
+ public final EObject entryRuleSignalDeclaration() throws RecognitionException {
EObject current = null;
- EObject iv_ruleTransitionDeclaration = null;
+ EObject iv_ruleSignalDeclaration = null;
try {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:654:2: (iv_ruleTransitionDeclaration= ruleTransitionDeclaration EOF )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:655:2: iv_ruleTransitionDeclaration= ruleTransitionDeclaration EOF
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:803:2: (iv_ruleSignalDeclaration= ruleSignalDeclaration EOF )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:804:2: iv_ruleSignalDeclaration= ruleSignalDeclaration EOF
{
- newCompositeNode(grammarAccess.getTransitionDeclarationRule());
- pushFollow(FOLLOW_ruleTransitionDeclaration_in_entryRuleTransitionDeclaration1351);
- iv_ruleTransitionDeclaration=ruleTransitionDeclaration();
+ newCompositeNode(grammarAccess.getSignalDeclarationRule());
+ pushFollow(FOLLOW_ruleSignalDeclaration_in_entryRuleSignalDeclaration1635);
+ iv_ruleSignalDeclaration=ruleSignalDeclaration();
state._fsp--;
- current =iv_ruleTransitionDeclaration;
- match(input,EOF,FOLLOW_EOF_in_entryRuleTransitionDeclaration1361);
+ current =iv_ruleSignalDeclaration;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleSignalDeclaration1645);
}
@@ -1554,199 +1961,207 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
}
return current;
}
- // $ANTLR end "entryRuleTransitionDeclaration"
+ // $ANTLR end "entryRuleSignalDeclaration"
- // $ANTLR start "ruleTransitionDeclaration"
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:662:1: ruleTransitionDeclaration returns [EObject current=null] : ( ( (lv_source_0_0= ruleSourceDeclaration ) ) otherlv_1= 'in:' ( (lv_in_2_0= ruleSignalDeclaration ) )* otherlv_3= 'out:' ( (lv_out_4_0= ruleSignalDeclaration ) )* ( (lv_destination_5_0= ruleDestinationDeclaration ) ) ) ;
- public final EObject ruleTransitionDeclaration() throws RecognitionException {
+ // $ANTLR start "ruleSignalDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:811:1: ruleSignalDeclaration returns [EObject current=null] : ( ( ( (lv_port_0_0= RULE_ID ) ) otherlv_1= '.' )? ( (lv_signame_2_0= RULE_ID ) ) ( (otherlv_3= '=' ( (lv_intVal_4_0= RULE_INT ) ) ) | (otherlv_5= '=' ( (lv_strVal_6_0= RULE_STRING ) ) ) )? ) ;
+ public final EObject ruleSignalDeclaration() throws RecognitionException {
EObject current = null;
+ Token lv_port_0_0=null;
Token otherlv_1=null;
+ Token lv_signame_2_0=null;
Token otherlv_3=null;
- EObject lv_source_0_0 = null;
-
- EObject lv_in_2_0 = null;
-
- EObject lv_out_4_0 = null;
-
- EObject lv_destination_5_0 = null;
-
+ Token lv_intVal_4_0=null;
+ Token otherlv_5=null;
+ Token lv_strVal_6_0=null;
enterRule();
try {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:665:28: ( ( ( (lv_source_0_0= ruleSourceDeclaration ) ) otherlv_1= 'in:' ( (lv_in_2_0= ruleSignalDeclaration ) )* otherlv_3= 'out:' ( (lv_out_4_0= ruleSignalDeclaration ) )* ( (lv_destination_5_0= ruleDestinationDeclaration ) ) ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:666:1: ( ( (lv_source_0_0= ruleSourceDeclaration ) ) otherlv_1= 'in:' ( (lv_in_2_0= ruleSignalDeclaration ) )* otherlv_3= 'out:' ( (lv_out_4_0= ruleSignalDeclaration ) )* ( (lv_destination_5_0= ruleDestinationDeclaration ) ) )
- {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:666:1: ( ( (lv_source_0_0= ruleSourceDeclaration ) ) otherlv_1= 'in:' ( (lv_in_2_0= ruleSignalDeclaration ) )* otherlv_3= 'out:' ( (lv_out_4_0= ruleSignalDeclaration ) )* ( (lv_destination_5_0= ruleDestinationDeclaration ) ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:666:2: ( (lv_source_0_0= ruleSourceDeclaration ) ) otherlv_1= 'in:' ( (lv_in_2_0= ruleSignalDeclaration ) )* otherlv_3= 'out:' ( (lv_out_4_0= ruleSignalDeclaration ) )* ( (lv_destination_5_0= ruleDestinationDeclaration ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:814:28: ( ( ( ( (lv_port_0_0= RULE_ID ) ) otherlv_1= '.' )? ( (lv_signame_2_0= RULE_ID ) ) ( (otherlv_3= '=' ( (lv_intVal_4_0= RULE_INT ) ) ) | (otherlv_5= '=' ( (lv_strVal_6_0= RULE_STRING ) ) ) )? ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:815:1: ( ( ( (lv_port_0_0= RULE_ID ) ) otherlv_1= '.' )? ( (lv_signame_2_0= RULE_ID ) ) ( (otherlv_3= '=' ( (lv_intVal_4_0= RULE_INT ) ) ) | (otherlv_5= '=' ( (lv_strVal_6_0= RULE_STRING ) ) ) )? )
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:666:2: ( (lv_source_0_0= ruleSourceDeclaration ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:667:1: (lv_source_0_0= ruleSourceDeclaration )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:815:1: ( ( ( (lv_port_0_0= RULE_ID ) ) otherlv_1= '.' )? ( (lv_signame_2_0= RULE_ID ) ) ( (otherlv_3= '=' ( (lv_intVal_4_0= RULE_INT ) ) ) | (otherlv_5= '=' ( (lv_strVal_6_0= RULE_STRING ) ) ) )? )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:815:2: ( ( (lv_port_0_0= RULE_ID ) ) otherlv_1= '.' )? ( (lv_signame_2_0= RULE_ID ) ) ( (otherlv_3= '=' ( (lv_intVal_4_0= RULE_INT ) ) ) | (otherlv_5= '=' ( (lv_strVal_6_0= RULE_STRING ) ) ) )?
{
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:667:1: (lv_source_0_0= ruleSourceDeclaration )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:668:3: lv_source_0_0= ruleSourceDeclaration
- {
-
- newCompositeNode(grammarAccess.getTransitionDeclarationAccess().getSourceSourceDeclarationParserRuleCall_0_0());
-
- pushFollow(FOLLOW_ruleSourceDeclaration_in_ruleTransitionDeclaration1407);
- lv_source_0_0=ruleSourceDeclaration();
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:815:2: ( ( (lv_port_0_0= RULE_ID ) ) otherlv_1= '.' )?
+ int alt12=2;
+ int LA12_0 = input.LA(1);
- state._fsp--;
+ if ( (LA12_0==RULE_ID) ) {
+ int LA12_1 = input.LA(2);
+ if ( (LA12_1==27) ) {
+ alt12=1;
+ }
+ }
+ switch (alt12) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:815:3: ( (lv_port_0_0= RULE_ID ) ) otherlv_1= '.'
+ {
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:815:3: ( (lv_port_0_0= RULE_ID ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:816:1: (lv_port_0_0= RULE_ID )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:816:1: (lv_port_0_0= RULE_ID )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:817:3: lv_port_0_0= RULE_ID
+ {
+ lv_port_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleSignalDeclaration1688);
- if (current==null) {
- current = createModelElementForParent(grammarAccess.getTransitionDeclarationRule());
- }
- set(
- current,
- "source",
- lv_source_0_0,
- "SourceDeclaration");
- afterParserOrEnumRuleCall();
-
+ newLeafNode(lv_port_0_0, grammarAccess.getSignalDeclarationAccess().getPortIDTerminalRuleCall_0_0_0());
+
- }
+ if (current==null) {
+ current = createModelElement(grammarAccess.getSignalDeclarationRule());
+ }
+ setWithLastConsumed(
+ current,
+ "port",
+ lv_port_0_0,
+ "ID");
+
+ }
- }
- otherlv_1=(Token)match(input,22,FOLLOW_22_in_ruleTransitionDeclaration1419);
+ }
- newLeafNode(otherlv_1, grammarAccess.getTransitionDeclarationAccess().getInKeyword_1());
-
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:688:1: ( (lv_in_2_0= ruleSignalDeclaration ) )*
- loop7:
- do {
- int alt7=2;
- int LA7_0 = input.LA(1);
+ otherlv_1=(Token)match(input,27,FOLLOW_27_in_ruleSignalDeclaration1705);
- if ( (LA7_0==RULE_ID) ) {
- alt7=1;
- }
+ newLeafNode(otherlv_1, grammarAccess.getSignalDeclarationAccess().getFullStopKeyword_0_1());
+
+ }
+ break;
- switch (alt7) {
- case 1 :
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:689:1: (lv_in_2_0= ruleSignalDeclaration )
- {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:689:1: (lv_in_2_0= ruleSignalDeclaration )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:690:3: lv_in_2_0= ruleSignalDeclaration
- {
-
- newCompositeNode(grammarAccess.getTransitionDeclarationAccess().getInSignalDeclarationParserRuleCall_2_0());
-
- pushFollow(FOLLOW_ruleSignalDeclaration_in_ruleTransitionDeclaration1440);
- lv_in_2_0=ruleSignalDeclaration();
+ }
- state._fsp--;
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:837:3: ( (lv_signame_2_0= RULE_ID ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:838:1: (lv_signame_2_0= RULE_ID )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:838:1: (lv_signame_2_0= RULE_ID )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:839:3: lv_signame_2_0= RULE_ID
+ {
+ lv_signame_2_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleSignalDeclaration1724);
+ newLeafNode(lv_signame_2_0, grammarAccess.getSignalDeclarationAccess().getSignameIDTerminalRuleCall_1_0());
+
- if (current==null) {
- current = createModelElementForParent(grammarAccess.getTransitionDeclarationRule());
- }
- add(
- current,
- "in",
- lv_in_2_0,
- "SignalDeclaration");
- afterParserOrEnumRuleCall();
-
+ if (current==null) {
+ current = createModelElement(grammarAccess.getSignalDeclarationRule());
+ }
+ setWithLastConsumed(
+ current,
+ "signame",
+ lv_signame_2_0,
+ "ID");
+
- }
+ }
- }
- break;
+ }
- default :
- break loop7;
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:855:2: ( (otherlv_3= '=' ( (lv_intVal_4_0= RULE_INT ) ) ) | (otherlv_5= '=' ( (lv_strVal_6_0= RULE_STRING ) ) ) )?
+ int alt13=3;
+ int LA13_0 = input.LA(1);
+
+ if ( (LA13_0==28) ) {
+ int LA13_1 = input.LA(2);
+
+ if ( (LA13_1==RULE_STRING) ) {
+ alt13=2;
}
- } while (true);
+ else if ( (LA13_1==RULE_INT) ) {
+ alt13=1;
+ }
+ }
+ switch (alt13) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:855:3: (otherlv_3= '=' ( (lv_intVal_4_0= RULE_INT ) ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:855:3: (otherlv_3= '=' ( (lv_intVal_4_0= RULE_INT ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:855:5: otherlv_3= '=' ( (lv_intVal_4_0= RULE_INT ) )
+ {
+ otherlv_3=(Token)match(input,28,FOLLOW_28_in_ruleSignalDeclaration1743);
- otherlv_3=(Token)match(input,23,FOLLOW_23_in_ruleTransitionDeclaration1453);
+ newLeafNode(otherlv_3, grammarAccess.getSignalDeclarationAccess().getEqualsSignKeyword_2_0_0());
+
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:859:1: ( (lv_intVal_4_0= RULE_INT ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:860:1: (lv_intVal_4_0= RULE_INT )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:860:1: (lv_intVal_4_0= RULE_INT )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:861:3: lv_intVal_4_0= RULE_INT
+ {
+ lv_intVal_4_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleSignalDeclaration1760);
- newLeafNode(otherlv_3, grammarAccess.getTransitionDeclarationAccess().getOutKeyword_3());
-
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:710:1: ( (lv_out_4_0= ruleSignalDeclaration ) )*
- loop8:
- do {
- int alt8=2;
- int LA8_0 = input.LA(1);
+ newLeafNode(lv_intVal_4_0, grammarAccess.getSignalDeclarationAccess().getIntValINTTerminalRuleCall_2_0_1_0());
+
- if ( (LA8_0==RULE_ID) ) {
- alt8=1;
- }
+ if (current==null) {
+ current = createModelElement(grammarAccess.getSignalDeclarationRule());
+ }
+ setWithLastConsumed(
+ current,
+ "intVal",
+ lv_intVal_4_0,
+ "INT");
+
+ }
- switch (alt8) {
- case 1 :
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:711:1: (lv_out_4_0= ruleSignalDeclaration )
- {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:711:1: (lv_out_4_0= ruleSignalDeclaration )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:712:3: lv_out_4_0= ruleSignalDeclaration
- {
-
- newCompositeNode(grammarAccess.getTransitionDeclarationAccess().getOutSignalDeclarationParserRuleCall_4_0());
-
- pushFollow(FOLLOW_ruleSignalDeclaration_in_ruleTransitionDeclaration1474);
- lv_out_4_0=ruleSignalDeclaration();
- state._fsp--;
+ }
- if (current==null) {
- current = createModelElementForParent(grammarAccess.getTransitionDeclarationRule());
- }
- add(
- current,
- "out",
- lv_out_4_0,
- "SignalDeclaration");
- afterParserOrEnumRuleCall();
-
+ }
- }
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:878:6: (otherlv_5= '=' ( (lv_strVal_6_0= RULE_STRING ) ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:878:6: (otherlv_5= '=' ( (lv_strVal_6_0= RULE_STRING ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:878:8: otherlv_5= '=' ( (lv_strVal_6_0= RULE_STRING ) )
+ {
+ otherlv_5=(Token)match(input,28,FOLLOW_28_in_ruleSignalDeclaration1785);
- }
- break;
+ newLeafNode(otherlv_5, grammarAccess.getSignalDeclarationAccess().getEqualsSignKeyword_2_1_0());
+
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:882:1: ( (lv_strVal_6_0= RULE_STRING ) )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:883:1: (lv_strVal_6_0= RULE_STRING )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:883:1: (lv_strVal_6_0= RULE_STRING )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:884:3: lv_strVal_6_0= RULE_STRING
+ {
+ lv_strVal_6_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleSignalDeclaration1802);
- default :
- break loop8;
- }
- } while (true);
+ newLeafNode(lv_strVal_6_0, grammarAccess.getSignalDeclarationAccess().getStrValSTRINGTerminalRuleCall_2_1_1_0());
+
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:728:3: ( (lv_destination_5_0= ruleDestinationDeclaration ) )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:729:1: (lv_destination_5_0= ruleDestinationDeclaration )
- {
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:729:1: (lv_destination_5_0= ruleDestinationDeclaration )
- // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:730:3: lv_destination_5_0= ruleDestinationDeclaration
- {
-
- newCompositeNode(grammarAccess.getTransitionDeclarationAccess().getDestinationDestinationDeclarationParserRuleCall_5_0());
-
- pushFollow(FOLLOW_ruleDestinationDeclaration_in_ruleTransitionDeclaration1496);
- lv_destination_5_0=ruleDestinationDeclaration();
+ if (current==null) {
+ current = createModelElement(grammarAccess.getSignalDeclarationRule());
+ }
+ setWithLastConsumed(
+ current,
+ "strVal",
+ lv_strVal_6_0,
+ "STRING");
+
- state._fsp--;
+ }
- if (current==null) {
- current = createModelElementForParent(grammarAccess.getTransitionDeclarationRule());
- }
- set(
- current,
- "destination",
- lv_destination_5_0,
- "DestinationDeclaration");
- afterParserOrEnumRuleCall();
-
+ }
+
+
+ }
- }
+ }
+ break;
}
@@ -1767,7 +2182,7 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
}
return current;
}
- // $ANTLR end "ruleTransitionDeclaration"
+ // $ANTLR end "ruleSignalDeclaration"
// Delegated rules
@@ -1776,62 +2191,78 @@ public class InternalFSMtestParser extends AbstractInternalAntlrParser {
public static final BitSet FOLLOW_ruleModel_in_entryRuleModel75 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleModel85 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleTestscript_in_ruleModel130 = new BitSet(new long[]{0x0000000000000802L});
- public static final BitSet FOLLOW_ruleTestscript_in_entryRuleTestscript166 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleTestscript176 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_11_in_ruleTestscript213 = new BitSet(new long[]{0x0000000000000010L});
- public static final BitSet FOLLOW_RULE_ID_in_ruleTestscript230 = new BitSet(new long[]{0x0000000000002000L});
- public static final BitSet FOLLOW_ruleStateDeclaration_in_ruleTestscript256 = new BitSet(new long[]{0x0000000000008000L});
- public static final BitSet FOLLOW_ruleInitialDeclaration_in_ruleTestscript277 = new BitSet(new long[]{0x0000000000010000L});
- public static final BitSet FOLLOW_ruleLoopsDeclaration_in_ruleTestscript298 = new BitSet(new long[]{0x0000000000021010L});
- public static final BitSet FOLLOW_ruleSeedDeclaration_in_ruleTestscript319 = new BitSet(new long[]{0x0000000000001010L});
- public static final BitSet FOLLOW_ruleTransitionDeclaration_in_ruleTestscript341 = new BitSet(new long[]{0x0000000000001010L});
- public static final BitSet FOLLOW_12_in_ruleTestscript354 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleState_in_entryRuleState390 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleState400 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_RULE_ID_in_ruleState441 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleStateDeclaration_in_entryRuleStateDeclaration481 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleStateDeclaration491 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_13_in_ruleStateDeclaration528 = new BitSet(new long[]{0x0000000000000010L});
- public static final BitSet FOLLOW_ruleState_in_ruleStateDeclaration549 = new BitSet(new long[]{0x0000000000004002L});
- public static final BitSet FOLLOW_14_in_ruleStateDeclaration562 = new BitSet(new long[]{0x0000000000000010L});
- public static final BitSet FOLLOW_ruleState_in_ruleStateDeclaration583 = new BitSet(new long[]{0x0000000000004002L});
- public static final BitSet FOLLOW_ruleInitialDeclaration_in_entryRuleInitialDeclaration621 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleInitialDeclaration631 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_15_in_ruleInitialDeclaration668 = new BitSet(new long[]{0x0000000000000010L});
- public static final BitSet FOLLOW_RULE_ID_in_ruleInitialDeclaration688 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleLoopsDeclaration_in_entryRuleLoopsDeclaration724 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleLoopsDeclaration734 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_16_in_ruleLoopsDeclaration771 = new BitSet(new long[]{0x0000000000000020L});
- public static final BitSet FOLLOW_RULE_INT_in_ruleLoopsDeclaration788 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleSeedDeclaration_in_entryRuleSeedDeclaration829 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleSeedDeclaration839 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_17_in_ruleSeedDeclaration876 = new BitSet(new long[]{0x0000000000000020L});
- public static final BitSet FOLLOW_RULE_INT_in_ruleSeedDeclaration893 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleSignalDeclaration_in_entryRuleSignalDeclaration934 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleSignalDeclaration944 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_RULE_ID_in_ruleSignalDeclaration987 = new BitSet(new long[]{0x0000000000040000L});
- public static final BitSet FOLLOW_18_in_ruleSignalDeclaration1004 = new BitSet(new long[]{0x0000000000000010L});
- public static final BitSet FOLLOW_RULE_ID_in_ruleSignalDeclaration1023 = new BitSet(new long[]{0x0000000000080002L});
- public static final BitSet FOLLOW_19_in_ruleSignalDeclaration1042 = new BitSet(new long[]{0x0000000000000020L});
- public static final BitSet FOLLOW_RULE_INT_in_ruleSignalDeclaration1059 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_19_in_ruleSignalDeclaration1084 = new BitSet(new long[]{0x0000000000000040L});
- public static final BitSet FOLLOW_RULE_STRING_in_ruleSignalDeclaration1101 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleSourceDeclaration_in_entryRuleSourceDeclaration1145 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleSourceDeclaration1155 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_RULE_ID_in_ruleSourceDeclaration1200 = new BitSet(new long[]{0x0000000000100000L});
- public static final BitSet FOLLOW_20_in_ruleSourceDeclaration1212 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleDestinationDeclaration_in_entryRuleDestinationDeclaration1248 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleDestinationDeclaration1258 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_21_in_ruleDestinationDeclaration1295 = new BitSet(new long[]{0x0000000000000010L});
- public static final BitSet FOLLOW_RULE_ID_in_ruleDestinationDeclaration1315 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleTransitionDeclaration_in_entryRuleTransitionDeclaration1351 = new BitSet(new long[]{0x0000000000000000L});
- public static final BitSet FOLLOW_EOF_in_entryRuleTransitionDeclaration1361 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_ruleSourceDeclaration_in_ruleTransitionDeclaration1407 = new BitSet(new long[]{0x0000000000400000L});
- public static final BitSet FOLLOW_22_in_ruleTransitionDeclaration1419 = new BitSet(new long[]{0x0000000000800010L});
- public static final BitSet FOLLOW_ruleSignalDeclaration_in_ruleTransitionDeclaration1440 = new BitSet(new long[]{0x0000000000800010L});
- public static final BitSet FOLLOW_23_in_ruleTransitionDeclaration1453 = new BitSet(new long[]{0x0000000000200010L});
- public static final BitSet FOLLOW_ruleSignalDeclaration_in_ruleTransitionDeclaration1474 = new BitSet(new long[]{0x0000000000200010L});
- public static final BitSet FOLLOW_ruleDestinationDeclaration_in_ruleTransitionDeclaration1496 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleFsmDefinition_in_ruleModel131 = new BitSet(new long[]{0x0000000000004802L});
+ public static final BitSet FOLLOW_ruleRandomTest_in_ruleModel158 = new BitSet(new long[]{0x0000000000004802L});
+ public static final BitSet FOLLOW_ruleFsmDefinition_in_entryRuleFsmDefinition195 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleFsmDefinition205 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_11_in_ruleFsmDefinition242 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleFsmDefinition259 = new BitSet(new long[]{0x0000000000001000L});
+ public static final BitSet FOLLOW_12_in_ruleFsmDefinition276 = new BitSet(new long[]{0x0000000001000000L});
+ public static final BitSet FOLLOW_ruleStateDeclaration_in_ruleFsmDefinition297 = new BitSet(new long[]{0x0000000001002000L});
+ public static final BitSet FOLLOW_ruleStateDeclaration_in_ruleFsmDefinition318 = new BitSet(new long[]{0x0000000001002000L});
+ public static final BitSet FOLLOW_13_in_ruleFsmDefinition331 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRandomTest_in_entryRuleRandomTest367 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleRandomTest377 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_14_in_ruleRandomTest414 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleRandomTest431 = new BitSet(new long[]{0x0000000000008000L});
+ public static final BitSet FOLLOW_15_in_ruleRandomTest448 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleRandomTest468 = new BitSet(new long[]{0x0000000002000000L});
+ public static final BitSet FOLLOW_ruleLoopsDeclaration_in_ruleRandomTest489 = new BitSet(new long[]{0x0000000004002000L});
+ public static final BitSet FOLLOW_ruleSeedDeclaration_in_ruleRandomTest510 = new BitSet(new long[]{0x0000000000002000L});
+ public static final BitSet FOLLOW_13_in_ruleRandomTest523 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleGuardDeclaration_in_entryRuleGuardDeclaration559 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleGuardDeclaration569 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSignalDeclaration_in_ruleGuardDeclaration614 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTransitionDeclaration_in_entryRuleTransitionDeclaration649 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTransitionDeclaration659 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_16_in_ruleTransitionDeclaration696 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleTransitionDeclaration713 = new BitSet(new long[]{0x0000000000020000L});
+ public static final BitSet FOLLOW_17_in_ruleTransitionDeclaration730 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleTransitionDeclaration750 = new BitSet(new long[]{0x00000000001C2000L});
+ public static final BitSet FOLLOW_18_in_ruleTransitionDeclaration763 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_ruleSignalDeclaration_in_ruleTransitionDeclaration784 = new BitSet(new long[]{0x0000000000182000L});
+ public static final BitSet FOLLOW_19_in_ruleTransitionDeclaration799 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_ruleGuardDeclaration_in_ruleTransitionDeclaration820 = new BitSet(new long[]{0x0000000000102010L});
+ public static final BitSet FOLLOW_20_in_ruleTransitionDeclaration836 = new BitSet(new long[]{0x0000000000C00000L});
+ public static final BitSet FOLLOW_rulePreconditionDeclaration_in_ruleTransitionDeclaration858 = new BitSet(new long[]{0x0000000000C02000L});
+ public static final BitSet FOLLOW_rulePostconditionDeclaration_in_ruleTransitionDeclaration885 = new BitSet(new long[]{0x0000000000C02000L});
+ public static final BitSet FOLLOW_13_in_ruleTransitionDeclaration901 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleConditionDeclaration_in_entryRuleConditionDeclaration937 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleConditionDeclaration947 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_21_in_ruleConditionDeclaration984 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_ruleSignalDeclaration_in_ruleConditionDeclaration1005 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePreconditionDeclaration_in_entryRulePreconditionDeclaration1041 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePreconditionDeclaration1051 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_22_in_rulePreconditionDeclaration1088 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_ruleSignalDeclaration_in_rulePreconditionDeclaration1109 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePostconditionDeclaration_in_entryRulePostconditionDeclaration1145 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePostconditionDeclaration1155 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_23_in_rulePostconditionDeclaration1192 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_ruleSignalDeclaration_in_rulePostconditionDeclaration1213 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleStateDeclaration_in_entryRuleStateDeclaration1249 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleStateDeclaration1259 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_24_in_ruleStateDeclaration1296 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleStateDeclaration1313 = new BitSet(new long[]{0x0000000000110000L});
+ public static final BitSet FOLLOW_20_in_ruleStateDeclaration1331 = new BitSet(new long[]{0x0000000000200000L});
+ public static final BitSet FOLLOW_ruleConditionDeclaration_in_ruleStateDeclaration1352 = new BitSet(new long[]{0x0000000000310000L});
+ public static final BitSet FOLLOW_ruleTransitionDeclaration_in_ruleStateDeclaration1376 = new BitSet(new long[]{0x0000000000112000L});
+ public static final BitSet FOLLOW_13_in_ruleStateDeclaration1389 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleLoopsDeclaration_in_entryRuleLoopsDeclaration1425 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleLoopsDeclaration1435 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_25_in_ruleLoopsDeclaration1472 = new BitSet(new long[]{0x0000000000000020L});
+ public static final BitSet FOLLOW_RULE_INT_in_ruleLoopsDeclaration1489 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSeedDeclaration_in_entryRuleSeedDeclaration1530 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleSeedDeclaration1540 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_26_in_ruleSeedDeclaration1577 = new BitSet(new long[]{0x0000000000000020L});
+ public static final BitSet FOLLOW_RULE_INT_in_ruleSeedDeclaration1594 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSignalDeclaration_in_entryRuleSignalDeclaration1635 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleSignalDeclaration1645 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleSignalDeclaration1688 = new BitSet(new long[]{0x0000000008000000L});
+ public static final BitSet FOLLOW_27_in_ruleSignalDeclaration1705 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleSignalDeclaration1724 = new BitSet(new long[]{0x0000000010000002L});
+ public static final BitSet FOLLOW_28_in_ruleSignalDeclaration1743 = new BitSet(new long[]{0x0000000000000020L});
+ public static final BitSet FOLLOW_RULE_INT_in_ruleSignalDeclaration1760 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_28_in_ruleSignalDeclaration1785 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_RULE_STRING_in_ruleSignalDeclaration1802 = new BitSet(new long[]{0x0000000000000002L});
} \ No newline at end of file
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/serializer/FSMtestSemanticSequencer.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/serializer/FSMtestSemanticSequencer.java
index 4ae60bf89..adafb0aa9 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/serializer/FSMtestSemanticSequencer.java
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/serializer/FSMtestSemanticSequencer.java
@@ -3,17 +3,18 @@ package org.eclipse.etrice.generator.serializer;
import com.google.inject.Inject;
import com.google.inject.Provider;
import org.eclipse.emf.ecore.EObject;
-import org.eclipse.etrice.generator.fsmtest.DestinationDeclaration;
+import org.eclipse.etrice.generator.fsmtest.ConditionDeclaration;
+import org.eclipse.etrice.generator.fsmtest.FsmDefinition;
import org.eclipse.etrice.generator.fsmtest.FsmtestPackage;
-import org.eclipse.etrice.generator.fsmtest.InitialDeclaration;
+import org.eclipse.etrice.generator.fsmtest.GuardDeclaration;
import org.eclipse.etrice.generator.fsmtest.LoopsDeclaration;
import org.eclipse.etrice.generator.fsmtest.Model;
+import org.eclipse.etrice.generator.fsmtest.PostconditionDeclaration;
+import org.eclipse.etrice.generator.fsmtest.PreconditionDeclaration;
+import org.eclipse.etrice.generator.fsmtest.RandomTest;
import org.eclipse.etrice.generator.fsmtest.SeedDeclaration;
import org.eclipse.etrice.generator.fsmtest.SignalDeclaration;
-import org.eclipse.etrice.generator.fsmtest.SourceDeclaration;
-import org.eclipse.etrice.generator.fsmtest.State;
import org.eclipse.etrice.generator.fsmtest.StateDeclaration;
-import org.eclipse.etrice.generator.fsmtest.Testscript;
import org.eclipse.etrice.generator.fsmtest.TransitionDeclaration;
import org.eclipse.etrice.generator.services.FSMtestGrammarAccess;
import org.eclipse.xtext.serializer.acceptor.ISemanticSequenceAcceptor;
@@ -35,15 +36,21 @@ public class FSMtestSemanticSequencer extends AbstractDelegatingSemanticSequence
public void createSequence(EObject context, EObject semanticObject) {
if(semanticObject.eClass().getEPackage() == FsmtestPackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) {
- case FsmtestPackage.DESTINATION_DECLARATION:
- if(context == grammarAccess.getDestinationDeclarationRule()) {
- sequence_DestinationDeclaration(context, (DestinationDeclaration) semanticObject);
+ case FsmtestPackage.CONDITION_DECLARATION:
+ if(context == grammarAccess.getConditionDeclarationRule()) {
+ sequence_ConditionDeclaration(context, (ConditionDeclaration) semanticObject);
return;
}
else break;
- case FsmtestPackage.INITIAL_DECLARATION:
- if(context == grammarAccess.getInitialDeclarationRule()) {
- sequence_InitialDeclaration(context, (InitialDeclaration) semanticObject);
+ case FsmtestPackage.FSM_DEFINITION:
+ if(context == grammarAccess.getFsmDefinitionRule()) {
+ sequence_FsmDefinition(context, (FsmDefinition) semanticObject);
+ return;
+ }
+ else break;
+ case FsmtestPackage.GUARD_DECLARATION:
+ if(context == grammarAccess.getGuardDeclarationRule()) {
+ sequence_GuardDeclaration(context, (GuardDeclaration) semanticObject);
return;
}
else break;
@@ -59,39 +66,39 @@ public class FSMtestSemanticSequencer extends AbstractDelegatingSemanticSequence
return;
}
else break;
- case FsmtestPackage.SEED_DECLARATION:
- if(context == grammarAccess.getSeedDeclarationRule()) {
- sequence_SeedDeclaration(context, (SeedDeclaration) semanticObject);
+ case FsmtestPackage.POSTCONDITION_DECLARATION:
+ if(context == grammarAccess.getPostconditionDeclarationRule()) {
+ sequence_PostconditionDeclaration(context, (PostconditionDeclaration) semanticObject);
return;
}
else break;
- case FsmtestPackage.SIGNAL_DECLARATION:
- if(context == grammarAccess.getSignalDeclarationRule()) {
- sequence_SignalDeclaration(context, (SignalDeclaration) semanticObject);
+ case FsmtestPackage.PRECONDITION_DECLARATION:
+ if(context == grammarAccess.getPreconditionDeclarationRule()) {
+ sequence_PreconditionDeclaration(context, (PreconditionDeclaration) semanticObject);
return;
}
else break;
- case FsmtestPackage.SOURCE_DECLARATION:
- if(context == grammarAccess.getSourceDeclarationRule()) {
- sequence_SourceDeclaration(context, (SourceDeclaration) semanticObject);
+ case FsmtestPackage.RANDOM_TEST:
+ if(context == grammarAccess.getRandomTestRule()) {
+ sequence_RandomTest(context, (RandomTest) semanticObject);
return;
}
else break;
- case FsmtestPackage.STATE:
- if(context == grammarAccess.getStateRule()) {
- sequence_State(context, (State) semanticObject);
+ case FsmtestPackage.SEED_DECLARATION:
+ if(context == grammarAccess.getSeedDeclarationRule()) {
+ sequence_SeedDeclaration(context, (SeedDeclaration) semanticObject);
return;
}
else break;
- case FsmtestPackage.STATE_DECLARATION:
- if(context == grammarAccess.getStateDeclarationRule()) {
- sequence_StateDeclaration(context, (StateDeclaration) semanticObject);
+ case FsmtestPackage.SIGNAL_DECLARATION:
+ if(context == grammarAccess.getSignalDeclarationRule()) {
+ sequence_SignalDeclaration(context, (SignalDeclaration) semanticObject);
return;
}
else break;
- case FsmtestPackage.TESTSCRIPT:
- if(context == grammarAccess.getTestscriptRule()) {
- sequence_Testscript(context, (Testscript) semanticObject);
+ case FsmtestPackage.STATE_DECLARATION:
+ if(context == grammarAccess.getStateDeclarationRule()) {
+ sequence_StateDeclaration(context, (StateDeclaration) semanticObject);
return;
}
else break;
@@ -107,32 +114,41 @@ public class FSMtestSemanticSequencer extends AbstractDelegatingSemanticSequence
/**
* Constraint:
- * ref=[State|ID]
+ * signal=SignalDeclaration
*/
- protected void sequence_DestinationDeclaration(EObject context, DestinationDeclaration semanticObject) {
+ protected void sequence_ConditionDeclaration(EObject context, ConditionDeclaration semanticObject) {
if(errorAcceptor != null) {
- if(transientValues.isValueTransient(semanticObject, FsmtestPackage.Literals.DESTINATION_DECLARATION__REF) == ValueTransient.YES)
- errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FsmtestPackage.Literals.DESTINATION_DECLARATION__REF));
+ if(transientValues.isValueTransient(semanticObject, FsmtestPackage.Literals.CONDITION_DECLARATION__SIGNAL) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FsmtestPackage.Literals.CONDITION_DECLARATION__SIGNAL));
}
INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
- feeder.accept(grammarAccess.getDestinationDeclarationAccess().getRefStateIDTerminalRuleCall_1_0_1(), semanticObject.getRef());
+ feeder.accept(grammarAccess.getConditionDeclarationAccess().getSignalSignalDeclarationParserRuleCall_1_0(), semanticObject.getSignal());
feeder.finish();
}
/**
* Constraint:
- * initial=[State|ID]
+ * (name=ID states+=StateDeclaration states+=StateDeclaration*)
+ */
+ protected void sequence_FsmDefinition(EObject context, FsmDefinition semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * signal=SignalDeclaration
*/
- protected void sequence_InitialDeclaration(EObject context, InitialDeclaration semanticObject) {
+ protected void sequence_GuardDeclaration(EObject context, GuardDeclaration semanticObject) {
if(errorAcceptor != null) {
- if(transientValues.isValueTransient(semanticObject, FsmtestPackage.Literals.INITIAL_DECLARATION__INITIAL) == ValueTransient.YES)
- errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FsmtestPackage.Literals.INITIAL_DECLARATION__INITIAL));
+ if(transientValues.isValueTransient(semanticObject, FsmtestPackage.Literals.GUARD_DECLARATION__SIGNAL) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FsmtestPackage.Literals.GUARD_DECLARATION__SIGNAL));
}
INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
- feeder.accept(grammarAccess.getInitialDeclarationAccess().getInitialStateIDTerminalRuleCall_1_0_1(), semanticObject.getInitial());
+ feeder.accept(grammarAccess.getGuardDeclarationAccess().getSignalSignalDeclarationParserRuleCall_0(), semanticObject.getSignal());
feeder.finish();
}
@@ -155,7 +171,7 @@ public class FSMtestSemanticSequencer extends AbstractDelegatingSemanticSequence
/**
* Constraint:
- * Testscripts+=Testscript*
+ * (FsmDefinitions+=FsmDefinition | RandomTests+=RandomTest)*
*/
protected void sequence_Model(EObject context, Model semanticObject) {
genericSequencer.createSequence(context, semanticObject);
@@ -164,89 +180,88 @@ public class FSMtestSemanticSequencer extends AbstractDelegatingSemanticSequence
/**
* Constraint:
- * val=INT
+ * signal=SignalDeclaration
*/
- protected void sequence_SeedDeclaration(EObject context, SeedDeclaration semanticObject) {
+ protected void sequence_PostconditionDeclaration(EObject context, PostconditionDeclaration semanticObject) {
if(errorAcceptor != null) {
- if(transientValues.isValueTransient(semanticObject, FsmtestPackage.Literals.SEED_DECLARATION__VAL) == ValueTransient.YES)
- errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FsmtestPackage.Literals.SEED_DECLARATION__VAL));
+ if(transientValues.isValueTransient(semanticObject, FsmtestPackage.Literals.POSTCONDITION_DECLARATION__SIGNAL) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FsmtestPackage.Literals.POSTCONDITION_DECLARATION__SIGNAL));
}
INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
- feeder.accept(grammarAccess.getSeedDeclarationAccess().getValINTTerminalRuleCall_1_0(), semanticObject.getVal());
+ feeder.accept(grammarAccess.getPostconditionDeclarationAccess().getSignalSignalDeclarationParserRuleCall_1_0(), semanticObject.getSignal());
feeder.finish();
}
/**
* Constraint:
- * (port=ID? signame=ID (intVal=INT | strVal=STRING)?)
- */
- protected void sequence_SignalDeclaration(EObject context, SignalDeclaration semanticObject) {
- genericSequencer.createSequence(context, semanticObject);
- }
-
-
- /**
- * Constraint:
- * ref=[State|ID]
+ * signal=SignalDeclaration
*/
- protected void sequence_SourceDeclaration(EObject context, SourceDeclaration semanticObject) {
+ protected void sequence_PreconditionDeclaration(EObject context, PreconditionDeclaration semanticObject) {
if(errorAcceptor != null) {
- if(transientValues.isValueTransient(semanticObject, FsmtestPackage.Literals.SOURCE_DECLARATION__REF) == ValueTransient.YES)
- errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FsmtestPackage.Literals.SOURCE_DECLARATION__REF));
+ if(transientValues.isValueTransient(semanticObject, FsmtestPackage.Literals.PRECONDITION_DECLARATION__SIGNAL) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FsmtestPackage.Literals.PRECONDITION_DECLARATION__SIGNAL));
}
INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
- feeder.accept(grammarAccess.getSourceDeclarationAccess().getRefStateIDTerminalRuleCall_0_0_1(), semanticObject.getRef());
+ feeder.accept(grammarAccess.getPreconditionDeclarationAccess().getSignalSignalDeclarationParserRuleCall_1_0(), semanticObject.getSignal());
feeder.finish();
}
/**
* Constraint:
- * (states+=State states+=State*)
+ * (name=ID fsm=[FsmDefinition|ID] loopsDeclaration=LoopsDeclaration seedDeclaration=SeedDeclaration?)
*/
- protected void sequence_StateDeclaration(EObject context, StateDeclaration semanticObject) {
+ protected void sequence_RandomTest(EObject context, RandomTest semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Constraint:
- * name=ID
+ * val=INT
*/
- protected void sequence_State(EObject context, State semanticObject) {
+ protected void sequence_SeedDeclaration(EObject context, SeedDeclaration semanticObject) {
if(errorAcceptor != null) {
- if(transientValues.isValueTransient(semanticObject, FsmtestPackage.Literals.STATE__NAME) == ValueTransient.YES)
- errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FsmtestPackage.Literals.STATE__NAME));
+ if(transientValues.isValueTransient(semanticObject, FsmtestPackage.Literals.SEED_DECLARATION__VAL) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FsmtestPackage.Literals.SEED_DECLARATION__VAL));
}
INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
- feeder.accept(grammarAccess.getStateAccess().getNameIDTerminalRuleCall_0(), semanticObject.getName());
+ feeder.accept(grammarAccess.getSeedDeclarationAccess().getValINTTerminalRuleCall_1_0(), semanticObject.getVal());
feeder.finish();
}
/**
* Constraint:
- * (
- * name=ID
- * stateDeclaration=StateDeclaration
- * initialDeclaration=InitialDeclaration
- * loopsDeclaration=LoopsDeclaration
- * seedDeclaration=SeedDeclaration?
- * transitionDeclarations+=TransitionDeclaration*
- * )
+ * (port=ID? signame=ID (intVal=INT | strVal=STRING)?)
+ */
+ protected void sequence_SignalDeclaration(EObject context, SignalDeclaration semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * (name=ID condition+=ConditionDeclaration* transitions+=TransitionDeclaration+)
*/
- protected void sequence_Testscript(EObject context, Testscript semanticObject) {
+ protected void sequence_StateDeclaration(EObject context, StateDeclaration semanticObject) {
genericSequencer.createSequence(context, semanticObject);
}
/**
* Constraint:
- * (source=SourceDeclaration in+=SignalDeclaration* out+=SignalDeclaration* destination=DestinationDeclaration)
+ * (
+ * name=ID
+ * destination=[StateDeclaration|ID]
+ * trigger=SignalDeclaration?
+ * triggers+=GuardDeclaration*
+ * (precondition+=PreconditionDeclaration | postcondition+=PostconditionDeclaration)*
+ * )
*/
protected void sequence_TransitionDeclaration(EObject context, TransitionDeclaration semanticObject) {
genericSequencer.createSequence(context, semanticObject);
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/services/FSMtestGrammarAccess.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/services/FSMtestGrammarAccess.java
index 4aafcc57b..b6baf6ad7 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/services/FSMtestGrammarAccess.java
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/services/FSMtestGrammarAccess.java
@@ -1,665 +1,784 @@
-/*
-* generated by Xtext
-*/
-
-package org.eclipse.etrice.generator.services;
-
-import com.google.inject.Singleton;
-import com.google.inject.Inject;
-
-import java.util.List;
-
-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 FSMtestGrammarAccess extends AbstractGrammarElementFinder {
-
-
- public class ModelElements extends AbstractParserRuleElementFinder {
- private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Model");
- private final Assignment cTestscriptsAssignment = (Assignment)rule.eContents().get(1);
- private final RuleCall cTestscriptsTestscriptParserRuleCall_0 = (RuleCall)cTestscriptsAssignment.eContents().get(0);
-
- //Model:
- //
- // Testscripts+=Testscript*;
- public ParserRule getRule() { return rule; }
-
- //Testscripts+=Testscript*
- public Assignment getTestscriptsAssignment() { return cTestscriptsAssignment; }
-
- //Testscript
- public RuleCall getTestscriptsTestscriptParserRuleCall_0() { return cTestscriptsTestscriptParserRuleCall_0; }
- }
-
- public class TestscriptElements extends AbstractParserRuleElementFinder {
- private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Testscript");
- private final Group cGroup = (Group)rule.eContents().get(1);
- private final Keyword cFsmtestKeyword_0 = (Keyword)cGroup.eContents().get(0);
- private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
- private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
- private final Assignment cStateDeclarationAssignment_2 = (Assignment)cGroup.eContents().get(2);
- private final RuleCall cStateDeclarationStateDeclarationParserRuleCall_2_0 = (RuleCall)cStateDeclarationAssignment_2.eContents().get(0);
- private final Assignment cInitialDeclarationAssignment_3 = (Assignment)cGroup.eContents().get(3);
- private final RuleCall cInitialDeclarationInitialDeclarationParserRuleCall_3_0 = (RuleCall)cInitialDeclarationAssignment_3.eContents().get(0);
- private final Assignment cLoopsDeclarationAssignment_4 = (Assignment)cGroup.eContents().get(4);
- private final RuleCall cLoopsDeclarationLoopsDeclarationParserRuleCall_4_0 = (RuleCall)cLoopsDeclarationAssignment_4.eContents().get(0);
- private final Assignment cSeedDeclarationAssignment_5 = (Assignment)cGroup.eContents().get(5);
- private final RuleCall cSeedDeclarationSeedDeclarationParserRuleCall_5_0 = (RuleCall)cSeedDeclarationAssignment_5.eContents().get(0);
- private final Assignment cTransitionDeclarationsAssignment_6 = (Assignment)cGroup.eContents().get(6);
- private final RuleCall cTransitionDeclarationsTransitionDeclarationParserRuleCall_6_0 = (RuleCall)cTransitionDeclarationsAssignment_6.eContents().get(0);
- private final Keyword cSemicolonKeyword_7 = (Keyword)cGroup.eContents().get(7);
-
- //Testscript:
- //
- // "fsmtest" name=ID stateDeclaration=StateDeclaration initialDeclaration=InitialDeclaration
- //
- // loopsDeclaration=LoopsDeclaration seedDeclaration=SeedDeclaration? transitionDeclarations+=TransitionDeclaration*
- //
- // ";";
- public ParserRule getRule() { return rule; }
-
- //"fsmtest" name=ID stateDeclaration=StateDeclaration initialDeclaration=InitialDeclaration
- //
- //loopsDeclaration=LoopsDeclaration seedDeclaration=SeedDeclaration? transitionDeclarations+=TransitionDeclaration* ";"
- public Group getGroup() { return cGroup; }
-
- //"fsmtest"
- public Keyword getFsmtestKeyword_0() { return cFsmtestKeyword_0; }
-
- //name=ID
- public Assignment getNameAssignment_1() { return cNameAssignment_1; }
-
- //ID
- public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
-
- //stateDeclaration=StateDeclaration
- public Assignment getStateDeclarationAssignment_2() { return cStateDeclarationAssignment_2; }
-
- //StateDeclaration
- public RuleCall getStateDeclarationStateDeclarationParserRuleCall_2_0() { return cStateDeclarationStateDeclarationParserRuleCall_2_0; }
-
- //initialDeclaration=InitialDeclaration
- public Assignment getInitialDeclarationAssignment_3() { return cInitialDeclarationAssignment_3; }
-
- //InitialDeclaration
- public RuleCall getInitialDeclarationInitialDeclarationParserRuleCall_3_0() { return cInitialDeclarationInitialDeclarationParserRuleCall_3_0; }
-
- //loopsDeclaration=LoopsDeclaration
- public Assignment getLoopsDeclarationAssignment_4() { return cLoopsDeclarationAssignment_4; }
-
- //LoopsDeclaration
- public RuleCall getLoopsDeclarationLoopsDeclarationParserRuleCall_4_0() { return cLoopsDeclarationLoopsDeclarationParserRuleCall_4_0; }
-
- //seedDeclaration=SeedDeclaration?
- public Assignment getSeedDeclarationAssignment_5() { return cSeedDeclarationAssignment_5; }
-
- //SeedDeclaration
- public RuleCall getSeedDeclarationSeedDeclarationParserRuleCall_5_0() { return cSeedDeclarationSeedDeclarationParserRuleCall_5_0; }
-
- //transitionDeclarations+=TransitionDeclaration*
- public Assignment getTransitionDeclarationsAssignment_6() { return cTransitionDeclarationsAssignment_6; }
-
- //TransitionDeclaration
- public RuleCall getTransitionDeclarationsTransitionDeclarationParserRuleCall_6_0() { return cTransitionDeclarationsTransitionDeclarationParserRuleCall_6_0; }
-
- //";"
- public Keyword getSemicolonKeyword_7() { return cSemicolonKeyword_7; }
- }
-
- public class StateElements extends AbstractParserRuleElementFinder {
- private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "State");
- private final Assignment cNameAssignment = (Assignment)rule.eContents().get(1);
- private final RuleCall cNameIDTerminalRuleCall_0 = (RuleCall)cNameAssignment.eContents().get(0);
-
- //State:
- //
- // name=ID;
- public ParserRule getRule() { return rule; }
-
- //name=ID
- public Assignment getNameAssignment() { return cNameAssignment; }
-
- //ID
- public RuleCall getNameIDTerminalRuleCall_0() { return cNameIDTerminalRuleCall_0; }
- }
-
- public class StateDeclarationElements extends AbstractParserRuleElementFinder {
- private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StateDeclaration");
- private final Group cGroup = (Group)rule.eContents().get(1);
- private final Keyword cStatesKeyword_0 = (Keyword)cGroup.eContents().get(0);
- private final Assignment cStatesAssignment_1 = (Assignment)cGroup.eContents().get(1);
- private final RuleCall cStatesStateParserRuleCall_1_0 = (RuleCall)cStatesAssignment_1.eContents().get(0);
- private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
- private final Keyword cCommaKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
- private final Assignment cStatesAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
- private final RuleCall cStatesStateParserRuleCall_2_1_0 = (RuleCall)cStatesAssignment_2_1.eContents().get(0);
-
- //StateDeclaration:
- //
- // "states:" states+=State ("," states+=State)*;
- public ParserRule getRule() { return rule; }
-
- //"states:" states+=State ("," states+=State)*
- public Group getGroup() { return cGroup; }
-
- //"states:"
- public Keyword getStatesKeyword_0() { return cStatesKeyword_0; }
-
- //states+=State
- public Assignment getStatesAssignment_1() { return cStatesAssignment_1; }
-
- //State
- public RuleCall getStatesStateParserRuleCall_1_0() { return cStatesStateParserRuleCall_1_0; }
-
- //("," states+=State)*
- public Group getGroup_2() { return cGroup_2; }
-
- //","
- public Keyword getCommaKeyword_2_0() { return cCommaKeyword_2_0; }
-
- //states+=State
- public Assignment getStatesAssignment_2_1() { return cStatesAssignment_2_1; }
-
- //State
- public RuleCall getStatesStateParserRuleCall_2_1_0() { return cStatesStateParserRuleCall_2_1_0; }
- }
-
- public class InitialDeclarationElements extends AbstractParserRuleElementFinder {
- private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "InitialDeclaration");
- private final Group cGroup = (Group)rule.eContents().get(1);
- private final Keyword cInitialKeyword_0 = (Keyword)cGroup.eContents().get(0);
- private final Assignment cInitialAssignment_1 = (Assignment)cGroup.eContents().get(1);
- private final CrossReference cInitialStateCrossReference_1_0 = (CrossReference)cInitialAssignment_1.eContents().get(0);
- private final RuleCall cInitialStateIDTerminalRuleCall_1_0_1 = (RuleCall)cInitialStateCrossReference_1_0.eContents().get(1);
-
- //InitialDeclaration:
- //
- // "initial:" initial=[State];
- public ParserRule getRule() { return rule; }
-
- //"initial:" initial=[State]
- public Group getGroup() { return cGroup; }
-
- //"initial:"
- public Keyword getInitialKeyword_0() { return cInitialKeyword_0; }
-
- //initial=[State]
- public Assignment getInitialAssignment_1() { return cInitialAssignment_1; }
-
- //[State]
- public CrossReference getInitialStateCrossReference_1_0() { return cInitialStateCrossReference_1_0; }
-
- //ID
- public RuleCall getInitialStateIDTerminalRuleCall_1_0_1() { return cInitialStateIDTerminalRuleCall_1_0_1; }
- }
-
- public class LoopsDeclarationElements extends AbstractParserRuleElementFinder {
- private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LoopsDeclaration");
- private final Group cGroup = (Group)rule.eContents().get(1);
- private final Keyword cLoopsKeyword_0 = (Keyword)cGroup.eContents().get(0);
- private final Assignment cValAssignment_1 = (Assignment)cGroup.eContents().get(1);
- private final RuleCall cValINTTerminalRuleCall_1_0 = (RuleCall)cValAssignment_1.eContents().get(0);
-
- //LoopsDeclaration:
- //
- // "loops:" val=INT;
- public ParserRule getRule() { return rule; }
-
- //"loops:" val=INT
- public Group getGroup() { return cGroup; }
-
- //"loops:"
- public Keyword getLoopsKeyword_0() { return cLoopsKeyword_0; }
-
- //val=INT
- public Assignment getValAssignment_1() { return cValAssignment_1; }
-
- //INT
- public RuleCall getValINTTerminalRuleCall_1_0() { return cValINTTerminalRuleCall_1_0; }
- }
-
- public class SeedDeclarationElements extends AbstractParserRuleElementFinder {
- private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SeedDeclaration");
- private final Group cGroup = (Group)rule.eContents().get(1);
- private final Keyword cRandseedKeyword_0 = (Keyword)cGroup.eContents().get(0);
- private final Assignment cValAssignment_1 = (Assignment)cGroup.eContents().get(1);
- private final RuleCall cValINTTerminalRuleCall_1_0 = (RuleCall)cValAssignment_1.eContents().get(0);
-
- //SeedDeclaration:
- //
- // "randseed:" val=INT;
- public ParserRule getRule() { return rule; }
-
- //"randseed:" val=INT
- public Group getGroup() { return cGroup; }
-
- //"randseed:"
- public Keyword getRandseedKeyword_0() { return cRandseedKeyword_0; }
-
- //val=INT
- public Assignment getValAssignment_1() { return cValAssignment_1; }
-
- //INT
- public RuleCall getValINTTerminalRuleCall_1_0() { return cValINTTerminalRuleCall_1_0; }
- }
-
- public class SignalDeclarationElements extends AbstractParserRuleElementFinder {
- private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SignalDeclaration");
- private final Group cGroup = (Group)rule.eContents().get(1);
- private final Group cGroup_0 = (Group)cGroup.eContents().get(0);
- private final Assignment cPortAssignment_0_0 = (Assignment)cGroup_0.eContents().get(0);
- private final RuleCall cPortIDTerminalRuleCall_0_0_0 = (RuleCall)cPortAssignment_0_0.eContents().get(0);
- private final Keyword cFullStopKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1);
- private final Assignment cSignameAssignment_1 = (Assignment)cGroup.eContents().get(1);
- private final RuleCall cSignameIDTerminalRuleCall_1_0 = (RuleCall)cSignameAssignment_1.eContents().get(0);
- private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2);
- private final Group cGroup_2_0 = (Group)cAlternatives_2.eContents().get(0);
- private final Keyword cEqualsSignKeyword_2_0_0 = (Keyword)cGroup_2_0.eContents().get(0);
- private final Assignment cIntValAssignment_2_0_1 = (Assignment)cGroup_2_0.eContents().get(1);
- private final RuleCall cIntValINTTerminalRuleCall_2_0_1_0 = (RuleCall)cIntValAssignment_2_0_1.eContents().get(0);
- private final Group cGroup_2_1 = (Group)cAlternatives_2.eContents().get(1);
- private final Keyword cEqualsSignKeyword_2_1_0 = (Keyword)cGroup_2_1.eContents().get(0);
- private final Assignment cStrValAssignment_2_1_1 = (Assignment)cGroup_2_1.eContents().get(1);
- private final RuleCall cStrValSTRINGTerminalRuleCall_2_1_1_0 = (RuleCall)cStrValAssignment_2_1_1.eContents().get(0);
-
- //SignalDeclaration:
- //
- // (port=ID ".")? signame=ID ("=" intVal=INT | "=" strVal=STRING)?;
- public ParserRule getRule() { return rule; }
-
- //(port=ID ".")? signame=ID ("=" intVal=INT | "=" strVal=STRING)?
- public Group getGroup() { return cGroup; }
-
- //(port=ID ".")?
- public Group getGroup_0() { return cGroup_0; }
-
- //port=ID
- public Assignment getPortAssignment_0_0() { return cPortAssignment_0_0; }
-
- //ID
- public RuleCall getPortIDTerminalRuleCall_0_0_0() { return cPortIDTerminalRuleCall_0_0_0; }
-
- //"."
- public Keyword getFullStopKeyword_0_1() { return cFullStopKeyword_0_1; }
-
- //signame=ID
- public Assignment getSignameAssignment_1() { return cSignameAssignment_1; }
-
- //ID
- public RuleCall getSignameIDTerminalRuleCall_1_0() { return cSignameIDTerminalRuleCall_1_0; }
-
- //("=" intVal=INT | "=" strVal=STRING)?
- public Alternatives getAlternatives_2() { return cAlternatives_2; }
-
- //"=" intVal=INT
- public Group getGroup_2_0() { return cGroup_2_0; }
-
- //"="
- public Keyword getEqualsSignKeyword_2_0_0() { return cEqualsSignKeyword_2_0_0; }
-
- //intVal=INT
- public Assignment getIntValAssignment_2_0_1() { return cIntValAssignment_2_0_1; }
-
- //INT
- public RuleCall getIntValINTTerminalRuleCall_2_0_1_0() { return cIntValINTTerminalRuleCall_2_0_1_0; }
-
- //"=" strVal=STRING
- public Group getGroup_2_1() { return cGroup_2_1; }
-
- //"="
- public Keyword getEqualsSignKeyword_2_1_0() { return cEqualsSignKeyword_2_1_0; }
-
- //strVal=STRING
- public Assignment getStrValAssignment_2_1_1() { return cStrValAssignment_2_1_1; }
-
- //STRING
- public RuleCall getStrValSTRINGTerminalRuleCall_2_1_1_0() { return cStrValSTRINGTerminalRuleCall_2_1_1_0; }
- }
-
- public class SourceDeclarationElements extends AbstractParserRuleElementFinder {
- private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SourceDeclaration");
- private final Group cGroup = (Group)rule.eContents().get(1);
- private final Assignment cRefAssignment_0 = (Assignment)cGroup.eContents().get(0);
- private final CrossReference cRefStateCrossReference_0_0 = (CrossReference)cRefAssignment_0.eContents().get(0);
- private final RuleCall cRefStateIDTerminalRuleCall_0_0_1 = (RuleCall)cRefStateCrossReference_0_0.eContents().get(1);
- private final Keyword cColonKeyword_1 = (Keyword)cGroup.eContents().get(1);
-
- //SourceDeclaration:
- //
- // ref=[State] ":";
- public ParserRule getRule() { return rule; }
-
- //ref=[State] ":"
- public Group getGroup() { return cGroup; }
-
- //ref=[State]
- public Assignment getRefAssignment_0() { return cRefAssignment_0; }
-
- //[State]
- public CrossReference getRefStateCrossReference_0_0() { return cRefStateCrossReference_0_0; }
-
- //ID
- public RuleCall getRefStateIDTerminalRuleCall_0_0_1() { return cRefStateIDTerminalRuleCall_0_0_1; }
-
- //":"
- public Keyword getColonKeyword_1() { return cColonKeyword_1; }
- }
-
- public class DestinationDeclarationElements extends AbstractParserRuleElementFinder {
- private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DestinationDeclaration");
- private final Group cGroup = (Group)rule.eContents().get(1);
- private final Keyword cHyphenMinusGreaterThanSignSpaceKeyword_0 = (Keyword)cGroup.eContents().get(0);
- private final Assignment cRefAssignment_1 = (Assignment)cGroup.eContents().get(1);
- private final CrossReference cRefStateCrossReference_1_0 = (CrossReference)cRefAssignment_1.eContents().get(0);
- private final RuleCall cRefStateIDTerminalRuleCall_1_0_1 = (RuleCall)cRefStateCrossReference_1_0.eContents().get(1);
-
- //DestinationDeclaration:
- //
- // "-> " ref=[State];
- public ParserRule getRule() { return rule; }
-
- //"-> " ref=[State]
- public Group getGroup() { return cGroup; }
-
- //"-> "
- public Keyword getHyphenMinusGreaterThanSignSpaceKeyword_0() { return cHyphenMinusGreaterThanSignSpaceKeyword_0; }
-
- //ref=[State]
- public Assignment getRefAssignment_1() { return cRefAssignment_1; }
-
- //[State]
- public CrossReference getRefStateCrossReference_1_0() { return cRefStateCrossReference_1_0; }
-
- //ID
- public RuleCall getRefStateIDTerminalRuleCall_1_0_1() { return cRefStateIDTerminalRuleCall_1_0_1; }
- }
-
- public class TransitionDeclarationElements extends AbstractParserRuleElementFinder {
- private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TransitionDeclaration");
- private final Group cGroup = (Group)rule.eContents().get(1);
- private final Assignment cSourceAssignment_0 = (Assignment)cGroup.eContents().get(0);
- private final RuleCall cSourceSourceDeclarationParserRuleCall_0_0 = (RuleCall)cSourceAssignment_0.eContents().get(0);
- private final Keyword cInKeyword_1 = (Keyword)cGroup.eContents().get(1);
- private final Assignment cInAssignment_2 = (Assignment)cGroup.eContents().get(2);
- private final RuleCall cInSignalDeclarationParserRuleCall_2_0 = (RuleCall)cInAssignment_2.eContents().get(0);
- private final Keyword cOutKeyword_3 = (Keyword)cGroup.eContents().get(3);
- private final Assignment cOutAssignment_4 = (Assignment)cGroup.eContents().get(4);
- private final RuleCall cOutSignalDeclarationParserRuleCall_4_0 = (RuleCall)cOutAssignment_4.eContents().get(0);
- private final Assignment cDestinationAssignment_5 = (Assignment)cGroup.eContents().get(5);
- private final RuleCall cDestinationDestinationDeclarationParserRuleCall_5_0 = (RuleCall)cDestinationAssignment_5.eContents().get(0);
-
- //TransitionDeclaration:
- //
- // source=SourceDeclaration "in:" in+=SignalDeclaration* "out:" out+=SignalDeclaration*
- //
- // destination=DestinationDeclaration;
- public ParserRule getRule() { return rule; }
-
- //source=SourceDeclaration "in:" in+=SignalDeclaration* "out:" out+=SignalDeclaration* destination=DestinationDeclaration
- public Group getGroup() { return cGroup; }
-
- //source=SourceDeclaration
- public Assignment getSourceAssignment_0() { return cSourceAssignment_0; }
-
- //SourceDeclaration
- public RuleCall getSourceSourceDeclarationParserRuleCall_0_0() { return cSourceSourceDeclarationParserRuleCall_0_0; }
-
- //"in:"
- public Keyword getInKeyword_1() { return cInKeyword_1; }
-
- //in+=SignalDeclaration*
- public Assignment getInAssignment_2() { return cInAssignment_2; }
-
- //SignalDeclaration
- public RuleCall getInSignalDeclarationParserRuleCall_2_0() { return cInSignalDeclarationParserRuleCall_2_0; }
-
- //"out:"
- public Keyword getOutKeyword_3() { return cOutKeyword_3; }
-
- //out+=SignalDeclaration*
- public Assignment getOutAssignment_4() { return cOutAssignment_4; }
-
- //SignalDeclaration
- public RuleCall getOutSignalDeclarationParserRuleCall_4_0() { return cOutSignalDeclarationParserRuleCall_4_0; }
-
- //destination=DestinationDeclaration
- public Assignment getDestinationAssignment_5() { return cDestinationAssignment_5; }
-
- //DestinationDeclaration
- public RuleCall getDestinationDestinationDeclarationParserRuleCall_5_0() { return cDestinationDestinationDeclarationParserRuleCall_5_0; }
- }
-
-
- private ModelElements pModel;
- private TestscriptElements pTestscript;
- private StateElements pState;
- private StateDeclarationElements pStateDeclaration;
- private InitialDeclarationElements pInitialDeclaration;
- private LoopsDeclarationElements pLoopsDeclaration;
- private SeedDeclarationElements pSeedDeclaration;
- private SignalDeclarationElements pSignalDeclaration;
- private SourceDeclarationElements pSourceDeclaration;
- private DestinationDeclarationElements pDestinationDeclaration;
- private TransitionDeclarationElements pTransitionDeclaration;
-
- private final Grammar grammar;
-
- private TerminalsGrammarAccess gaTerminals;
-
- @Inject
- public FSMtestGrammarAccess(GrammarProvider grammarProvider,
- TerminalsGrammarAccess gaTerminals) {
- this.grammar = internalFindGrammar(grammarProvider);
- this.gaTerminals = gaTerminals;
- }
-
- protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
- Grammar grammar = grammarProvider.getGrammar(this);
- while (grammar != null) {
- if ("org.eclipse.etrice.generator.FSMtest".equals(grammar.getName())) {
- return grammar;
- }
- List<Grammar> grammars = grammar.getUsedGrammars();
- if (!grammars.isEmpty()) {
- grammar = grammars.iterator().next();
- } else {
- return null;
- }
- }
- return grammar;
- }
-
-
- public Grammar getGrammar() {
- return grammar;
- }
-
-
- public TerminalsGrammarAccess getTerminalsGrammarAccess() {
- return gaTerminals;
- }
-
-
- //Model:
- //
- // Testscripts+=Testscript*;
- public ModelElements getModelAccess() {
- return (pModel != null) ? pModel : (pModel = new ModelElements());
- }
-
- public ParserRule getModelRule() {
- return getModelAccess().getRule();
- }
-
- //Testscript:
- //
- // "fsmtest" name=ID stateDeclaration=StateDeclaration initialDeclaration=InitialDeclaration
- //
- // loopsDeclaration=LoopsDeclaration seedDeclaration=SeedDeclaration? transitionDeclarations+=TransitionDeclaration*
- //
- // ";";
- public TestscriptElements getTestscriptAccess() {
- return (pTestscript != null) ? pTestscript : (pTestscript = new TestscriptElements());
- }
-
- public ParserRule getTestscriptRule() {
- return getTestscriptAccess().getRule();
- }
-
- //State:
- //
- // name=ID;
- public StateElements getStateAccess() {
- return (pState != null) ? pState : (pState = new StateElements());
- }
-
- public ParserRule getStateRule() {
- return getStateAccess().getRule();
- }
-
- //StateDeclaration:
- //
- // "states:" states+=State ("," states+=State)*;
- public StateDeclarationElements getStateDeclarationAccess() {
- return (pStateDeclaration != null) ? pStateDeclaration : (pStateDeclaration = new StateDeclarationElements());
- }
-
- public ParserRule getStateDeclarationRule() {
- return getStateDeclarationAccess().getRule();
- }
-
- //InitialDeclaration:
- //
- // "initial:" initial=[State];
- public InitialDeclarationElements getInitialDeclarationAccess() {
- return (pInitialDeclaration != null) ? pInitialDeclaration : (pInitialDeclaration = new InitialDeclarationElements());
- }
-
- public ParserRule getInitialDeclarationRule() {
- return getInitialDeclarationAccess().getRule();
- }
-
- //LoopsDeclaration:
- //
- // "loops:" val=INT;
- public LoopsDeclarationElements getLoopsDeclarationAccess() {
- return (pLoopsDeclaration != null) ? pLoopsDeclaration : (pLoopsDeclaration = new LoopsDeclarationElements());
- }
-
- public ParserRule getLoopsDeclarationRule() {
- return getLoopsDeclarationAccess().getRule();
- }
-
- //SeedDeclaration:
- //
- // "randseed:" val=INT;
- public SeedDeclarationElements getSeedDeclarationAccess() {
- return (pSeedDeclaration != null) ? pSeedDeclaration : (pSeedDeclaration = new SeedDeclarationElements());
- }
-
- public ParserRule getSeedDeclarationRule() {
- return getSeedDeclarationAccess().getRule();
- }
-
- //SignalDeclaration:
- //
- // (port=ID ".")? signame=ID ("=" intVal=INT | "=" strVal=STRING)?;
- public SignalDeclarationElements getSignalDeclarationAccess() {
- return (pSignalDeclaration != null) ? pSignalDeclaration : (pSignalDeclaration = new SignalDeclarationElements());
- }
-
- public ParserRule getSignalDeclarationRule() {
- return getSignalDeclarationAccess().getRule();
- }
-
- //SourceDeclaration:
- //
- // ref=[State] ":";
- public SourceDeclarationElements getSourceDeclarationAccess() {
- return (pSourceDeclaration != null) ? pSourceDeclaration : (pSourceDeclaration = new SourceDeclarationElements());
- }
-
- public ParserRule getSourceDeclarationRule() {
- return getSourceDeclarationAccess().getRule();
- }
-
- //DestinationDeclaration:
- //
- // "-> " ref=[State];
- public DestinationDeclarationElements getDestinationDeclarationAccess() {
- return (pDestinationDeclaration != null) ? pDestinationDeclaration : (pDestinationDeclaration = new DestinationDeclarationElements());
- }
-
- public ParserRule getDestinationDeclarationRule() {
- return getDestinationDeclarationAccess().getRule();
- }
-
- //TransitionDeclaration:
- //
- // source=SourceDeclaration "in:" in+=SignalDeclaration* "out:" out+=SignalDeclaration*
- //
- // destination=DestinationDeclaration;
- public TransitionDeclarationElements getTransitionDeclarationAccess() {
- return (pTransitionDeclaration != null) ? pTransitionDeclaration : (pTransitionDeclaration = new TransitionDeclarationElements());
- }
-
- public ParserRule getTransitionDeclarationRule() {
- return getTransitionDeclarationAccess().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();
- }
-}
+/*
+* generated by Xtext
+*/
+
+package org.eclipse.etrice.generator.services;
+
+import com.google.inject.Singleton;
+import com.google.inject.Inject;
+
+import java.util.List;
+
+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 FSMtestGrammarAccess extends AbstractGrammarElementFinder {
+
+
+ public class ModelElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Model");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final Assignment cFsmDefinitionsAssignment_0 = (Assignment)cAlternatives.eContents().get(0);
+ private final RuleCall cFsmDefinitionsFsmDefinitionParserRuleCall_0_0 = (RuleCall)cFsmDefinitionsAssignment_0.eContents().get(0);
+ private final Assignment cRandomTestsAssignment_1 = (Assignment)cAlternatives.eContents().get(1);
+ private final RuleCall cRandomTestsRandomTestParserRuleCall_1_0 = (RuleCall)cRandomTestsAssignment_1.eContents().get(0);
+
+ //Model:
+ //
+ // (FsmDefinitions+=FsmDefinition | RandomTests+=RandomTest)*;
+ public ParserRule getRule() { return rule; }
+
+ //(FsmDefinitions+=FsmDefinition | RandomTests+=RandomTest)*
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //FsmDefinitions+=FsmDefinition
+ public Assignment getFsmDefinitionsAssignment_0() { return cFsmDefinitionsAssignment_0; }
+
+ //FsmDefinition
+ public RuleCall getFsmDefinitionsFsmDefinitionParserRuleCall_0_0() { return cFsmDefinitionsFsmDefinitionParserRuleCall_0_0; }
+
+ //RandomTests+=RandomTest
+ public Assignment getRandomTestsAssignment_1() { return cRandomTestsAssignment_1; }
+
+ //RandomTest
+ public RuleCall getRandomTestsRandomTestParserRuleCall_1_0() { return cRandomTestsRandomTestParserRuleCall_1_0; }
+ }
+
+ public class FsmDefinitionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "FsmDefinition");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cFsmdefinitionKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+ private final Keyword cInitialKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Assignment cStatesAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cStatesStateDeclarationParserRuleCall_3_0 = (RuleCall)cStatesAssignment_3.eContents().get(0);
+ private final Assignment cStatesAssignment_4 = (Assignment)cGroup.eContents().get(4);
+ private final RuleCall cStatesStateDeclarationParserRuleCall_4_0 = (RuleCall)cStatesAssignment_4.eContents().get(0);
+ private final Keyword cSemicolonKeyword_5 = (Keyword)cGroup.eContents().get(5);
+
+ //FsmDefinition:
+ //
+ // "fsmdefinition" name=ID "initial" states+=StateDeclaration states+=StateDeclaration* ";";
+ public ParserRule getRule() { return rule; }
+
+ //"fsmdefinition" name=ID "initial" states+=StateDeclaration states+=StateDeclaration* ";"
+ public Group getGroup() { return cGroup; }
+
+ //"fsmdefinition"
+ public Keyword getFsmdefinitionKeyword_0() { return cFsmdefinitionKeyword_0; }
+
+ //name=ID
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
+
+ //"initial"
+ public Keyword getInitialKeyword_2() { return cInitialKeyword_2; }
+
+ //states+=StateDeclaration
+ public Assignment getStatesAssignment_3() { return cStatesAssignment_3; }
+
+ //StateDeclaration
+ public RuleCall getStatesStateDeclarationParserRuleCall_3_0() { return cStatesStateDeclarationParserRuleCall_3_0; }
+
+ //states+=StateDeclaration*
+ public Assignment getStatesAssignment_4() { return cStatesAssignment_4; }
+
+ //StateDeclaration
+ public RuleCall getStatesStateDeclarationParserRuleCall_4_0() { return cStatesStateDeclarationParserRuleCall_4_0; }
+
+ //";"
+ public Keyword getSemicolonKeyword_5() { return cSemicolonKeyword_5; }
+ }
+
+ public class RandomTestElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RandomTest");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cRandomtestKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+ private final Keyword cFsmKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Assignment cFsmAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final CrossReference cFsmFsmDefinitionCrossReference_3_0 = (CrossReference)cFsmAssignment_3.eContents().get(0);
+ private final RuleCall cFsmFsmDefinitionIDTerminalRuleCall_3_0_1 = (RuleCall)cFsmFsmDefinitionCrossReference_3_0.eContents().get(1);
+ private final Assignment cLoopsDeclarationAssignment_4 = (Assignment)cGroup.eContents().get(4);
+ private final RuleCall cLoopsDeclarationLoopsDeclarationParserRuleCall_4_0 = (RuleCall)cLoopsDeclarationAssignment_4.eContents().get(0);
+ private final Assignment cSeedDeclarationAssignment_5 = (Assignment)cGroup.eContents().get(5);
+ private final RuleCall cSeedDeclarationSeedDeclarationParserRuleCall_5_0 = (RuleCall)cSeedDeclarationAssignment_5.eContents().get(0);
+ private final Keyword cSemicolonKeyword_6 = (Keyword)cGroup.eContents().get(6);
+
+ //RandomTest:
+ //
+ // "randomtest" name=ID "fsm:" fsm=[FsmDefinition] loopsDeclaration=LoopsDeclaration seedDeclaration=SeedDeclaration?
+ //
+ // ";";
+ public ParserRule getRule() { return rule; }
+
+ //"randomtest" name=ID "fsm:" fsm=[FsmDefinition] loopsDeclaration=LoopsDeclaration seedDeclaration=SeedDeclaration? ";"
+ public Group getGroup() { return cGroup; }
+
+ //"randomtest"
+ public Keyword getRandomtestKeyword_0() { return cRandomtestKeyword_0; }
+
+ //name=ID
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
+
+ //"fsm:"
+ public Keyword getFsmKeyword_2() { return cFsmKeyword_2; }
+
+ //fsm=[FsmDefinition]
+ public Assignment getFsmAssignment_3() { return cFsmAssignment_3; }
+
+ //[FsmDefinition]
+ public CrossReference getFsmFsmDefinitionCrossReference_3_0() { return cFsmFsmDefinitionCrossReference_3_0; }
+
+ //ID
+ public RuleCall getFsmFsmDefinitionIDTerminalRuleCall_3_0_1() { return cFsmFsmDefinitionIDTerminalRuleCall_3_0_1; }
+
+ //loopsDeclaration=LoopsDeclaration
+ public Assignment getLoopsDeclarationAssignment_4() { return cLoopsDeclarationAssignment_4; }
+
+ //LoopsDeclaration
+ public RuleCall getLoopsDeclarationLoopsDeclarationParserRuleCall_4_0() { return cLoopsDeclarationLoopsDeclarationParserRuleCall_4_0; }
+
+ //seedDeclaration=SeedDeclaration?
+ public Assignment getSeedDeclarationAssignment_5() { return cSeedDeclarationAssignment_5; }
+
+ //SeedDeclaration
+ public RuleCall getSeedDeclarationSeedDeclarationParserRuleCall_5_0() { return cSeedDeclarationSeedDeclarationParserRuleCall_5_0; }
+
+ //";"
+ public Keyword getSemicolonKeyword_6() { return cSemicolonKeyword_6; }
+ }
+
+ public class GuardDeclarationElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "GuardDeclaration");
+ private final Assignment cSignalAssignment = (Assignment)rule.eContents().get(1);
+ private final RuleCall cSignalSignalDeclarationParserRuleCall_0 = (RuleCall)cSignalAssignment.eContents().get(0);
+
+ //GuardDeclaration:
+ //
+ // signal=SignalDeclaration;
+ public ParserRule getRule() { return rule; }
+
+ //signal=SignalDeclaration
+ public Assignment getSignalAssignment() { return cSignalAssignment; }
+
+ //SignalDeclaration
+ public RuleCall getSignalSignalDeclarationParserRuleCall_0() { return cSignalSignalDeclarationParserRuleCall_0; }
+ }
+
+ public class TransitionDeclarationElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TransitionDeclaration");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cTransitionKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+ private final Keyword cToKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Assignment cDestinationAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final CrossReference cDestinationStateDeclarationCrossReference_3_0 = (CrossReference)cDestinationAssignment_3.eContents().get(0);
+ private final RuleCall cDestinationStateDeclarationIDTerminalRuleCall_3_0_1 = (RuleCall)cDestinationStateDeclarationCrossReference_3_0.eContents().get(1);
+ private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
+ private final Keyword cTriggerKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
+ private final Assignment cTriggerAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
+ private final RuleCall cTriggerSignalDeclarationParserRuleCall_4_1_0 = (RuleCall)cTriggerAssignment_4_1.eContents().get(0);
+ private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
+ private final Keyword cGuardsKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
+ private final Assignment cTriggersAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
+ private final RuleCall cTriggersGuardDeclarationParserRuleCall_5_1_0 = (RuleCall)cTriggersAssignment_5_1.eContents().get(0);
+ private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
+ private final Keyword cConstraintsKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0);
+ private final Alternatives cAlternatives_6_1 = (Alternatives)cGroup_6.eContents().get(1);
+ private final Assignment cPreconditionAssignment_6_1_0 = (Assignment)cAlternatives_6_1.eContents().get(0);
+ private final RuleCall cPreconditionPreconditionDeclarationParserRuleCall_6_1_0_0 = (RuleCall)cPreconditionAssignment_6_1_0.eContents().get(0);
+ private final Assignment cPostconditionAssignment_6_1_1 = (Assignment)cAlternatives_6_1.eContents().get(1);
+ private final RuleCall cPostconditionPostconditionDeclarationParserRuleCall_6_1_1_0 = (RuleCall)cPostconditionAssignment_6_1_1.eContents().get(0);
+ private final Keyword cSemicolonKeyword_7 = (Keyword)cGroup.eContents().get(7);
+
+ //TransitionDeclaration:
+ //
+ // "transition" name=ID "to" destination=[StateDeclaration] ("trigger:" trigger=SignalDeclaration)? ("guards:"
+ //
+ // triggers+=GuardDeclaration+)? ("constraints:" (precondition+=PreconditionDeclaration |
+ //
+ // postcondition+=PostconditionDeclaration)+)? ";";
+ public ParserRule getRule() { return rule; }
+
+ //"transition" name=ID "to" destination=[StateDeclaration] ("trigger:" trigger=SignalDeclaration)? ("guards:"
+ //
+ //triggers+=GuardDeclaration+)? ("constraints:" (precondition+=PreconditionDeclaration |
+ //
+ //postcondition+=PostconditionDeclaration)+)? ";"
+ public Group getGroup() { return cGroup; }
+
+ //"transition"
+ public Keyword getTransitionKeyword_0() { return cTransitionKeyword_0; }
+
+ //name=ID
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
+
+ //"to"
+ public Keyword getToKeyword_2() { return cToKeyword_2; }
+
+ //destination=[StateDeclaration]
+ public Assignment getDestinationAssignment_3() { return cDestinationAssignment_3; }
+
+ //[StateDeclaration]
+ public CrossReference getDestinationStateDeclarationCrossReference_3_0() { return cDestinationStateDeclarationCrossReference_3_0; }
+
+ //ID
+ public RuleCall getDestinationStateDeclarationIDTerminalRuleCall_3_0_1() { return cDestinationStateDeclarationIDTerminalRuleCall_3_0_1; }
+
+ //("trigger:" trigger=SignalDeclaration)?
+ public Group getGroup_4() { return cGroup_4; }
+
+ //"trigger:"
+ public Keyword getTriggerKeyword_4_0() { return cTriggerKeyword_4_0; }
+
+ //trigger=SignalDeclaration
+ public Assignment getTriggerAssignment_4_1() { return cTriggerAssignment_4_1; }
+
+ //SignalDeclaration
+ public RuleCall getTriggerSignalDeclarationParserRuleCall_4_1_0() { return cTriggerSignalDeclarationParserRuleCall_4_1_0; }
+
+ //("guards:" triggers+=GuardDeclaration+)?
+ public Group getGroup_5() { return cGroup_5; }
+
+ //"guards:"
+ public Keyword getGuardsKeyword_5_0() { return cGuardsKeyword_5_0; }
+
+ //triggers+=GuardDeclaration+
+ public Assignment getTriggersAssignment_5_1() { return cTriggersAssignment_5_1; }
+
+ //GuardDeclaration
+ public RuleCall getTriggersGuardDeclarationParserRuleCall_5_1_0() { return cTriggersGuardDeclarationParserRuleCall_5_1_0; }
+
+ //("constraints:" (precondition+=PreconditionDeclaration | postcondition+=PostconditionDeclaration)+)?
+ public Group getGroup_6() { return cGroup_6; }
+
+ //"constraints:"
+ public Keyword getConstraintsKeyword_6_0() { return cConstraintsKeyword_6_0; }
+
+ //(precondition+=PreconditionDeclaration | postcondition+=PostconditionDeclaration)+
+ public Alternatives getAlternatives_6_1() { return cAlternatives_6_1; }
+
+ //precondition+=PreconditionDeclaration
+ public Assignment getPreconditionAssignment_6_1_0() { return cPreconditionAssignment_6_1_0; }
+
+ //PreconditionDeclaration
+ public RuleCall getPreconditionPreconditionDeclarationParserRuleCall_6_1_0_0() { return cPreconditionPreconditionDeclarationParserRuleCall_6_1_0_0; }
+
+ //postcondition+=PostconditionDeclaration
+ public Assignment getPostconditionAssignment_6_1_1() { return cPostconditionAssignment_6_1_1; }
+
+ //PostconditionDeclaration
+ public RuleCall getPostconditionPostconditionDeclarationParserRuleCall_6_1_1_0() { return cPostconditionPostconditionDeclarationParserRuleCall_6_1_1_0; }
+
+ //";"
+ public Keyword getSemicolonKeyword_7() { return cSemicolonKeyword_7; }
+ }
+
+ public class ConditionDeclarationElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ConditionDeclaration");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cConditionKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cSignalAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cSignalSignalDeclarationParserRuleCall_1_0 = (RuleCall)cSignalAssignment_1.eContents().get(0);
+
+ //ConditionDeclaration:
+ //
+ // "condition" signal=SignalDeclaration;
+ public ParserRule getRule() { return rule; }
+
+ //"condition" signal=SignalDeclaration
+ public Group getGroup() { return cGroup; }
+
+ //"condition"
+ public Keyword getConditionKeyword_0() { return cConditionKeyword_0; }
+
+ //signal=SignalDeclaration
+ public Assignment getSignalAssignment_1() { return cSignalAssignment_1; }
+
+ //SignalDeclaration
+ public RuleCall getSignalSignalDeclarationParserRuleCall_1_0() { return cSignalSignalDeclarationParserRuleCall_1_0; }
+ }
+
+ public class PreconditionDeclarationElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PreconditionDeclaration");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cPreconditionKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cSignalAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cSignalSignalDeclarationParserRuleCall_1_0 = (RuleCall)cSignalAssignment_1.eContents().get(0);
+
+ //PreconditionDeclaration:
+ //
+ // "precondition" signal=SignalDeclaration;
+ public ParserRule getRule() { return rule; }
+
+ //"precondition" signal=SignalDeclaration
+ public Group getGroup() { return cGroup; }
+
+ //"precondition"
+ public Keyword getPreconditionKeyword_0() { return cPreconditionKeyword_0; }
+
+ //signal=SignalDeclaration
+ public Assignment getSignalAssignment_1() { return cSignalAssignment_1; }
+
+ //SignalDeclaration
+ public RuleCall getSignalSignalDeclarationParserRuleCall_1_0() { return cSignalSignalDeclarationParserRuleCall_1_0; }
+ }
+
+ public class PostconditionDeclarationElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PostconditionDeclaration");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cPostconditionKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cSignalAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cSignalSignalDeclarationParserRuleCall_1_0 = (RuleCall)cSignalAssignment_1.eContents().get(0);
+
+ //PostconditionDeclaration:
+ //
+ // "postcondition" signal=SignalDeclaration;
+ public ParserRule getRule() { return rule; }
+
+ //"postcondition" signal=SignalDeclaration
+ public Group getGroup() { return cGroup; }
+
+ //"postcondition"
+ public Keyword getPostconditionKeyword_0() { return cPostconditionKeyword_0; }
+
+ //signal=SignalDeclaration
+ public Assignment getSignalAssignment_1() { return cSignalAssignment_1; }
+
+ //SignalDeclaration
+ public RuleCall getSignalSignalDeclarationParserRuleCall_1_0() { return cSignalSignalDeclarationParserRuleCall_1_0; }
+ }
+
+ public class StateDeclarationElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StateDeclaration");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cStateKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+ private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
+ private final Keyword cConstraintsKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
+ private final Assignment cConditionAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
+ private final RuleCall cConditionConditionDeclarationParserRuleCall_2_1_0 = (RuleCall)cConditionAssignment_2_1.eContents().get(0);
+ private final Assignment cTransitionsAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cTransitionsTransitionDeclarationParserRuleCall_3_0 = (RuleCall)cTransitionsAssignment_3.eContents().get(0);
+ private final Keyword cSemicolonKeyword_4 = (Keyword)cGroup.eContents().get(4);
+
+ //StateDeclaration:
+ //
+ // "state" name=ID ("constraints:" condition+=ConditionDeclaration+)? transitions+=TransitionDeclaration+ ";";
+ public ParserRule getRule() { return rule; }
+
+ //"state" name=ID ("constraints:" condition+=ConditionDeclaration+)? transitions+=TransitionDeclaration+ ";"
+ public Group getGroup() { return cGroup; }
+
+ //"state"
+ public Keyword getStateKeyword_0() { return cStateKeyword_0; }
+
+ //name=ID
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
+
+ //("constraints:" condition+=ConditionDeclaration+)?
+ public Group getGroup_2() { return cGroup_2; }
+
+ //"constraints:"
+ public Keyword getConstraintsKeyword_2_0() { return cConstraintsKeyword_2_0; }
+
+ //condition+=ConditionDeclaration+
+ public Assignment getConditionAssignment_2_1() { return cConditionAssignment_2_1; }
+
+ //ConditionDeclaration
+ public RuleCall getConditionConditionDeclarationParserRuleCall_2_1_0() { return cConditionConditionDeclarationParserRuleCall_2_1_0; }
+
+ //transitions+=TransitionDeclaration+
+ public Assignment getTransitionsAssignment_3() { return cTransitionsAssignment_3; }
+
+ //TransitionDeclaration
+ public RuleCall getTransitionsTransitionDeclarationParserRuleCall_3_0() { return cTransitionsTransitionDeclarationParserRuleCall_3_0; }
+
+ //";"
+ public Keyword getSemicolonKeyword_4() { return cSemicolonKeyword_4; }
+ }
+
+ public class LoopsDeclarationElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LoopsDeclaration");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cLoopsKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cValAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cValINTTerminalRuleCall_1_0 = (RuleCall)cValAssignment_1.eContents().get(0);
+
+ //LoopsDeclaration:
+ //
+ // "loops:" val=INT;
+ public ParserRule getRule() { return rule; }
+
+ //"loops:" val=INT
+ public Group getGroup() { return cGroup; }
+
+ //"loops:"
+ public Keyword getLoopsKeyword_0() { return cLoopsKeyword_0; }
+
+ //val=INT
+ public Assignment getValAssignment_1() { return cValAssignment_1; }
+
+ //INT
+ public RuleCall getValINTTerminalRuleCall_1_0() { return cValINTTerminalRuleCall_1_0; }
+ }
+
+ public class SeedDeclarationElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SeedDeclaration");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cRandseedKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cValAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cValINTTerminalRuleCall_1_0 = (RuleCall)cValAssignment_1.eContents().get(0);
+
+ //SeedDeclaration:
+ //
+ // "randseed:" val=INT;
+ public ParserRule getRule() { return rule; }
+
+ //"randseed:" val=INT
+ public Group getGroup() { return cGroup; }
+
+ //"randseed:"
+ public Keyword getRandseedKeyword_0() { return cRandseedKeyword_0; }
+
+ //val=INT
+ public Assignment getValAssignment_1() { return cValAssignment_1; }
+
+ //INT
+ public RuleCall getValINTTerminalRuleCall_1_0() { return cValINTTerminalRuleCall_1_0; }
+ }
+
+ public class SignalDeclarationElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SignalDeclaration");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Group cGroup_0 = (Group)cGroup.eContents().get(0);
+ private final Assignment cPortAssignment_0_0 = (Assignment)cGroup_0.eContents().get(0);
+ private final RuleCall cPortIDTerminalRuleCall_0_0_0 = (RuleCall)cPortAssignment_0_0.eContents().get(0);
+ private final Keyword cFullStopKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1);
+ private final Assignment cSignameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cSignameIDTerminalRuleCall_1_0 = (RuleCall)cSignameAssignment_1.eContents().get(0);
+ private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2);
+ private final Group cGroup_2_0 = (Group)cAlternatives_2.eContents().get(0);
+ private final Keyword cEqualsSignKeyword_2_0_0 = (Keyword)cGroup_2_0.eContents().get(0);
+ private final Assignment cIntValAssignment_2_0_1 = (Assignment)cGroup_2_0.eContents().get(1);
+ private final RuleCall cIntValINTTerminalRuleCall_2_0_1_0 = (RuleCall)cIntValAssignment_2_0_1.eContents().get(0);
+ private final Group cGroup_2_1 = (Group)cAlternatives_2.eContents().get(1);
+ private final Keyword cEqualsSignKeyword_2_1_0 = (Keyword)cGroup_2_1.eContents().get(0);
+ private final Assignment cStrValAssignment_2_1_1 = (Assignment)cGroup_2_1.eContents().get(1);
+ private final RuleCall cStrValSTRINGTerminalRuleCall_2_1_1_0 = (RuleCall)cStrValAssignment_2_1_1.eContents().get(0);
+
+ //SignalDeclaration:
+ //
+ // (port=ID ".")? signame=ID ("=" intVal=INT | "=" strVal=STRING)?;
+ public ParserRule getRule() { return rule; }
+
+ //(port=ID ".")? signame=ID ("=" intVal=INT | "=" strVal=STRING)?
+ public Group getGroup() { return cGroup; }
+
+ //(port=ID ".")?
+ public Group getGroup_0() { return cGroup_0; }
+
+ //port=ID
+ public Assignment getPortAssignment_0_0() { return cPortAssignment_0_0; }
+
+ //ID
+ public RuleCall getPortIDTerminalRuleCall_0_0_0() { return cPortIDTerminalRuleCall_0_0_0; }
+
+ //"."
+ public Keyword getFullStopKeyword_0_1() { return cFullStopKeyword_0_1; }
+
+ //signame=ID
+ public Assignment getSignameAssignment_1() { return cSignameAssignment_1; }
+
+ //ID
+ public RuleCall getSignameIDTerminalRuleCall_1_0() { return cSignameIDTerminalRuleCall_1_0; }
+
+ //("=" intVal=INT | "=" strVal=STRING)?
+ public Alternatives getAlternatives_2() { return cAlternatives_2; }
+
+ //"=" intVal=INT
+ public Group getGroup_2_0() { return cGroup_2_0; }
+
+ //"="
+ public Keyword getEqualsSignKeyword_2_0_0() { return cEqualsSignKeyword_2_0_0; }
+
+ //intVal=INT
+ public Assignment getIntValAssignment_2_0_1() { return cIntValAssignment_2_0_1; }
+
+ //INT
+ public RuleCall getIntValINTTerminalRuleCall_2_0_1_0() { return cIntValINTTerminalRuleCall_2_0_1_0; }
+
+ //"=" strVal=STRING
+ public Group getGroup_2_1() { return cGroup_2_1; }
+
+ //"="
+ public Keyword getEqualsSignKeyword_2_1_0() { return cEqualsSignKeyword_2_1_0; }
+
+ //strVal=STRING
+ public Assignment getStrValAssignment_2_1_1() { return cStrValAssignment_2_1_1; }
+
+ //STRING
+ public RuleCall getStrValSTRINGTerminalRuleCall_2_1_1_0() { return cStrValSTRINGTerminalRuleCall_2_1_1_0; }
+ }
+
+
+ private ModelElements pModel;
+ private FsmDefinitionElements pFsmDefinition;
+ private RandomTestElements pRandomTest;
+ private GuardDeclarationElements pGuardDeclaration;
+ private TransitionDeclarationElements pTransitionDeclaration;
+ private ConditionDeclarationElements pConditionDeclaration;
+ private PreconditionDeclarationElements pPreconditionDeclaration;
+ private PostconditionDeclarationElements pPostconditionDeclaration;
+ private StateDeclarationElements pStateDeclaration;
+ private LoopsDeclarationElements pLoopsDeclaration;
+ private SeedDeclarationElements pSeedDeclaration;
+ private SignalDeclarationElements pSignalDeclaration;
+
+ private final Grammar grammar;
+
+ private TerminalsGrammarAccess gaTerminals;
+
+ @Inject
+ public FSMtestGrammarAccess(GrammarProvider grammarProvider,
+ TerminalsGrammarAccess gaTerminals) {
+ this.grammar = internalFindGrammar(grammarProvider);
+ this.gaTerminals = gaTerminals;
+ }
+
+ protected Grammar internalFindGrammar(GrammarProvider grammarProvider) {
+ Grammar grammar = grammarProvider.getGrammar(this);
+ while (grammar != null) {
+ if ("org.eclipse.etrice.generator.FSMtest".equals(grammar.getName())) {
+ return grammar;
+ }
+ List<Grammar> grammars = grammar.getUsedGrammars();
+ if (!grammars.isEmpty()) {
+ grammar = grammars.iterator().next();
+ } else {
+ return null;
+ }
+ }
+ return grammar;
+ }
+
+
+ public Grammar getGrammar() {
+ return grammar;
+ }
+
+
+ public TerminalsGrammarAccess getTerminalsGrammarAccess() {
+ return gaTerminals;
+ }
+
+
+ //Model:
+ //
+ // (FsmDefinitions+=FsmDefinition | RandomTests+=RandomTest)*;
+ public ModelElements getModelAccess() {
+ return (pModel != null) ? pModel : (pModel = new ModelElements());
+ }
+
+ public ParserRule getModelRule() {
+ return getModelAccess().getRule();
+ }
+
+ //FsmDefinition:
+ //
+ // "fsmdefinition" name=ID "initial" states+=StateDeclaration states+=StateDeclaration* ";";
+ public FsmDefinitionElements getFsmDefinitionAccess() {
+ return (pFsmDefinition != null) ? pFsmDefinition : (pFsmDefinition = new FsmDefinitionElements());
+ }
+
+ public ParserRule getFsmDefinitionRule() {
+ return getFsmDefinitionAccess().getRule();
+ }
+
+ //RandomTest:
+ //
+ // "randomtest" name=ID "fsm:" fsm=[FsmDefinition] loopsDeclaration=LoopsDeclaration seedDeclaration=SeedDeclaration?
+ //
+ // ";";
+ public RandomTestElements getRandomTestAccess() {
+ return (pRandomTest != null) ? pRandomTest : (pRandomTest = new RandomTestElements());
+ }
+
+ public ParserRule getRandomTestRule() {
+ return getRandomTestAccess().getRule();
+ }
+
+ //GuardDeclaration:
+ //
+ // signal=SignalDeclaration;
+ public GuardDeclarationElements getGuardDeclarationAccess() {
+ return (pGuardDeclaration != null) ? pGuardDeclaration : (pGuardDeclaration = new GuardDeclarationElements());
+ }
+
+ public ParserRule getGuardDeclarationRule() {
+ return getGuardDeclarationAccess().getRule();
+ }
+
+ //TransitionDeclaration:
+ //
+ // "transition" name=ID "to" destination=[StateDeclaration] ("trigger:" trigger=SignalDeclaration)? ("guards:"
+ //
+ // triggers+=GuardDeclaration+)? ("constraints:" (precondition+=PreconditionDeclaration |
+ //
+ // postcondition+=PostconditionDeclaration)+)? ";";
+ public TransitionDeclarationElements getTransitionDeclarationAccess() {
+ return (pTransitionDeclaration != null) ? pTransitionDeclaration : (pTransitionDeclaration = new TransitionDeclarationElements());
+ }
+
+ public ParserRule getTransitionDeclarationRule() {
+ return getTransitionDeclarationAccess().getRule();
+ }
+
+ //ConditionDeclaration:
+ //
+ // "condition" signal=SignalDeclaration;
+ public ConditionDeclarationElements getConditionDeclarationAccess() {
+ return (pConditionDeclaration != null) ? pConditionDeclaration : (pConditionDeclaration = new ConditionDeclarationElements());
+ }
+
+ public ParserRule getConditionDeclarationRule() {
+ return getConditionDeclarationAccess().getRule();
+ }
+
+ //PreconditionDeclaration:
+ //
+ // "precondition" signal=SignalDeclaration;
+ public PreconditionDeclarationElements getPreconditionDeclarationAccess() {
+ return (pPreconditionDeclaration != null) ? pPreconditionDeclaration : (pPreconditionDeclaration = new PreconditionDeclarationElements());
+ }
+
+ public ParserRule getPreconditionDeclarationRule() {
+ return getPreconditionDeclarationAccess().getRule();
+ }
+
+ //PostconditionDeclaration:
+ //
+ // "postcondition" signal=SignalDeclaration;
+ public PostconditionDeclarationElements getPostconditionDeclarationAccess() {
+ return (pPostconditionDeclaration != null) ? pPostconditionDeclaration : (pPostconditionDeclaration = new PostconditionDeclarationElements());
+ }
+
+ public ParserRule getPostconditionDeclarationRule() {
+ return getPostconditionDeclarationAccess().getRule();
+ }
+
+ //StateDeclaration:
+ //
+ // "state" name=ID ("constraints:" condition+=ConditionDeclaration+)? transitions+=TransitionDeclaration+ ";";
+ public StateDeclarationElements getStateDeclarationAccess() {
+ return (pStateDeclaration != null) ? pStateDeclaration : (pStateDeclaration = new StateDeclarationElements());
+ }
+
+ public ParserRule getStateDeclarationRule() {
+ return getStateDeclarationAccess().getRule();
+ }
+
+ //LoopsDeclaration:
+ //
+ // "loops:" val=INT;
+ public LoopsDeclarationElements getLoopsDeclarationAccess() {
+ return (pLoopsDeclaration != null) ? pLoopsDeclaration : (pLoopsDeclaration = new LoopsDeclarationElements());
+ }
+
+ public ParserRule getLoopsDeclarationRule() {
+ return getLoopsDeclarationAccess().getRule();
+ }
+
+ //SeedDeclaration:
+ //
+ // "randseed:" val=INT;
+ public SeedDeclarationElements getSeedDeclarationAccess() {
+ return (pSeedDeclaration != null) ? pSeedDeclaration : (pSeedDeclaration = new SeedDeclarationElements());
+ }
+
+ public ParserRule getSeedDeclarationRule() {
+ return getSeedDeclarationAccess().getRule();
+ }
+
+ //SignalDeclaration:
+ //
+ // (port=ID ".")? signame=ID ("=" intVal=INT | "=" strVal=STRING)?;
+ public SignalDeclarationElements getSignalDeclarationAccess() {
+ return (pSignalDeclaration != null) ? pSignalDeclaration : (pSignalDeclaration = new SignalDeclarationElements());
+ }
+
+ public ParserRule getSignalDeclarationRule() {
+ return getSignalDeclarationAccess().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/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/validation/AbstractFSMtestJavaValidator.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/validation/AbstractFSMtestJavaValidator.java
index 21fe3433b..ec2259d42 100644
--- a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/validation/AbstractFSMtestJavaValidator.java
+++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/validation/AbstractFSMtestJavaValidator.java
@@ -1,18 +1,18 @@
-package org.eclipse.etrice.generator.validation;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.xtext.validation.AbstractDeclarativeValidator;
-
-public class AbstractFSMtestJavaValidator extends AbstractDeclarativeValidator {
-
- @Override
- protected List<EPackage> getEPackages() {
- List<EPackage> result = new ArrayList<EPackage>();
- result.add(org.eclipse.etrice.generator.fsmtest.FsmtestPackage.eINSTANCE);
- return result;
- }
-
-}
+package org.eclipse.etrice.generator.validation;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.xtext.validation.AbstractDeclarativeValidator;
+
+public class AbstractFSMtestJavaValidator extends AbstractDeclarativeValidator {
+
+ @Override
+ protected List<EPackage> getEPackages() {
+ List<EPackage> result = new ArrayList<EPackage>();
+ result.add(org.eclipse.etrice.generator.fsmtest.FsmtestPackage.eINSTANCE);
+ return result;
+ }
+
+}

Back to the top