diff options
author | Henrik Rentz-Reichert | 2012-08-29 09:41:27 +0000 |
---|---|---|
committer | Henrik Rentz-Reichert | 2012-08-29 09:41:27 +0000 |
commit | 18cc09d5f5e436040173fa134d65ce2978fd757f (patch) | |
tree | ae72f55a7bf7ed1d1acb2175a93443e57a21a506 /plugins | |
parent | 5c00207570bec7e4103b8033d21325e3d31d35da (diff) | |
download | org.eclipse.etrice-18cc09d5f5e436040173fa134d65ce2978fd757f.tar.gz org.eclipse.etrice-18cc09d5f5e436040173fa134d65ce2978fd757f.tar.xz org.eclipse.etrice-18cc09d5f5e436040173fa134d65ce2978fd757f.zip |
[generator] added fsmtest language
Diffstat (limited to 'plugins')
82 files changed, 21883 insertions, 0 deletions
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest.ui/.classpath b/plugins/org.eclipse.etrice.generator.fsmtest.ui/.classpath new file mode 100644 index 000000000..e5fbd3dd2 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest.ui/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest.ui/.gitignore b/plugins/org.eclipse.etrice.generator.fsmtest.ui/.gitignore new file mode 100644 index 000000000..092357e47 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest.ui/.gitignore @@ -0,0 +1 @@ +bin
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest.ui/.project b/plugins/org.eclipse.etrice.generator.fsmtest.ui/.project new file mode 100644 index 000000000..d83d659fd --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest.ui/.project @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.etrice.generator.fsmtest.ui</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.fsmtest.ui/META-INF/MANIFEST.MF new file mode 100644 index 000000000..889177498 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest.ui/META-INF/MANIFEST.MF @@ -0,0 +1,24 @@ +Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.eclipse.etrice.generator.fsmtest.ui
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: org.eclipse.etrice.generator.fsmtest.ui; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.etrice.generator.fsmtest;visibility:=reexport,
+ org.eclipse.xtext.ui,
+ org.eclipse.ui.editors;bundle-version="3.5.0",
+ org.eclipse.ui.ide;bundle-version="3.5.0",
+ org.eclipse.xtext.ui.shared,
+ org.eclipse.ui,
+ org.eclipse.xtext.builder,
+ org.antlr.runtime,
+ org.eclipse.xtext.common.types.ui,
+ org.eclipse.xtext.ui.codetemplates.ui,
+ org.eclipse.compare
+Import-Package: org.apache.log4j
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.etrice.generator.ui.contentassist,
+ org.eclipse.etrice.generator.ui.contentassist.antlr,
+ org.eclipse.etrice.generator.ui.internal
+Bundle-Activator: org.eclipse.etrice.generator.ui.internal.FSMtestActivator
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest.ui/build.properties b/plugins/org.eclipse.etrice.generator.fsmtest.ui/build.properties new file mode 100644 index 000000000..e10dcceb6 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest.ui/build.properties @@ -0,0 +1,5 @@ +source.. = src/,\ + src-gen/ +bin.includes = META-INF/,\ + .,\ + plugin.xml
\ No newline at end of file diff --git a/plugins/org.eclipse.etrice.generator.fsmtest.ui/plugin.xml b/plugins/org.eclipse.etrice.generator.fsmtest.ui/plugin.xml new file mode 100644 index 000000000..2d8dfff2b --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest.ui/plugin.xml @@ -0,0 +1,323 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.0"?> + +<plugin> + + <extension + point="org.eclipse.ui.editors"> + <editor + class="org.eclipse.etrice.generator.ui.FSMtestExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor" + contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor" + default="true" + extensions="fsmtest" + id="org.eclipse.etrice.generator.FSMtest" + name="FSMtest Editor"> + </editor> + </extension> + <extension + point="org.eclipse.ui.handlers"> + <handler + class="org.eclipse.etrice.generator.ui.FSMtestExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler" + commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration"> + <activeWhen> + <reference + definitionId="org.eclipse.etrice.generator.FSMtest.Editor.opened"> + </reference> + </activeWhen> + </handler> + <handler + class="org.eclipse.etrice.generator.ui.FSMtestExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler" + commandId="org.eclipse.etrice.generator.FSMtest.validate"> + <activeWhen> + <reference + definitionId="org.eclipse.etrice.generator.FSMtest.Editor.opened"> + </reference> + </activeWhen> + </handler> + </extension> + <extension point="org.eclipse.core.expressions.definitions"> + <definition id="org.eclipse.etrice.generator.FSMtest.Editor.opened"> + <and> + <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/> + <with variable="activeEditor"> + <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName" + value="org.eclipse.etrice.generator.FSMtest" + forcePluginActivation="true"/> + </with> + </and> + </definition> + </extension> + <extension + point="org.eclipse.ui.preferencePages"> + <page + class="org.eclipse.etrice.generator.ui.FSMtestExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage" + id="org.eclipse.etrice.generator.FSMtest" + name="FSMtest"> + <keywordReference id="org.eclipse.etrice.generator.ui.keyword_FSMtest"/> + </page> + <page + category="org.eclipse.etrice.generator.FSMtest" + class="org.eclipse.etrice.generator.ui.FSMtestExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage" + id="org.eclipse.etrice.generator.FSMtest.coloring" + name="Syntax Coloring"> + <keywordReference id="org.eclipse.etrice.generator.ui.keyword_FSMtest"/> + </page> + <page + category="org.eclipse.etrice.generator.FSMtest" + class="org.eclipse.etrice.generator.ui.FSMtestExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage" + id="org.eclipse.etrice.generator.FSMtest.templates" + name="Templates"> + <keywordReference id="org.eclipse.etrice.generator.ui.keyword_FSMtest"/> + </page> + </extension> + <extension + point="org.eclipse.ui.propertyPages"> + <page + class="org.eclipse.etrice.generator.ui.FSMtestExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage" + id="org.eclipse.etrice.generator.FSMtest" + name="FSMtest"> + <keywordReference id="org.eclipse.etrice.generator.ui.keyword_FSMtest"/> + <enabledWhen> + <adapt type="org.eclipse.core.resources.IProject"/> + </enabledWhen> + <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/> + </page> + </extension> + <extension + point="org.eclipse.ui.keywords"> + <keyword + id="org.eclipse.etrice.generator.ui.keyword_FSMtest" + label="FSMtest"/> + </extension> + <extension + point="org.eclipse.ui.commands"> + <command + description="Trigger expensive validation" + id="org.eclipse.etrice.generator.FSMtest.validate" + name="Validate"> + </command> + </extension> + <extension point="org.eclipse.ui.menus"> + <menuContribution + locationURI="popup:#TextEditorContext?after=group.edit"> + <command + commandId="org.eclipse.etrice.generator.FSMtest.validate" + style="push" + tooltip="Trigger expensive validation"> + <visibleWhen checkEnabled="false"> + <reference + definitionId="org.eclipse.etrice.generator.FSMtest.Editor.opened"> + </reference> + </visibleWhen> + </command> + </menuContribution> + </extension> + <extension point="org.eclipse.ui.menus"> + <menuContribution locationURI="popup:#TextEditorContext?endof=group.find"> + <command commandId="org.eclipse.xtext.ui.editor.FindReferences"> + <visibleWhen checkEnabled="false"> + <reference definitionId="org.eclipse.etrice.generator.FSMtest.Editor.opened"> + </reference> + </visibleWhen> + </command> + </menuContribution> + </extension> + <extension point="org.eclipse.ui.handlers"> + <handler + class="org.eclipse.etrice.generator.ui.FSMtestExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler" + commandId="org.eclipse.xtext.ui.editor.FindReferences"> + <activeWhen> + <reference + definitionId="org.eclipse.etrice.generator.FSMtest.Editor.opened"> + </reference> + </activeWhen> + </handler> + </extension> + +<!-- adding resource factories --> + + <extension + point="org.eclipse.emf.ecore.extension_parser"> + <parser + class="org.eclipse.etrice.generator.ui.FSMtestExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory" + type="fsmtest"> + </parser> + </extension> + <extension point="org.eclipse.xtext.extension_resourceServiceProvider"> + <resourceServiceProvider + class="org.eclipse.etrice.generator.ui.FSMtestExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider" + uriExtension="fsmtest"> + </resourceServiceProvider> + </extension> + + + <!-- marker definitions for org.eclipse.etrice.generator.FSMtest --> + <extension + id="fsmtest.check.fast" + name="FSMtest Problem" + point="org.eclipse.core.resources.markers"> + <super type="org.eclipse.xtext.ui.check.fast"/> + <persistent value="true"/> + </extension> + <extension + id="fsmtest.check.normal" + name="FSMtest Problem" + point="org.eclipse.core.resources.markers"> + <super type="org.eclipse.xtext.ui.check.normal"/> + <persistent value="true"/> + </extension> + <extension + id="fsmtest.check.expensive" + name="FSMtest Problem" + point="org.eclipse.core.resources.markers"> + <super type="org.eclipse.xtext.ui.check.expensive"/> + <persistent value="true"/> + </extension> + + <extension + point="org.eclipse.xtext.builder.participant"> + <participant + class="org.eclipse.etrice.generator.ui.FSMtestExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant"> + </participant> + </extension> + <extension + point="org.eclipse.ui.preferencePages"> + <page + category="org.eclipse.etrice.generator.FSMtest" + class="org.eclipse.etrice.generator.ui.FSMtestExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage" + id="org.eclipse.etrice.generator.FSMtest.compiler.preferencePage" + name="Compiler"> + <keywordReference id="org.eclipse.etrice.generator.ui.keyword_FSMtest"/> + </page> + </extension> + <extension + point="org.eclipse.ui.propertyPages"> + <page + category="org.eclipse.etrice.generator.FSMtest" + class="org.eclipse.etrice.generator.ui.FSMtestExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage" + id="org.eclipse.etrice.generator.FSMtest.compiler.propertyPage" + name="Compiler"> + <keywordReference id="org.eclipse.etrice.generator.ui.keyword_FSMtest"/> + <enabledWhen> + <adapt type="org.eclipse.core.resources.IProject"/> + </enabledWhen> + <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/> + </page> + </extension> + + <!-- Quick Outline --> + <extension + point="org.eclipse.ui.handlers"> + <handler + class="org.eclipse.etrice.generator.ui.FSMtestExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler" + commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"> + <activeWhen> + <reference + definitionId="org.eclipse.etrice.generator.FSMtest.Editor.opened"> + </reference> + </activeWhen> + </handler> + </extension> + <extension + point="org.eclipse.ui.commands"> + <command + description="Open the quick outline." + id="org.eclipse.xtext.ui.editor.outline.QuickOutline" + name="Quick Outline"> + </command> + </extension> + <extension point="org.eclipse.ui.menus"> + <menuContribution + locationURI="popup:#TextEditorContext?after=group.open"> + <command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline" + style="push" + tooltip="Open Quick Outline"> + <visibleWhen checkEnabled="false"> + <reference definitionId="org.eclipse.etrice.generator.FSMtest.Editor.opened"/> + </visibleWhen> + </command> + </menuContribution> + </extension> + <!-- quickfix marker resolution generator for org.eclipse.etrice.generator.FSMtest --> + <extension + point="org.eclipse.ui.ide.markerResolution"> + <markerResolutionGenerator + class="org.eclipse.etrice.generator.ui.FSMtestExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator" + markerType="org.eclipse.etrice.generator.ui.fsmtest.check.fast"> + <attribute + name="FIXABLE_KEY" + value="true"> + </attribute> + </markerResolutionGenerator> + <markerResolutionGenerator + class="org.eclipse.etrice.generator.ui.FSMtestExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator" + markerType="org.eclipse.etrice.generator.ui.fsmtest.check.normal"> + <attribute + name="FIXABLE_KEY" + value="true"> + </attribute> + </markerResolutionGenerator> + <markerResolutionGenerator + class="org.eclipse.etrice.generator.ui.FSMtestExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator" + markerType="org.eclipse.etrice.generator.ui.fsmtest.check.expensive"> + <attribute + name="FIXABLE_KEY" + value="true"> + </attribute> + </markerResolutionGenerator> + </extension> + <!-- Rename Refactoring --> + <extension point="org.eclipse.ui.handlers"> + <handler + class="org.eclipse.etrice.generator.ui.FSMtestExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.IRenameElementHandler" + commandId="org.eclipse.xtext.ui.refactoring.RenameElement"> + <activeWhen> + <reference + definitionId="org.eclipse.etrice.generator.FSMtest.Editor.opened"> + </reference> + </activeWhen> + </handler> + </extension> + <extension point="org.eclipse.ui.menus"> + <menuContribution + locationURI="popup:#TextEditorContext?after=group.edit"> + <command commandId="org.eclipse.xtext.ui.refactoring.RenameElement" + style="push"> + <visibleWhen checkEnabled="false"> + <reference + definitionId="org.eclipse.etrice.generator.FSMtest.Editor.opened"> + </reference> + </visibleWhen> + </command> + </menuContribution> + </extension> + <extension point="org.eclipse.ui.preferencePages"> + <page + category="org.eclipse.etrice.generator.FSMtest" + class="org.eclipse.etrice.generator.ui.FSMtestExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferencePage" + id="org.eclipse.etrice.generator.FSMtest.refactoring" + name="Refactoring"> + <keywordReference id="org.eclipse.etrice.generator.ui.keyword_FSMtest"/> + </page> + </extension> + + <extension point="org.eclipse.compare.contentViewers"> + <viewer id="org.eclipse.etrice.generator.FSMtest.compare.contentViewers" + class="org.eclipse.etrice.generator.ui.FSMtestExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator" + extensions="fsmtest"> + </viewer> + </extension> + <extension point="org.eclipse.compare.contentMergeViewers"> + <viewer id="org.eclipse.etrice.generator.FSMtest.compare.contentMergeViewers" + class="org.eclipse.etrice.generator.ui.FSMtestExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator" + extensions="fsmtest" label="FSMtest Compare"> + </viewer> + </extension> + <extension point="org.eclipse.ui.editors.documentProviders"> + <provider id="org.eclipse.etrice.generator.FSMtest.editors.documentProviders" + class="org.eclipse.etrice.generator.ui.FSMtestExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider" + extensions="fsmtest"> + </provider> + </extension> + +</plugin> diff --git a/plugins/org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/AbstractFSMtestUiModule.java b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/AbstractFSMtestUiModule.java new file mode 100644 index 000000000..3e3f8ce6c --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/AbstractFSMtestUiModule.java @@ -0,0 +1,247 @@ + +/* + * generated by Xtext + */ +package org.eclipse.etrice.generator.ui; + +import org.eclipse.xtext.ui.DefaultUiModule; +import org.eclipse.ui.plugin.AbstractUIPlugin; + +/** + * Manual modifications go to {org.eclipse.etrice.generator.ui.FSMtestUiModule} + */ +@SuppressWarnings("all") +public abstract class AbstractFSMtestUiModule extends DefaultUiModule { + + public AbstractFSMtestUiModule(AbstractUIPlugin plugin) { + super(plugin); + } + + + // contributed by org.eclipse.xtext.ui.generator.ImplicitUiFragment + public com.google.inject.Provider<org.eclipse.xtext.resource.containers.IAllContainersState> provideIAllContainersState() { + return org.eclipse.xtext.ui.shared.Access.getJavaProjectsState(); + } + + // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment + public Class<? extends org.eclipse.xtext.ui.editor.contentassist.IProposalConflictHelper> bindIProposalConflictHelper() { + return org.eclipse.xtext.ui.editor.contentassist.antlr.AntlrProposalConflictHelper.class; + } + + // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment + public void configureHighlightingLexer(com.google.inject.Binder binder) { + binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.HIGHLIGHTING)).to(org.eclipse.etrice.generator.parser.antlr.internal.InternalFSMtestLexer.class); + } + + // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment + public void configureHighlightingTokenDefProvider(com.google.inject.Binder binder) { + binder.bind(org.eclipse.xtext.parser.antlr.ITokenDefProvider.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.HIGHLIGHTING)).to(org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider.class); + } + + // contributed by org.eclipse.xtext.generator.exporting.QualifiedNamesFragment + public Class<? extends org.eclipse.xtext.ui.refactoring.IDependentElementsCalculator> bindIDependentElementsCalculator() { + return org.eclipse.xtext.ui.refactoring.impl.DefaultDependentElementsCalculator.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.builder.clustering.CurrentDescriptions.ResourceSetAware.class); + } + + // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment + public Class<? extends org.eclipse.xtext.ui.editor.IXtextEditorCallback> bindIXtextEditorCallback() { + return org.eclipse.xtext.builder.nature.NatureAddingEditorCallback.class; + } + + // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment + public void configureIResourceDescriptionsPersisted(com.google.inject.Binder binder) { + binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource.PERSISTED_DESCRIPTIONS)).to(org.eclipse.xtext.builder.builderState.IBuilderState.class); + } + + // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment + public Class<? extends org.eclipse.xtext.ui.editor.DocumentBasedDirtyResource> bindDocumentBasedDirtyResource() { + return org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource.class; + } + + // contributed by org.eclipse.xtext.generator.generator.GeneratorFragment + public Class<? extends org.eclipse.xtext.builder.IXtextBuilderParticipant> bindIXtextBuilderParticipant() { + return org.eclipse.xtext.builder.BuilderParticipant.class; + } + + // contributed by org.eclipse.xtext.generator.generator.GeneratorFragment + public org.eclipse.core.resources.IWorkspaceRoot bindIWorkspaceRootToInstance() { + return org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot(); + } + + // contributed by org.eclipse.xtext.generator.generator.GeneratorFragment + public void configureBuilderPreferenceStoreInitializer(com.google.inject.Binder binder) { + binder.bind(org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreInitializer.class).annotatedWith(com.google.inject.name.Names.named("builderPreferenceInitializer")).to(org.eclipse.xtext.builder.preferences.BuilderPreferenceAccess.Initializer.class); + } + + // contributed by org.eclipse.xtext.ui.generator.labeling.LabelProviderFragment + public Class<? extends org.eclipse.jface.viewers.ILabelProvider> bindILabelProvider() { + return org.eclipse.etrice.generator.ui.labeling.FSMtestLabelProvider.class; + } + + // contributed by org.eclipse.xtext.ui.generator.labeling.LabelProviderFragment + public void configureResourceUIServiceLabelProvider(com.google.inject.Binder binder) { + binder.bind(org.eclipse.jface.viewers.ILabelProvider.class).annotatedWith(org.eclipse.xtext.ui.resource.ResourceServiceDescriptionLabelProvider.class).to(org.eclipse.etrice.generator.ui.labeling.FSMtestDescriptionLabelProvider.class); + } + + // contributed by org.eclipse.xtext.ui.generator.outline.OutlineTreeProviderFragment + public Class<? extends org.eclipse.xtext.ui.editor.outline.IOutlineTreeProvider> bindIOutlineTreeProvider() { + return org.eclipse.etrice.generator.ui.outline.FSMtestOutlineTreeProvider.class; + } + + // contributed by org.eclipse.xtext.ui.generator.outline.OutlineTreeProviderFragment + public Class<? extends org.eclipse.xtext.ui.editor.outline.impl.IOutlineTreeStructureProvider> bindIOutlineTreeStructureProvider() { + return org.eclipse.etrice.generator.ui.outline.FSMtestOutlineTreeProvider.class; + } + + // contributed by org.eclipse.xtext.ui.generator.quickfix.QuickfixProviderFragment + public Class<? extends org.eclipse.xtext.ui.editor.quickfix.IssueResolutionProvider> bindIssueResolutionProvider() { + return org.eclipse.etrice.generator.ui.quickfix.FSMtestQuickfixProvider.class; + } + + // contributed by org.eclipse.xtext.ui.generator.contentAssist.JavaBasedContentAssistFragment + public Class<? extends org.eclipse.xtext.ui.editor.contentassist.IContentProposalProvider> bindIContentProposalProvider() { + return org.eclipse.etrice.generator.ui.contentassist.FSMtestProposalProvider.class; + } + + // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment + public Class<? extends org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext.Factory> bindContentAssistContext$Factory() { + return org.eclipse.xtext.ui.editor.contentassist.antlr.ParserBasedContentAssistContextFactory.class; + } + + // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment + public Class<? extends org.eclipse.xtext.ui.editor.contentassist.antlr.IContentAssistParser> bindIContentAssistParser() { + return org.eclipse.etrice.generator.ui.contentassist.antlr.FSMtestParser.class; + } + + // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment + public void configureContentAssistLexerProvider(com.google.inject.Binder binder) { + binder.bind(org.eclipse.etrice.generator.ui.contentassist.antlr.internal.InternalFSMtestLexer.class).toProvider(org.eclipse.xtext.parser.antlr.LexerProvider.create(org.eclipse.etrice.generator.ui.contentassist.antlr.internal.InternalFSMtestLexer.class)); + } + + // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment + public void configureContentAssistLexer(com.google.inject.Binder binder) { + binder.bind(org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.CONTENT_ASSIST)).to(org.eclipse.etrice.generator.ui.contentassist.antlr.internal.InternalFSMtestLexer.class); + } + + // contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment + public Class<? extends org.eclipse.xtext.ui.refactoring.IRenameStrategy> bindIRenameStrategy() { + return org.eclipse.xtext.ui.refactoring.impl.DefaultRenameStrategy.class; + } + + // contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment + public Class<? extends org.eclipse.xtext.ui.refactoring.IReferenceUpdater> bindIReferenceUpdater() { + return org.eclipse.xtext.ui.refactoring.impl.DefaultReferenceUpdater.class; + } + + // contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment + public void configureIPreferenceStoreInitializer(com.google.inject.Binder binder) { + binder.bind(org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreInitializer.class).annotatedWith(com.google.inject.name.Names.named("RefactoringPreferences")).to(org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferences.Initializer.class); + } + + // contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment + public Class<? extends org.eclipse.xtext.ui.refactoring.IRenameRefactoringProvider> bindIRenameRefactoringProvider() { + return org.eclipse.xtext.ui.refactoring.impl.DefaultRenameRefactoringProvider.class; + } + + // contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment + public Class<? extends org.eclipse.xtext.ui.refactoring.ui.IRenameSupport.Factory> bindIRenameSupport$Factory() { + return org.eclipse.xtext.ui.refactoring.ui.DefaultRenameSupport.Factory.class; + } + + // contributed by org.eclipse.xtext.ui.generator.refactoring.RefactorElementNameFragment + public Class<? extends org.eclipse.xtext.ui.refactoring.ui.IRenameElementHandler> bindIRenameElementHandler() { + return org.eclipse.xtext.ui.refactoring.ui.DefaultRenameElementHandler.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 Class<? extends org.eclipse.xtext.common.types.access.IJvmTypeProvider.Factory> bindIJvmTypeProvider$Factory() { + return org.eclipse.xtext.common.types.access.jdt.JdtTypeProviderFactory.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.ui.JdtBasedSimpleTypeScopeProvider.class; + } + + // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment + public Class<? extends org.eclipse.xtext.common.types.xtext.ui.ITypesProposalProvider> bindITypesProposalProvider() { + return org.eclipse.xtext.common.types.xtext.ui.JdtTypesProposalProvider.class; + } + + // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment + public Class<? extends org.eclipse.xtext.common.types.access.jdt.IJavaProjectProvider> bindIJavaProjectProvider() { + return org.eclipse.xtext.common.types.xtext.ui.XtextResourceSetBasedProjectProvider.class; + } + + // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment + public Class<? extends org.eclipse.xtext.ui.editor.hyperlinking.IHyperlinkHelper> bindIHyperlinkHelper() { + return org.eclipse.xtext.common.types.xtext.ui.TypeAwareHyperlinkHelper.class; + } + + // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment + public Class<? extends org.eclipse.xtext.ui.editor.contentassist.PrefixMatcher> bindPrefixMatcher() { + return org.eclipse.xtext.ui.editor.contentassist.FQNPrefixMatcher.class; + } + + // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment + public Class<? extends org.eclipse.xtext.ui.editor.contentassist.AbstractJavaBasedContentProposalProvider.ReferenceProposalCreator> bindAbstractJavaBasedContentProposalProvider$ReferenceProposalCreator() { + return org.eclipse.xtext.common.types.xtext.ui.TypeAwareReferenceProposalCreator.class; + } + + // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment + public Class<? extends org.eclipse.xtext.ui.editor.IValidationJobScheduler> bindIValidationJobScheduler() { + return org.eclipse.xtext.common.types.xtext.ui.JdtValidationJobScheduler.class; + } + + // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment + public Class<? extends org.eclipse.xtext.ui.refactoring.impl.RefactoringResourceSetProvider> bindRefactoringResourceSetProvider() { + return org.eclipse.xtext.common.types.ui.refactoring.JvmRefactoringResourceSetProvider.class; + } + + // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment + public Class<? extends org.eclipse.xtext.common.types.ui.query.IJavaSearchParticipation> bindIJavaSearchParticipation() { + return org.eclipse.xtext.common.types.ui.query.IJavaSearchParticipation.Yes.class; + } + + // contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment + public com.google.inject.Provider<org.eclipse.xtext.ui.codetemplates.ui.preferences.TemplatesLanguageConfiguration> provideTemplatesLanguageConfiguration() { + return org.eclipse.xtext.ui.codetemplates.ui.AccessibleCodetemplatesActivator.getTemplatesLanguageConfigurationProvider(); + } + + // contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment + public com.google.inject.Provider<org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistry> provideLanguageRegistry() { + return org.eclipse.xtext.ui.codetemplates.ui.AccessibleCodetemplatesActivator.getLanguageRegistry(); + } + + // contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment + @org.eclipse.xtext.service.SingletonBinding(eager=true) public Class<? extends org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistrar> bindLanguageRegistrar() { + return org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistrar.class; + } + + // contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment + public Class<? extends org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage> bindXtextTemplatePreferencePage() { + return org.eclipse.xtext.ui.codetemplates.ui.preferences.AdvancedTemplatesPreferencePage.class; + } + + // contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment + public Class<? extends org.eclipse.xtext.ui.codetemplates.ui.partialEditing.IPartialContentAssistParser> bindIPartialContentAssistParser() { + return org.eclipse.etrice.generator.ui.contentassist.antlr.PartialFSMtestContentAssistParser.class; + } + + // contributed by org.eclipse.xtext.ui.generator.compare.CompareFragment + public Class<? extends org.eclipse.compare.IViewerCreator> bindIViewerCreator() { + return org.eclipse.xtext.ui.compare.DefaultViewerCreator.class; + } + + +} diff --git a/plugins/org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/FSMtestExecutableExtensionFactory.java b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/FSMtestExecutableExtensionFactory.java new file mode 100644 index 000000000..885eb5662 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/FSMtestExecutableExtensionFactory.java @@ -0,0 +1,29 @@ +/* + * generated by Xtext + */ +package org.eclipse.etrice.generator.ui; + +import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory; +import org.osgi.framework.Bundle; + +import com.google.inject.Injector; + +import org.eclipse.etrice.generator.ui.internal.FSMtestActivator; + +/** + * This class was generated. Customizations should only happen in a newly + * introduced subclass. + */ +public class FSMtestExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory { + + @Override + protected Bundle getBundle() { + return FSMtestActivator.getInstance().getBundle(); + } + + @Override + protected Injector getInjector() { + return FSMtestActivator.getInstance().getInjector(FSMtestActivator.ORG_ECLIPSE_ETRICE_GENERATOR_FSMTEST); + } + +} diff --git a/plugins/org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/AbstractFSMtestProposalProvider.java b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/AbstractFSMtestProposalProvider.java new file mode 100644 index 000000000..6474b2b0e --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/AbstractFSMtestProposalProvider.java @@ -0,0 +1,120 @@ +/* +* generated by Xtext +*/ +package org.eclipse.etrice.generator.ui.contentassist; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.xtext.*; +import org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider; +import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor; +import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext; + +/** + * Represents a generated, default implementation of interface {@link IProposalProvider}. + * Methods are dynamically dispatched on the first parameter, i.e., you can override them + * with a more concrete subtype. + */ +@SuppressWarnings("all") +public class AbstractFSMtestProposalProvider extends TerminalsProposalProvider { + + public void completeModel_Testscripts(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeTestscript_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeTestscript_StateDeclaration(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeTestscript_InitialDeclaration(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeTestscript_LoopsDeclaration(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeTestscript_SeedDeclaration(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeTestscript_TransitionDeclarations(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeState_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeStateDeclaration_States(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeInitialDeclaration_Initial(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeLoopsDeclaration_Val(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeSeedDeclaration_Val(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeSignalDeclaration_Port(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeSignalDeclaration_Signame(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeSignalDeclaration_IntVal(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeSignalDeclaration_StrVal(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeSourceDeclaration_Ref(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeDestinationDeclaration_Ref(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeTransitionDeclaration_Source(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeTransitionDeclaration_In(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeTransitionDeclaration_Out(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeTransitionDeclaration_Destination(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + + public void complete_Model(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_Testscript(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_State(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_StateDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_InitialDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_LoopsDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_SeedDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_SignalDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_SourceDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_DestinationDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_TransitionDeclaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } +} diff --git a/plugins/org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/FSMtestParser.java b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/FSMtestParser.java new file mode 100644 index 000000000..a937f50f9 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/FSMtestParser.java @@ -0,0 +1,106 @@ +/* +* generated by Xtext +*/ +package org.eclipse.etrice.generator.ui.contentassist.antlr; + +import java.util.Collection; +import java.util.Map; +import java.util.HashMap; + +import org.antlr.runtime.RecognitionException; +import org.eclipse.xtext.AbstractElement; +import org.eclipse.xtext.ui.editor.contentassist.antlr.AbstractContentAssistParser; +import org.eclipse.xtext.ui.editor.contentassist.antlr.FollowElement; +import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser; + +import com.google.inject.Inject; + +import org.eclipse.etrice.generator.services.FSMtestGrammarAccess; + +public class FSMtestParser extends AbstractContentAssistParser { + + @Inject + private FSMtestGrammarAccess grammarAccess; + + private Map<AbstractElement, String> nameMappings; + + @Override + protected org.eclipse.etrice.generator.ui.contentassist.antlr.internal.InternalFSMtestParser createParser() { + org.eclipse.etrice.generator.ui.contentassist.antlr.internal.InternalFSMtestParser result = new org.eclipse.etrice.generator.ui.contentassist.antlr.internal.InternalFSMtestParser(null); + result.setGrammarAccess(grammarAccess); + return result; + } + + @Override + protected String getRuleName(AbstractElement element) { + if (nameMappings == null) { + nameMappings = new HashMap<AbstractElement, String>() { + private static final long serialVersionUID = 1L; + { + put(grammarAccess.getSignalDeclarationAccess().getAlternatives_2(), "rule__SignalDeclaration__Alternatives_2"); + put(grammarAccess.getTestscriptAccess().getGroup(), "rule__Testscript__Group__0"); + put(grammarAccess.getStateDeclarationAccess().getGroup(), "rule__StateDeclaration__Group__0"); + put(grammarAccess.getStateDeclarationAccess().getGroup_2(), "rule__StateDeclaration__Group_2__0"); + put(grammarAccess.getInitialDeclarationAccess().getGroup(), "rule__InitialDeclaration__Group__0"); + put(grammarAccess.getLoopsDeclarationAccess().getGroup(), "rule__LoopsDeclaration__Group__0"); + put(grammarAccess.getSeedDeclarationAccess().getGroup(), "rule__SeedDeclaration__Group__0"); + put(grammarAccess.getSignalDeclarationAccess().getGroup(), "rule__SignalDeclaration__Group__0"); + put(grammarAccess.getSignalDeclarationAccess().getGroup_0(), "rule__SignalDeclaration__Group_0__0"); + put(grammarAccess.getSignalDeclarationAccess().getGroup_2_0(), "rule__SignalDeclaration__Group_2_0__0"); + put(grammarAccess.getSignalDeclarationAccess().getGroup_2_1(), "rule__SignalDeclaration__Group_2_1__0"); + put(grammarAccess.getSourceDeclarationAccess().getGroup(), "rule__SourceDeclaration__Group__0"); + put(grammarAccess.getDestinationDeclarationAccess().getGroup(), "rule__DestinationDeclaration__Group__0"); + put(grammarAccess.getTransitionDeclarationAccess().getGroup(), "rule__TransitionDeclaration__Group__0"); + put(grammarAccess.getModelAccess().getTestscriptsAssignment(), "rule__Model__TestscriptsAssignment"); + put(grammarAccess.getTestscriptAccess().getNameAssignment_1(), "rule__Testscript__NameAssignment_1"); + put(grammarAccess.getTestscriptAccess().getStateDeclarationAssignment_2(), "rule__Testscript__StateDeclarationAssignment_2"); + put(grammarAccess.getTestscriptAccess().getInitialDeclarationAssignment_3(), "rule__Testscript__InitialDeclarationAssignment_3"); + put(grammarAccess.getTestscriptAccess().getLoopsDeclarationAssignment_4(), "rule__Testscript__LoopsDeclarationAssignment_4"); + put(grammarAccess.getTestscriptAccess().getSeedDeclarationAssignment_5(), "rule__Testscript__SeedDeclarationAssignment_5"); + put(grammarAccess.getTestscriptAccess().getTransitionDeclarationsAssignment_6(), "rule__Testscript__TransitionDeclarationsAssignment_6"); + put(grammarAccess.getStateAccess().getNameAssignment(), "rule__State__NameAssignment"); + put(grammarAccess.getStateDeclarationAccess().getStatesAssignment_1(), "rule__StateDeclaration__StatesAssignment_1"); + put(grammarAccess.getStateDeclarationAccess().getStatesAssignment_2_1(), "rule__StateDeclaration__StatesAssignment_2_1"); + put(grammarAccess.getInitialDeclarationAccess().getInitialAssignment_1(), "rule__InitialDeclaration__InitialAssignment_1"); + put(grammarAccess.getLoopsDeclarationAccess().getValAssignment_1(), "rule__LoopsDeclaration__ValAssignment_1"); + put(grammarAccess.getSeedDeclarationAccess().getValAssignment_1(), "rule__SeedDeclaration__ValAssignment_1"); + put(grammarAccess.getSignalDeclarationAccess().getPortAssignment_0_0(), "rule__SignalDeclaration__PortAssignment_0_0"); + put(grammarAccess.getSignalDeclarationAccess().getSignameAssignment_1(), "rule__SignalDeclaration__SignameAssignment_1"); + put(grammarAccess.getSignalDeclarationAccess().getIntValAssignment_2_0_1(), "rule__SignalDeclaration__IntValAssignment_2_0_1"); + put(grammarAccess.getSignalDeclarationAccess().getStrValAssignment_2_1_1(), "rule__SignalDeclaration__StrValAssignment_2_1_1"); + put(grammarAccess.getSourceDeclarationAccess().getRefAssignment_0(), "rule__SourceDeclaration__RefAssignment_0"); + put(grammarAccess.getDestinationDeclarationAccess().getRefAssignment_1(), "rule__DestinationDeclaration__RefAssignment_1"); + put(grammarAccess.getTransitionDeclarationAccess().getSourceAssignment_0(), "rule__TransitionDeclaration__SourceAssignment_0"); + put(grammarAccess.getTransitionDeclarationAccess().getInAssignment_2(), "rule__TransitionDeclaration__InAssignment_2"); + put(grammarAccess.getTransitionDeclarationAccess().getOutAssignment_4(), "rule__TransitionDeclaration__OutAssignment_4"); + put(grammarAccess.getTransitionDeclarationAccess().getDestinationAssignment_5(), "rule__TransitionDeclaration__DestinationAssignment_5"); + } + }; + } + return nameMappings.get(element); + } + + @Override + protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) { + try { + org.eclipse.etrice.generator.ui.contentassist.antlr.internal.InternalFSMtestParser typedParser = (org.eclipse.etrice.generator.ui.contentassist.antlr.internal.InternalFSMtestParser) parser; + typedParser.entryRuleModel(); + return typedParser.getFollowElements(); + } catch(RecognitionException ex) { + throw new RuntimeException(ex); + } + } + + @Override + protected String[] getInitialHiddenTokens() { + return new String[] { "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT" }; + } + + public FSMtestGrammarAccess getGrammarAccess() { + return this.grammarAccess; + } + + public void setGrammarAccess(FSMtestGrammarAccess grammarAccess) { + this.grammarAccess = grammarAccess; + } +} diff --git a/plugins/org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/PartialFSMtestContentAssistParser.java b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/PartialFSMtestContentAssistParser.java new file mode 100644 index 000000000..afea5d497 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/PartialFSMtestContentAssistParser.java @@ -0,0 +1,37 @@ +/* + * generated by Xtext + */ +package org.eclipse.etrice.generator.ui.contentassist.antlr; + +import java.util.Collection; +import java.util.Collections; + +import org.eclipse.xtext.AbstractRule; +import org.eclipse.xtext.ui.codetemplates.ui.partialEditing.IPartialContentAssistParser; +import org.eclipse.xtext.ui.editor.contentassist.antlr.FollowElement; +import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser; +import org.eclipse.xtext.util.PolymorphicDispatcher; + +/** + * @author Sebastian Zarnekow - Initial contribution and API + */ +public class PartialFSMtestContentAssistParser extends FSMtestParser implements IPartialContentAssistParser { + + private AbstractRule rule; + + public void initializeFor(AbstractRule rule) { + this.rule = rule; + } + + @Override + protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) { + if (rule == null || rule.eIsProxy()) + return Collections.emptyList(); + String methodName = "entryRule" + rule.getName(); + PolymorphicDispatcher<Collection<FollowElement>> dispatcher = + new PolymorphicDispatcher<Collection<FollowElement>>(methodName, 0, 0, Collections.singletonList(parser)); + dispatcher.invoke(); + return parser.getFollowElements(); + } + +} diff --git a/plugins/org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g new file mode 100644 index 000000000..403766b45 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g @@ -0,0 +1,1958 @@ +/* +* generated by Xtext +*/ +grammar InternalFSMtest; + +options { + superClass=AbstractInternalContentAssistParser; + +} + +@lexer::header { +package org.eclipse.etrice.generator.ui.contentassist.antlr.internal; + +// Hack: Use our own Lexer superclass by means of import. +// Currently there is no other way to specify the superclass for the lexer. +import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer; +} + +@parser::header { +package org.eclipse.etrice.generator.ui.contentassist.antlr.internal; + +import java.io.InputStream; +import org.eclipse.xtext.*; +import org.eclipse.xtext.parser.*; +import org.eclipse.xtext.parser.impl.*; +import org.eclipse.emf.ecore.util.EcoreUtil; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; +import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser; +import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA; +import org.eclipse.etrice.generator.services.FSMtestGrammarAccess; + +} + +@parser::members { + + private FSMtestGrammarAccess grammarAccess; + + public void setGrammarAccess(FSMtestGrammarAccess grammarAccess) { + this.grammarAccess = grammarAccess; + } + + @Override + protected Grammar getGrammar() { + return grammarAccess.getGrammar(); + } + + @Override + protected String getValueForTokenName(String tokenName) { + return tokenName; + } + +} + + + + +// Entry rule entryRuleModel +entryRuleModel +: +{ before(grammarAccess.getModelRule()); } + ruleModel +{ after(grammarAccess.getModelRule()); } + EOF +; + +// Rule Model +ruleModel + @init { + int stackSize = keepStackSize(); + } + : +( +{ before(grammarAccess.getModelAccess().getTestscriptsAssignment()); } +(rule__Model__TestscriptsAssignment)* +{ after(grammarAccess.getModelAccess().getTestscriptsAssignment()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + +// Entry rule entryRuleTestscript +entryRuleTestscript +: +{ before(grammarAccess.getTestscriptRule()); } + ruleTestscript +{ after(grammarAccess.getTestscriptRule()); } + EOF +; + +// Rule Testscript +ruleTestscript + @init { + int stackSize = keepStackSize(); + } + : +( +{ before(grammarAccess.getTestscriptAccess().getGroup()); } +(rule__Testscript__Group__0) +{ after(grammarAccess.getTestscriptAccess().getGroup()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + +// Entry rule entryRuleState +entryRuleState +: +{ before(grammarAccess.getStateRule()); } + ruleState +{ after(grammarAccess.getStateRule()); } + EOF +; + +// Rule State +ruleState + @init { + int stackSize = keepStackSize(); + } + : +( +{ before(grammarAccess.getStateAccess().getNameAssignment()); } +(rule__State__NameAssignment) +{ after(grammarAccess.getStateAccess().getNameAssignment()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + +// Entry rule entryRuleStateDeclaration +entryRuleStateDeclaration +: +{ before(grammarAccess.getStateDeclarationRule()); } + ruleStateDeclaration +{ after(grammarAccess.getStateDeclarationRule()); } + EOF +; + +// Rule StateDeclaration +ruleStateDeclaration + @init { + int stackSize = keepStackSize(); + } + : +( +{ before(grammarAccess.getStateDeclarationAccess().getGroup()); } +(rule__StateDeclaration__Group__0) +{ after(grammarAccess.getStateDeclarationAccess().getGroup()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + +// Entry rule entryRuleInitialDeclaration +entryRuleInitialDeclaration +: +{ before(grammarAccess.getInitialDeclarationRule()); } + ruleInitialDeclaration +{ after(grammarAccess.getInitialDeclarationRule()); } + EOF +; + +// Rule InitialDeclaration +ruleInitialDeclaration + @init { + int stackSize = keepStackSize(); + } + : +( +{ before(grammarAccess.getInitialDeclarationAccess().getGroup()); } +(rule__InitialDeclaration__Group__0) +{ after(grammarAccess.getInitialDeclarationAccess().getGroup()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + +// Entry rule entryRuleLoopsDeclaration +entryRuleLoopsDeclaration +: +{ before(grammarAccess.getLoopsDeclarationRule()); } + ruleLoopsDeclaration +{ after(grammarAccess.getLoopsDeclarationRule()); } + EOF +; + +// Rule LoopsDeclaration +ruleLoopsDeclaration + @init { + int stackSize = keepStackSize(); + } + : +( +{ before(grammarAccess.getLoopsDeclarationAccess().getGroup()); } +(rule__LoopsDeclaration__Group__0) +{ after(grammarAccess.getLoopsDeclarationAccess().getGroup()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + +// Entry rule entryRuleSeedDeclaration +entryRuleSeedDeclaration +: +{ before(grammarAccess.getSeedDeclarationRule()); } + ruleSeedDeclaration +{ after(grammarAccess.getSeedDeclarationRule()); } + EOF +; + +// Rule SeedDeclaration +ruleSeedDeclaration + @init { + int stackSize = keepStackSize(); + } + : +( +{ before(grammarAccess.getSeedDeclarationAccess().getGroup()); } +(rule__SeedDeclaration__Group__0) +{ after(grammarAccess.getSeedDeclarationAccess().getGroup()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + +// Entry rule entryRuleSignalDeclaration +entryRuleSignalDeclaration +: +{ before(grammarAccess.getSignalDeclarationRule()); } + ruleSignalDeclaration +{ after(grammarAccess.getSignalDeclarationRule()); } + EOF +; + +// Rule SignalDeclaration +ruleSignalDeclaration + @init { + int stackSize = keepStackSize(); + } + : +( +{ before(grammarAccess.getSignalDeclarationAccess().getGroup()); } +(rule__SignalDeclaration__Group__0) +{ after(grammarAccess.getSignalDeclarationAccess().getGroup()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + +// Entry rule entryRuleSourceDeclaration +entryRuleSourceDeclaration +: +{ before(grammarAccess.getSourceDeclarationRule()); } + ruleSourceDeclaration +{ after(grammarAccess.getSourceDeclarationRule()); } + EOF +; + +// Rule SourceDeclaration +ruleSourceDeclaration + @init { + int stackSize = keepStackSize(); + } + : +( +{ before(grammarAccess.getSourceDeclarationAccess().getGroup()); } +(rule__SourceDeclaration__Group__0) +{ after(grammarAccess.getSourceDeclarationAccess().getGroup()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + +// Entry rule entryRuleDestinationDeclaration +entryRuleDestinationDeclaration +: +{ before(grammarAccess.getDestinationDeclarationRule()); } + ruleDestinationDeclaration +{ after(grammarAccess.getDestinationDeclarationRule()); } + EOF +; + +// Rule DestinationDeclaration +ruleDestinationDeclaration + @init { + int stackSize = keepStackSize(); + } + : +( +{ before(grammarAccess.getDestinationDeclarationAccess().getGroup()); } +(rule__DestinationDeclaration__Group__0) +{ after(grammarAccess.getDestinationDeclarationAccess().getGroup()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + +// Entry rule entryRuleTransitionDeclaration +entryRuleTransitionDeclaration +: +{ before(grammarAccess.getTransitionDeclarationRule()); } + ruleTransitionDeclaration +{ after(grammarAccess.getTransitionDeclarationRule()); } + EOF +; + +// Rule TransitionDeclaration +ruleTransitionDeclaration + @init { + int stackSize = keepStackSize(); + } + : +( +{ before(grammarAccess.getTransitionDeclarationAccess().getGroup()); } +(rule__TransitionDeclaration__Group__0) +{ after(grammarAccess.getTransitionDeclarationAccess().getGroup()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + + +rule__SignalDeclaration__Alternatives_2 + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getSignalDeclarationAccess().getGroup_2_0()); } +(rule__SignalDeclaration__Group_2_0__0) +{ after(grammarAccess.getSignalDeclarationAccess().getGroup_2_0()); } +) + + |( +{ before(grammarAccess.getSignalDeclarationAccess().getGroup_2_1()); } +(rule__SignalDeclaration__Group_2_1__0) +{ after(grammarAccess.getSignalDeclarationAccess().getGroup_2_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + +rule__Testscript__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__Testscript__Group__0__Impl + rule__Testscript__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__Testscript__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getTestscriptAccess().getFsmtestKeyword_0()); } + + 'fsmtest' + +{ after(grammarAccess.getTestscriptAccess().getFsmtestKeyword_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__Testscript__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__Testscript__Group__1__Impl + rule__Testscript__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__Testscript__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getTestscriptAccess().getNameAssignment_1()); } +(rule__Testscript__NameAssignment_1) +{ after(grammarAccess.getTestscriptAccess().getNameAssignment_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__Testscript__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__Testscript__Group__2__Impl + rule__Testscript__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__Testscript__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getTestscriptAccess().getStateDeclarationAssignment_2()); } +(rule__Testscript__StateDeclarationAssignment_2) +{ after(grammarAccess.getTestscriptAccess().getStateDeclarationAssignment_2()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__Testscript__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__Testscript__Group__3__Impl + rule__Testscript__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__Testscript__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getTestscriptAccess().getInitialDeclarationAssignment_3()); } +(rule__Testscript__InitialDeclarationAssignment_3) +{ after(grammarAccess.getTestscriptAccess().getInitialDeclarationAssignment_3()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__Testscript__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__Testscript__Group__4__Impl + rule__Testscript__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__Testscript__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getTestscriptAccess().getLoopsDeclarationAssignment_4()); } +(rule__Testscript__LoopsDeclarationAssignment_4) +{ after(grammarAccess.getTestscriptAccess().getLoopsDeclarationAssignment_4()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__Testscript__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__Testscript__Group__5__Impl + rule__Testscript__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__Testscript__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getTestscriptAccess().getSeedDeclarationAssignment_5()); } +(rule__Testscript__SeedDeclarationAssignment_5)? +{ after(grammarAccess.getTestscriptAccess().getSeedDeclarationAssignment_5()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__Testscript__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__Testscript__Group__6__Impl + rule__Testscript__Group__7 +; +finally { + restoreStackSize(stackSize); +} + +rule__Testscript__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getTestscriptAccess().getTransitionDeclarationsAssignment_6()); } +(rule__Testscript__TransitionDeclarationsAssignment_6)* +{ after(grammarAccess.getTestscriptAccess().getTransitionDeclarationsAssignment_6()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__Testscript__Group__7 + @init { + int stackSize = keepStackSize(); + } +: + rule__Testscript__Group__7__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__Testscript__Group__7__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getTestscriptAccess().getSemicolonKeyword_7()); } + + ';' + +{ after(grammarAccess.getTestscriptAccess().getSemicolonKeyword_7()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + + + + + + + + + + + + + + + + +rule__StateDeclaration__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__StateDeclaration__Group__0__Impl + rule__StateDeclaration__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__StateDeclaration__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getStateDeclarationAccess().getStatesKeyword_0()); } + + 'states:' + +{ after(grammarAccess.getStateDeclarationAccess().getStatesKeyword_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__StateDeclaration__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__StateDeclaration__Group__1__Impl + rule__StateDeclaration__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__StateDeclaration__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getStateDeclarationAccess().getStatesAssignment_1()); } +(rule__StateDeclaration__StatesAssignment_1) +{ after(grammarAccess.getStateDeclarationAccess().getStatesAssignment_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__StateDeclaration__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__StateDeclaration__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__StateDeclaration__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getStateDeclarationAccess().getGroup_2()); } +(rule__StateDeclaration__Group_2__0)* +{ after(grammarAccess.getStateDeclarationAccess().getGroup_2()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + + + + + + +rule__StateDeclaration__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__StateDeclaration__Group_2__0__Impl + rule__StateDeclaration__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__StateDeclaration__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getStateDeclarationAccess().getCommaKeyword_2_0()); } + + ',' + +{ after(grammarAccess.getStateDeclarationAccess().getCommaKeyword_2_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__StateDeclaration__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__StateDeclaration__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__StateDeclaration__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getStateDeclarationAccess().getStatesAssignment_2_1()); } +(rule__StateDeclaration__StatesAssignment_2_1) +{ after(grammarAccess.getStateDeclarationAccess().getStatesAssignment_2_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + + + + +rule__InitialDeclaration__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InitialDeclaration__Group__0__Impl + rule__InitialDeclaration__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InitialDeclaration__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getInitialDeclarationAccess().getInitialKeyword_0()); } + + 'initial:' + +{ after(grammarAccess.getInitialDeclarationAccess().getInitialKeyword_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__InitialDeclaration__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InitialDeclaration__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InitialDeclaration__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getInitialDeclarationAccess().getInitialAssignment_1()); } +(rule__InitialDeclaration__InitialAssignment_1) +{ after(grammarAccess.getInitialDeclarationAccess().getInitialAssignment_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + + + + +rule__LoopsDeclaration__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__LoopsDeclaration__Group__0__Impl + rule__LoopsDeclaration__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__LoopsDeclaration__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getLoopsDeclarationAccess().getLoopsKeyword_0()); } + + 'loops:' + +{ after(grammarAccess.getLoopsDeclarationAccess().getLoopsKeyword_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__LoopsDeclaration__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__LoopsDeclaration__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__LoopsDeclaration__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getLoopsDeclarationAccess().getValAssignment_1()); } +(rule__LoopsDeclaration__ValAssignment_1) +{ after(grammarAccess.getLoopsDeclarationAccess().getValAssignment_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + + + + +rule__SeedDeclaration__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SeedDeclaration__Group__0__Impl + rule__SeedDeclaration__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SeedDeclaration__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getSeedDeclarationAccess().getRandseedKeyword_0()); } + + 'randseed:' + +{ after(grammarAccess.getSeedDeclarationAccess().getRandseedKeyword_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__SeedDeclaration__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SeedDeclaration__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SeedDeclaration__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getSeedDeclarationAccess().getValAssignment_1()); } +(rule__SeedDeclaration__ValAssignment_1) +{ after(grammarAccess.getSeedDeclarationAccess().getValAssignment_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + + + + +rule__SignalDeclaration__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SignalDeclaration__Group__0__Impl + rule__SignalDeclaration__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SignalDeclaration__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getSignalDeclarationAccess().getGroup_0()); } +(rule__SignalDeclaration__Group_0__0)? +{ after(grammarAccess.getSignalDeclarationAccess().getGroup_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__SignalDeclaration__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SignalDeclaration__Group__1__Impl + rule__SignalDeclaration__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__SignalDeclaration__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getSignalDeclarationAccess().getSignameAssignment_1()); } +(rule__SignalDeclaration__SignameAssignment_1) +{ after(grammarAccess.getSignalDeclarationAccess().getSignameAssignment_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__SignalDeclaration__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__SignalDeclaration__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SignalDeclaration__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getSignalDeclarationAccess().getAlternatives_2()); } +(rule__SignalDeclaration__Alternatives_2)? +{ after(grammarAccess.getSignalDeclarationAccess().getAlternatives_2()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + + + + + + +rule__SignalDeclaration__Group_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SignalDeclaration__Group_0__0__Impl + rule__SignalDeclaration__Group_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SignalDeclaration__Group_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getSignalDeclarationAccess().getPortAssignment_0_0()); } +(rule__SignalDeclaration__PortAssignment_0_0) +{ after(grammarAccess.getSignalDeclarationAccess().getPortAssignment_0_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__SignalDeclaration__Group_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SignalDeclaration__Group_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SignalDeclaration__Group_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getSignalDeclarationAccess().getFullStopKeyword_0_1()); } + + '.' + +{ after(grammarAccess.getSignalDeclarationAccess().getFullStopKeyword_0_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + + + + +rule__SignalDeclaration__Group_2_0__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SignalDeclaration__Group_2_0__0__Impl + rule__SignalDeclaration__Group_2_0__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SignalDeclaration__Group_2_0__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getSignalDeclarationAccess().getEqualsSignKeyword_2_0_0()); } + + '=' + +{ after(grammarAccess.getSignalDeclarationAccess().getEqualsSignKeyword_2_0_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__SignalDeclaration__Group_2_0__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SignalDeclaration__Group_2_0__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SignalDeclaration__Group_2_0__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getSignalDeclarationAccess().getIntValAssignment_2_0_1()); } +(rule__SignalDeclaration__IntValAssignment_2_0_1) +{ after(grammarAccess.getSignalDeclarationAccess().getIntValAssignment_2_0_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + + + + +rule__SignalDeclaration__Group_2_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SignalDeclaration__Group_2_1__0__Impl + rule__SignalDeclaration__Group_2_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SignalDeclaration__Group_2_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getSignalDeclarationAccess().getEqualsSignKeyword_2_1_0()); } + + '=' + +{ after(grammarAccess.getSignalDeclarationAccess().getEqualsSignKeyword_2_1_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__SignalDeclaration__Group_2_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SignalDeclaration__Group_2_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SignalDeclaration__Group_2_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getSignalDeclarationAccess().getStrValAssignment_2_1_1()); } +(rule__SignalDeclaration__StrValAssignment_2_1_1) +{ after(grammarAccess.getSignalDeclarationAccess().getStrValAssignment_2_1_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + + + + +rule__SourceDeclaration__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__SourceDeclaration__Group__0__Impl + rule__SourceDeclaration__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__SourceDeclaration__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getSourceDeclarationAccess().getRefAssignment_0()); } +(rule__SourceDeclaration__RefAssignment_0) +{ after(grammarAccess.getSourceDeclarationAccess().getRefAssignment_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__SourceDeclaration__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__SourceDeclaration__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__SourceDeclaration__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getSourceDeclarationAccess().getColonKeyword_1()); } + + ':' + +{ after(grammarAccess.getSourceDeclarationAccess().getColonKeyword_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + + + + +rule__DestinationDeclaration__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__DestinationDeclaration__Group__0__Impl + rule__DestinationDeclaration__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__DestinationDeclaration__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getDestinationDeclarationAccess().getHyphenMinusGreaterThanSignSpaceKeyword_0()); } + + '-> ' + +{ after(grammarAccess.getDestinationDeclarationAccess().getHyphenMinusGreaterThanSignSpaceKeyword_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__DestinationDeclaration__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__DestinationDeclaration__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__DestinationDeclaration__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getDestinationDeclarationAccess().getRefAssignment_1()); } +(rule__DestinationDeclaration__RefAssignment_1) +{ after(grammarAccess.getDestinationDeclarationAccess().getRefAssignment_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + + + + +rule__TransitionDeclaration__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__TransitionDeclaration__Group__0__Impl + rule__TransitionDeclaration__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__TransitionDeclaration__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getTransitionDeclarationAccess().getSourceAssignment_0()); } +(rule__TransitionDeclaration__SourceAssignment_0) +{ after(grammarAccess.getTransitionDeclarationAccess().getSourceAssignment_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__TransitionDeclaration__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__TransitionDeclaration__Group__1__Impl + rule__TransitionDeclaration__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__TransitionDeclaration__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getTransitionDeclarationAccess().getInKeyword_1()); } + + 'in:' + +{ after(grammarAccess.getTransitionDeclarationAccess().getInKeyword_1()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__TransitionDeclaration__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__TransitionDeclaration__Group__2__Impl + rule__TransitionDeclaration__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__TransitionDeclaration__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getTransitionDeclarationAccess().getInAssignment_2()); } +(rule__TransitionDeclaration__InAssignment_2)* +{ after(grammarAccess.getTransitionDeclarationAccess().getInAssignment_2()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__TransitionDeclaration__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__TransitionDeclaration__Group__3__Impl + rule__TransitionDeclaration__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__TransitionDeclaration__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getTransitionDeclarationAccess().getOutKeyword_3()); } + + 'out:' + +{ after(grammarAccess.getTransitionDeclarationAccess().getOutKeyword_3()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__TransitionDeclaration__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__TransitionDeclaration__Group__4__Impl + rule__TransitionDeclaration__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__TransitionDeclaration__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getTransitionDeclarationAccess().getOutAssignment_4()); } +(rule__TransitionDeclaration__OutAssignment_4)* +{ after(grammarAccess.getTransitionDeclarationAccess().getOutAssignment_4()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +rule__TransitionDeclaration__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__TransitionDeclaration__Group__5__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__TransitionDeclaration__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getTransitionDeclarationAccess().getDestinationAssignment_5()); } +(rule__TransitionDeclaration__DestinationAssignment_5) +{ after(grammarAccess.getTransitionDeclarationAccess().getDestinationAssignment_5()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + + + + + + + + + + + + + + +rule__Model__TestscriptsAssignment + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getModelAccess().getTestscriptsTestscriptParserRuleCall_0()); } + ruleTestscript{ after(grammarAccess.getModelAccess().getTestscriptsTestscriptParserRuleCall_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + +rule__Testscript__NameAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getTestscriptAccess().getNameIDTerminalRuleCall_1_0()); } + RULE_ID{ after(grammarAccess.getTestscriptAccess().getNameIDTerminalRuleCall_1_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + +rule__Testscript__StateDeclarationAssignment_2 + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getTestscriptAccess().getStateDeclarationStateDeclarationParserRuleCall_2_0()); } + ruleStateDeclaration{ after(grammarAccess.getTestscriptAccess().getStateDeclarationStateDeclarationParserRuleCall_2_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + +rule__Testscript__InitialDeclarationAssignment_3 + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getTestscriptAccess().getInitialDeclarationInitialDeclarationParserRuleCall_3_0()); } + ruleInitialDeclaration{ after(grammarAccess.getTestscriptAccess().getInitialDeclarationInitialDeclarationParserRuleCall_3_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + +rule__Testscript__LoopsDeclarationAssignment_4 + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getTestscriptAccess().getLoopsDeclarationLoopsDeclarationParserRuleCall_4_0()); } + ruleLoopsDeclaration{ after(grammarAccess.getTestscriptAccess().getLoopsDeclarationLoopsDeclarationParserRuleCall_4_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + +rule__Testscript__SeedDeclarationAssignment_5 + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getTestscriptAccess().getSeedDeclarationSeedDeclarationParserRuleCall_5_0()); } + ruleSeedDeclaration{ after(grammarAccess.getTestscriptAccess().getSeedDeclarationSeedDeclarationParserRuleCall_5_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + +rule__Testscript__TransitionDeclarationsAssignment_6 + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getTestscriptAccess().getTransitionDeclarationsTransitionDeclarationParserRuleCall_6_0()); } + ruleTransitionDeclaration{ after(grammarAccess.getTestscriptAccess().getTransitionDeclarationsTransitionDeclarationParserRuleCall_6_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + +rule__State__NameAssignment + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getStateAccess().getNameIDTerminalRuleCall_0()); } + RULE_ID{ after(grammarAccess.getStateAccess().getNameIDTerminalRuleCall_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + +rule__StateDeclaration__StatesAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getStateDeclarationAccess().getStatesStateParserRuleCall_1_0()); } + ruleState{ after(grammarAccess.getStateDeclarationAccess().getStatesStateParserRuleCall_1_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + +rule__StateDeclaration__StatesAssignment_2_1 + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getStateDeclarationAccess().getStatesStateParserRuleCall_2_1_0()); } + ruleState{ after(grammarAccess.getStateDeclarationAccess().getStatesStateParserRuleCall_2_1_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + +rule__InitialDeclaration__InitialAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getInitialDeclarationAccess().getInitialStateCrossReference_1_0()); } +( +{ before(grammarAccess.getInitialDeclarationAccess().getInitialStateIDTerminalRuleCall_1_0_1()); } + RULE_ID{ after(grammarAccess.getInitialDeclarationAccess().getInitialStateIDTerminalRuleCall_1_0_1()); } +) +{ after(grammarAccess.getInitialDeclarationAccess().getInitialStateCrossReference_1_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + +rule__LoopsDeclaration__ValAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getLoopsDeclarationAccess().getValINTTerminalRuleCall_1_0()); } + RULE_INT{ after(grammarAccess.getLoopsDeclarationAccess().getValINTTerminalRuleCall_1_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + +rule__SeedDeclaration__ValAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getSeedDeclarationAccess().getValINTTerminalRuleCall_1_0()); } + RULE_INT{ after(grammarAccess.getSeedDeclarationAccess().getValINTTerminalRuleCall_1_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + +rule__SignalDeclaration__PortAssignment_0_0 + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getSignalDeclarationAccess().getPortIDTerminalRuleCall_0_0_0()); } + RULE_ID{ after(grammarAccess.getSignalDeclarationAccess().getPortIDTerminalRuleCall_0_0_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + +rule__SignalDeclaration__SignameAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getSignalDeclarationAccess().getSignameIDTerminalRuleCall_1_0()); } + RULE_ID{ after(grammarAccess.getSignalDeclarationAccess().getSignameIDTerminalRuleCall_1_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + +rule__SignalDeclaration__IntValAssignment_2_0_1 + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getSignalDeclarationAccess().getIntValINTTerminalRuleCall_2_0_1_0()); } + RULE_INT{ after(grammarAccess.getSignalDeclarationAccess().getIntValINTTerminalRuleCall_2_0_1_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + +rule__SignalDeclaration__StrValAssignment_2_1_1 + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getSignalDeclarationAccess().getStrValSTRINGTerminalRuleCall_2_1_1_0()); } + RULE_STRING{ after(grammarAccess.getSignalDeclarationAccess().getStrValSTRINGTerminalRuleCall_2_1_1_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + +rule__SourceDeclaration__RefAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getSourceDeclarationAccess().getRefStateCrossReference_0_0()); } +( +{ before(grammarAccess.getSourceDeclarationAccess().getRefStateIDTerminalRuleCall_0_0_1()); } + RULE_ID{ after(grammarAccess.getSourceDeclarationAccess().getRefStateIDTerminalRuleCall_0_0_1()); } +) +{ after(grammarAccess.getSourceDeclarationAccess().getRefStateCrossReference_0_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + +rule__DestinationDeclaration__RefAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getDestinationDeclarationAccess().getRefStateCrossReference_1_0()); } +( +{ before(grammarAccess.getDestinationDeclarationAccess().getRefStateIDTerminalRuleCall_1_0_1()); } + RULE_ID{ after(grammarAccess.getDestinationDeclarationAccess().getRefStateIDTerminalRuleCall_1_0_1()); } +) +{ after(grammarAccess.getDestinationDeclarationAccess().getRefStateCrossReference_1_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + +rule__TransitionDeclaration__SourceAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getTransitionDeclarationAccess().getSourceSourceDeclarationParserRuleCall_0_0()); } + ruleSourceDeclaration{ after(grammarAccess.getTransitionDeclarationAccess().getSourceSourceDeclarationParserRuleCall_0_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + +rule__TransitionDeclaration__InAssignment_2 + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getTransitionDeclarationAccess().getInSignalDeclarationParserRuleCall_2_0()); } + ruleSignalDeclaration{ after(grammarAccess.getTransitionDeclarationAccess().getInSignalDeclarationParserRuleCall_2_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + +rule__TransitionDeclaration__OutAssignment_4 + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getTransitionDeclarationAccess().getOutSignalDeclarationParserRuleCall_4_0()); } + ruleSignalDeclaration{ after(grammarAccess.getTransitionDeclarationAccess().getOutSignalDeclarationParserRuleCall_4_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + +rule__TransitionDeclaration__DestinationAssignment_5 + @init { + int stackSize = keepStackSize(); + } +: +( +{ before(grammarAccess.getTransitionDeclarationAccess().getDestinationDestinationDeclarationParserRuleCall_5_0()); } + ruleDestinationDeclaration{ after(grammarAccess.getTransitionDeclarationAccess().getDestinationDestinationDeclarationParserRuleCall_5_0()); } +) + +; +finally { + restoreStackSize(stackSize); +} + + +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.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.tokens b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.tokens new file mode 100644 index 000000000..2d0f32706 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.tokens @@ -0,0 +1,33 @@ +RULE_ID=4
+T__23=23
+T__22=22
+RULE_ANY_OTHER=10
+T__21=21
+T__20=20
+RULE_SL_COMMENT=8
+RULE_ML_COMMENT=7
+T__19=19
+RULE_STRING=6
+T__16=16
+T__15=15
+T__18=18
+T__17=17
+T__12=12
+T__11=11
+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
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtestLexer.java b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtestLexer.java new file mode 100644 index 000000000..5269033ae --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtestLexer.java @@ -0,0 +1,1198 @@ +package org.eclipse.etrice.generator.ui.contentassist.antlr.internal;
+
+// Hack: Use our own Lexer superclass by means of import.
+// Currently there is no other way to specify the superclass for the lexer.
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer;
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+@SuppressWarnings("all") +public class InternalFSMtestLexer extends Lexer {
+ public static final int RULE_ID=4;
+ public static final int T__23=23;
+ public static final int T__22=22;
+ public static final int RULE_ANY_OTHER=10;
+ public static final int T__21=21;
+ public static final int T__20=20;
+ public static final int EOF=-1;
+ public static final int RULE_SL_COMMENT=8;
+ public static final int RULE_ML_COMMENT=7;
+ public static final int T__19=19;
+ public static final int RULE_STRING=6;
+ public static final int T__16=16;
+ public static final int T__15=15;
+ public static final int T__18=18;
+ public static final int T__17=17;
+ public static final int T__12=12;
+ public static final int T__11=11;
+ public static final int T__14=14;
+ public static final int T__13=13;
+ public static final int RULE_INT=5;
+ public static final int RULE_WS=9;
+
+ // delegates
+ // delegators
+
+ public InternalFSMtestLexer() {;}
+ public InternalFSMtestLexer(CharStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalFSMtestLexer(CharStream input, RecognizerSharedState state) {
+ super(input,state);
+
+ }
+ public String getGrammarFileName() { return "../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g"; }
+
+ // $ANTLR start "T__11"
+ public final void mT__11() throws RecognitionException {
+ try {
+ int _type = T__11;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:11:7: ( 'fsmtest' )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:11:9: 'fsmtest'
+ {
+ match("fsmtest");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__11"
+
+ // $ANTLR start "T__12"
+ public final void mT__12() throws RecognitionException {
+ try {
+ int _type = T__12;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:12:7: ( ';' )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:12:9: ';'
+ {
+ match(';');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__12"
+
+ // $ANTLR start "T__13"
+ public final void mT__13() throws RecognitionException {
+ try {
+ int _type = T__13;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:13:7: ( 'states:' )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:13:9: 'states:'
+ {
+ match("states:");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__13"
+
+ // $ANTLR start "T__14"
+ public final void mT__14() throws RecognitionException {
+ try {
+ int _type = T__14;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:14:7: ( ',' )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:14:9: ','
+ {
+ match(',');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__14"
+
+ // $ANTLR start "T__15"
+ public final void mT__15() throws RecognitionException {
+ try {
+ int _type = T__15;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:15:7: ( 'initial:' )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:15:9: 'initial:'
+ {
+ match("initial:");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__15"
+
+ // $ANTLR start "T__16"
+ public final void mT__16() throws RecognitionException {
+ try {
+ int _type = T__16;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:16:7: ( 'loops:' )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:16:9: 'loops:'
+ {
+ match("loops:");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__16"
+
+ // $ANTLR start "T__17"
+ public final void mT__17() throws RecognitionException {
+ try {
+ int _type = T__17;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:17:7: ( 'randseed:' )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:17:9: 'randseed:'
+ {
+ match("randseed:");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__17"
+
+ // $ANTLR start "T__18"
+ public final void mT__18() throws RecognitionException {
+ try {
+ int _type = T__18;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:18:7: ( '.' )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:18:9: '.'
+ {
+ match('.');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__18"
+
+ // $ANTLR start "T__19"
+ public final void mT__19() throws RecognitionException {
+ try {
+ int _type = T__19;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:19:7: ( '=' )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:19:9: '='
+ {
+ match('=');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__19"
+
+ // $ANTLR start "T__20"
+ public final void mT__20() throws RecognitionException {
+ try {
+ int _type = T__20;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:20:7: ( ':' )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:20:9: ':'
+ {
+ match(':');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__20"
+
+ // $ANTLR start "T__21"
+ public final void mT__21() throws RecognitionException {
+ try {
+ int _type = T__21;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:21:7: ( '-> ' )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:21:9: '-> '
+ {
+ match("-> ");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__21"
+
+ // $ANTLR start "T__22"
+ public final void mT__22() throws RecognitionException {
+ try {
+ int _type = T__22;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:22:7: ( 'in:' )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:22:9: 'in:'
+ {
+ match("in:");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__22"
+
+ // $ANTLR start "T__23"
+ public final void mT__23() throws RecognitionException {
+ try {
+ int _type = T__23;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:23:7: ( 'out:' )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:23:9: 'out:'
+ {
+ match("out:");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__23"
+
+ // $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.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1944:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1944:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1944:11: ( '^' )?
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0=='^') ) {
+ alt1=1;
+ }
+ switch (alt1) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1944:11: '^'
+ {
+ match('^');
+
+ }
+ break;
+
+ }
+
+ if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1944:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ loop2:
+ do {
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='Z')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='z')) ) {
+ alt2=1;
+ }
+
+
+ switch (alt2) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:
+ {
+ if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop2;
+ }
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ID"
+
+ // $ANTLR start "RULE_INT"
+ public final void mRULE_INT() throws RecognitionException {
+ try {
+ int _type = RULE_INT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1946:10: ( ( '0' .. '9' )+ )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1946:12: ( '0' .. '9' )+
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1946:12: ( '0' .. '9' )+
+ int cnt3=0;
+ loop3:
+ do {
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( ((LA3_0>='0' && LA3_0<='9')) ) {
+ alt3=1;
+ }
+
+
+ switch (alt3) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1946:13: '0' .. '9'
+ {
+ matchRange('0','9');
+
+ }
+ break;
+
+ default :
+ if ( cnt3 >= 1 ) break loop3;
+ EarlyExitException eee =
+ new EarlyExitException(3, input);
+ throw eee;
+ }
+ cnt3++;
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_INT"
+
+ // $ANTLR start "RULE_STRING"
+ public final void mRULE_STRING() throws RecognitionException {
+ try {
+ int _type = RULE_STRING;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1948:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1948:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1948:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0=='\"') ) {
+ alt6=1;
+ }
+ else if ( (LA6_0=='\'') ) {
+ alt6=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 6, 0, input);
+
+ throw nvae;
+ }
+ switch (alt6) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1948:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+ {
+ match('\"');
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1948:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
+ loop4:
+ do {
+ int alt4=3;
+ int LA4_0 = input.LA(1);
+
+ if ( (LA4_0=='\\') ) {
+ alt4=1;
+ }
+ else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) {
+ alt4=2;
+ }
+
+
+ switch (alt4) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1948:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+ {
+ match('\\');
+ if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1948:66: ~ ( ( '\\\\' | '\"' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop4;
+ }
+ } while (true);
+
+ match('\"');
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1948:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+ {
+ match('\'');
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1948:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
+ loop5:
+ do {
+ int alt5=3;
+ int LA5_0 = input.LA(1);
+
+ if ( (LA5_0=='\\') ) {
+ alt5=1;
+ }
+ else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=']' && LA5_0<='\uFFFF')) ) {
+ alt5=2;
+ }
+
+
+ switch (alt5) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1948:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+ {
+ match('\\');
+ if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1948:137: ~ ( ( '\\\\' | '\\'' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop5;
+ }
+ } while (true);
+
+ match('\'');
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_STRING"
+
+ // $ANTLR start "RULE_ML_COMMENT"
+ public final void mRULE_ML_COMMENT() throws RecognitionException {
+ try {
+ int _type = RULE_ML_COMMENT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1950:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1950:19: '/*' ( options {greedy=false; } : . )* '*/'
+ {
+ match("/*");
+
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1950:24: ( options {greedy=false; } : . )*
+ loop7:
+ do {
+ int alt7=2;
+ int LA7_0 = input.LA(1);
+
+ if ( (LA7_0=='*') ) {
+ int LA7_1 = input.LA(2);
+
+ if ( (LA7_1=='/') ) {
+ alt7=2;
+ }
+ else if ( ((LA7_1>='\u0000' && LA7_1<='.')||(LA7_1>='0' && LA7_1<='\uFFFF')) ) {
+ alt7=1;
+ }
+
+
+ }
+ else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) {
+ alt7=1;
+ }
+
+
+ switch (alt7) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1950:52: .
+ {
+ matchAny();
+
+ }
+ break;
+
+ default :
+ break loop7;
+ }
+ } while (true);
+
+ match("*/");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ML_COMMENT"
+
+ // $ANTLR start "RULE_SL_COMMENT"
+ public final void mRULE_SL_COMMENT() throws RecognitionException {
+ try {
+ int _type = RULE_SL_COMMENT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1952:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1952:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+ {
+ match("//");
+
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1952:24: (~ ( ( '\\n' | '\\r' ) ) )*
+ loop8:
+ do {
+ int alt8=2;
+ int LA8_0 = input.LA(1);
+
+ if ( ((LA8_0>='\u0000' && LA8_0<='\t')||(LA8_0>='\u000B' && LA8_0<='\f')||(LA8_0>='\u000E' && LA8_0<='\uFFFF')) ) {
+ alt8=1;
+ }
+
+
+ switch (alt8) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1952:24: ~ ( ( '\\n' | '\\r' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop8;
+ }
+ } while (true);
+
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1952:40: ( ( '\\r' )? '\\n' )?
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( (LA10_0=='\n'||LA10_0=='\r') ) {
+ alt10=1;
+ }
+ switch (alt10) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1952:41: ( '\\r' )? '\\n'
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1952:41: ( '\\r' )?
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( (LA9_0=='\r') ) {
+ alt9=1;
+ }
+ switch (alt9) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1952:41: '\\r'
+ {
+ match('\r');
+
+ }
+ break;
+
+ }
+
+ match('\n');
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_SL_COMMENT"
+
+ // $ANTLR start "RULE_WS"
+ public final void mRULE_WS() throws RecognitionException {
+ try {
+ int _type = RULE_WS;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1954:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1954:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1954:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ int cnt11=0;
+ loop11:
+ do {
+ int alt11=2;
+ int LA11_0 = input.LA(1);
+
+ if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {
+ alt11=1;
+ }
+
+
+ switch (alt11) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:
+ {
+ if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ if ( cnt11 >= 1 ) break loop11;
+ EarlyExitException eee =
+ new EarlyExitException(11, input);
+ throw eee;
+ }
+ cnt11++;
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_WS"
+
+ // $ANTLR start "RULE_ANY_OTHER"
+ public final void mRULE_ANY_OTHER() throws RecognitionException {
+ try {
+ int _type = RULE_ANY_OTHER;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1956:16: ( . )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1956:18: .
+ {
+ matchAny();
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ANY_OTHER"
+
+ public void mTokens() throws RecognitionException {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/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;
+ alt12 = dfa12.predict(input);
+ switch (alt12) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1:10: T__11
+ {
+ mT__11();
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1:16: T__12
+ {
+ mT__12();
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1:22: T__13
+ {
+ mT__13();
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1:28: T__14
+ {
+ mT__14();
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1:34: T__15
+ {
+ mT__15();
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1:40: T__16
+ {
+ mT__16();
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1:46: T__17
+ {
+ mT__17();
+
+ }
+ break;
+ case 8 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1:52: T__18
+ {
+ mT__18();
+
+ }
+ break;
+ case 9 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1:58: T__19
+ {
+ mT__19();
+
+ }
+ break;
+ case 10 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1:64: T__20
+ {
+ mT__20();
+
+ }
+ break;
+ case 11 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1:70: T__21
+ {
+ mT__21();
+
+ }
+ break;
+ case 12 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1:76: T__22
+ {
+ mT__22();
+
+ }
+ break;
+ case 13 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1:82: T__23
+ {
+ mT__23();
+
+ }
+ break;
+ case 14 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1:88: RULE_ID
+ {
+ mRULE_ID();
+
+ }
+ break;
+ case 15 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1:96: RULE_INT
+ {
+ mRULE_INT();
+
+ }
+ break;
+ case 16 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1:105: RULE_STRING
+ {
+ mRULE_STRING();
+
+ }
+ break;
+ case 17 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1:117: RULE_ML_COMMENT
+ {
+ mRULE_ML_COMMENT();
+
+ }
+ break;
+ case 18 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1:133: RULE_SL_COMMENT
+ {
+ mRULE_SL_COMMENT();
+
+ }
+ break;
+ case 19 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1:149: RULE_WS
+ {
+ mRULE_WS();
+
+ }
+ break;
+ case 20 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1:157: RULE_ANY_OTHER
+ {
+ mRULE_ANY_OTHER();
+
+ }
+ break;
+
+ }
+
+ }
+
+
+ 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";
+ static final String DFA12_eofS =
+ "\106\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";
+ 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";
+ 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";
+ static final String DFA12_specialS =
+ "\1\1\17\uffff\1\2\1\0\64\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",
+ "\1\25",
+ "",
+ "\1\30",
+ "",
+ "\1\32",
+ "\1\33",
+ "\1\34",
+ "",
+ "",
+ "",
+ "\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",
+ "",
+ "",
+ "\1\50",
+ "",
+ "\1\52\56\uffff\1\51",
+ "\1\53",
+ "\1\54",
+ "",
+ "",
+ "",
+ "",
+ "\1\55",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\56",
+ "\1\57",
+ "\1\60",
+ "",
+ "\1\61",
+ "\1\62",
+ "\1\63",
+ "\1\64",
+ "\1\65",
+ "\1\66",
+ "\1\67",
+ "\1\70",
+ "",
+ "\1\71",
+ "\1\72",
+ "\1\73",
+ "\1\74",
+ "\1\75",
+ "\1\76",
+ "\1\77",
+ "\1\100",
+ "",
+ "\1\101",
+ "\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
+ "",
+ "\1\103",
+ "\1\104",
+ "",
+ "",
+ "\1\105",
+ ""
+ };
+
+ static final short[] DFA12_eot = DFA.unpackEncodedString(DFA12_eotS);
+ static final short[] DFA12_eof = DFA.unpackEncodedString(DFA12_eofS);
+ static final char[] DFA12_min = DFA.unpackEncodedStringToUnsignedChars(DFA12_minS);
+ static final char[] DFA12_max = DFA.unpackEncodedStringToUnsignedChars(DFA12_maxS);
+ static final short[] DFA12_accept = DFA.unpackEncodedString(DFA12_acceptS);
+ static final short[] DFA12_special = DFA.unpackEncodedString(DFA12_specialS);
+ static final short[][] DFA12_transition;
+
+ static {
+ int numStates = DFA12_transitionS.length;
+ DFA12_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA12_transition[i] = DFA.unpackEncodedString(DFA12_transitionS[i]);
+ }
+ }
+
+ class DFA12 extends DFA {
+
+ public DFA12(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 12;
+ this.eot = DFA12_eot;
+ this.eof = DFA12_eof;
+ this.min = DFA12_min;
+ this.max = DFA12_max;
+ this.accept = DFA12_accept;
+ this.special = DFA12_special;
+ this.transition = DFA12_transition;
+ }
+ public String getDescription() {
+ return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | 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);
+
+ s = -1;
+ if ( ((LA12_17>='\u0000' && LA12_17<='\uFFFF')) ) {s = 35;}
+
+ else s = 20;
+
+ if ( s>=0 ) return s;
+ break;
+ case 1 :
+ int LA12_0 = input.LA(1);
+
+ s = -1;
+ if ( (LA12_0=='f') ) {s = 1;}
+
+ else if ( (LA12_0==';') ) {s = 2;}
+
+ else if ( (LA12_0=='s') ) {s = 3;}
+
+ else if ( (LA12_0==',') ) {s = 4;}
+
+ else if ( (LA12_0=='i') ) {s = 5;}
+
+ else if ( (LA12_0=='l') ) {s = 6;}
+
+ else if ( (LA12_0=='r') ) {s = 7;}
+
+ else if ( (LA12_0=='.') ) {s = 8;}
+
+ else if ( (LA12_0=='=') ) {s = 9;}
+
+ else if ( (LA12_0==':') ) {s = 10;}
+
+ else if ( (LA12_0=='-') ) {s = 11;}
+
+ else if ( (LA12_0=='o') ) {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>='0' && LA12_0<='9')) ) {s = 15;}
+
+ else if ( (LA12_0=='\"') ) {s = 16;}
+
+ else if ( (LA12_0=='\'') ) {s = 17;}
+
+ else if ( (LA12_0=='/') ) {s = 18;}
+
+ 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;}
+
+ if ( s>=0 ) return s;
+ break;
+ case 2 :
+ int LA12_16 = input.LA(1);
+
+ s = -1;
+ if ( ((LA12_16>='\u0000' && LA12_16<='\uFFFF')) ) {s = 35;}
+
+ else s = 20;
+
+ if ( s>=0 ) return s;
+ break;
+ }
+ NoViableAltException nvae =
+ new NoViableAltException(getDescription(), 12, _s, input);
+ error(nvae);
+ throw nvae;
+ }
+ }
+
+
+}
\ No newline at end of file diff --git a/plugins/org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtestParser.java b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtestParser.java new file mode 100644 index 000000000..46f320ba0 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtestParser.java @@ -0,0 +1,5273 @@ +package org.eclipse.etrice.generator.ui.contentassist.antlr.internal;
+
+import java.io.InputStream;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
+import org.eclipse.etrice.generator.services.FSMtestGrammarAccess;
+
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+@SuppressWarnings("all") +public class InternalFSMtestParser extends AbstractInternalContentAssistParser {
+ 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:'"
+ };
+ public static final int RULE_ID=4;
+ public static final int T__23=23;
+ public static final int T__22=22;
+ public static final int RULE_ANY_OTHER=10;
+ public static final int T__21=21;
+ public static final int T__20=20;
+ public static final int RULE_SL_COMMENT=8;
+ public static final int EOF=-1;
+ public static final int RULE_ML_COMMENT=7;
+ public static final int T__19=19;
+ public static final int RULE_STRING=6;
+ public static final int T__16=16;
+ public static final int T__15=15;
+ public static final int T__18=18;
+ public static final int T__17=17;
+ public static final int T__12=12;
+ public static final int T__11=11;
+ public static final int T__14=14;
+ public static final int T__13=13;
+ public static final int RULE_INT=5;
+ public static final int RULE_WS=9;
+
+ // delegates
+ // delegators
+
+
+ public InternalFSMtestParser(TokenStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalFSMtestParser(TokenStream input, RecognizerSharedState state) {
+ super(input, state);
+
+ }
+
+
+ public String[] getTokenNames() { return InternalFSMtestParser.tokenNames; }
+ public String getGrammarFileName() { return "../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g"; }
+
+
+
+ private FSMtestGrammarAccess grammarAccess;
+
+ public void setGrammarAccess(FSMtestGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+
+ @Override
+ protected Grammar getGrammar() {
+ return grammarAccess.getGrammar();
+ }
+
+ @Override
+ protected String getValueForTokenName(String tokenName) {
+ return tokenName;
+ }
+
+
+
+
+ // $ANTLR start "entryRuleModel"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:60:1: entryRuleModel : ruleModel EOF ;
+ public final void entryRuleModel() throws RecognitionException {
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:61:1: ( ruleModel EOF )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:62:1: ruleModel EOF
+ {
+ before(grammarAccess.getModelRule());
+ pushFollow(FOLLOW_ruleModel_in_entryRuleModel61);
+ ruleModel();
+
+ state._fsp--;
+
+ after(grammarAccess.getModelRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleModel68);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleModel"
+
+
+ // $ANTLR start "ruleModel"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:69:1: ruleModel : ( ( rule__Model__TestscriptsAssignment )* ) ;
+ public final void ruleModel() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:73:2: ( ( ( rule__Model__TestscriptsAssignment )* ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:74:1: ( ( rule__Model__TestscriptsAssignment )* )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:74:1: ( ( rule__Model__TestscriptsAssignment )* )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:75:1: ( rule__Model__TestscriptsAssignment )*
+ {
+ before(grammarAccess.getModelAccess().getTestscriptsAssignment());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:76:1: ( rule__Model__TestscriptsAssignment )*
+ loop1:
+ do {
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0==11) ) {
+ alt1=1;
+ }
+
+
+ switch (alt1) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:76:2: rule__Model__TestscriptsAssignment
+ {
+ pushFollow(FOLLOW_rule__Model__TestscriptsAssignment_in_ruleModel94);
+ rule__Model__TestscriptsAssignment();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ default :
+ break loop1;
+ }
+ } while (true);
+
+ after(grammarAccess.getModelAccess().getTestscriptsAssignment());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleModel"
+
+
+ // $ANTLR start "entryRuleTestscript"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:88:1: entryRuleTestscript : ruleTestscript EOF ;
+ public final void entryRuleTestscript() throws RecognitionException {
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:89:1: ( ruleTestscript EOF )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:90:1: ruleTestscript EOF
+ {
+ before(grammarAccess.getTestscriptRule());
+ pushFollow(FOLLOW_ruleTestscript_in_entryRuleTestscript122);
+ ruleTestscript();
+
+ state._fsp--;
+
+ after(grammarAccess.getTestscriptRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleTestscript129);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleTestscript"
+
+
+ // $ANTLR start "ruleTestscript"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:97:1: ruleTestscript : ( ( rule__Testscript__Group__0 ) ) ;
+ public final void ruleTestscript() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:101:2: ( ( ( rule__Testscript__Group__0 ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:102:1: ( ( rule__Testscript__Group__0 ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:102:1: ( ( rule__Testscript__Group__0 ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:103:1: ( rule__Testscript__Group__0 )
+ {
+ before(grammarAccess.getTestscriptAccess().getGroup());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:104:1: ( rule__Testscript__Group__0 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:104:2: rule__Testscript__Group__0
+ {
+ pushFollow(FOLLOW_rule__Testscript__Group__0_in_ruleTestscript155);
+ rule__Testscript__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getTestscriptAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleTestscript"
+
+
+ // $ANTLR start "entryRuleState"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:116:1: entryRuleState : ruleState EOF ;
+ public final void entryRuleState() throws RecognitionException {
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:117:1: ( ruleState EOF )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:118:1: ruleState EOF
+ {
+ before(grammarAccess.getStateRule());
+ pushFollow(FOLLOW_ruleState_in_entryRuleState182);
+ ruleState();
+
+ state._fsp--;
+
+ after(grammarAccess.getStateRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleState189);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleState"
+
+
+ // $ANTLR start "ruleState"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:125:1: ruleState : ( ( rule__State__NameAssignment ) ) ;
+ public final void ruleState() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:129:2: ( ( ( rule__State__NameAssignment ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:130:1: ( ( rule__State__NameAssignment ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:130:1: ( ( rule__State__NameAssignment ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:131:1: ( rule__State__NameAssignment )
+ {
+ before(grammarAccess.getStateAccess().getNameAssignment());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:132:1: ( rule__State__NameAssignment )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:132:2: rule__State__NameAssignment
+ {
+ pushFollow(FOLLOW_rule__State__NameAssignment_in_ruleState215);
+ rule__State__NameAssignment();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getStateAccess().getNameAssignment());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleState"
+
+
+ // $ANTLR start "entryRuleStateDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:144:1: entryRuleStateDeclaration : ruleStateDeclaration EOF ;
+ public final void entryRuleStateDeclaration() throws RecognitionException {
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:145:1: ( ruleStateDeclaration EOF )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:146:1: ruleStateDeclaration EOF
+ {
+ before(grammarAccess.getStateDeclarationRule());
+ pushFollow(FOLLOW_ruleStateDeclaration_in_entryRuleStateDeclaration242);
+ ruleStateDeclaration();
+
+ state._fsp--;
+
+ after(grammarAccess.getStateDeclarationRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleStateDeclaration249);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleStateDeclaration"
+
+
+ // $ANTLR start "ruleStateDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:153:1: ruleStateDeclaration : ( ( rule__StateDeclaration__Group__0 ) ) ;
+ public final void ruleStateDeclaration() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:157:2: ( ( ( rule__StateDeclaration__Group__0 ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:158:1: ( ( rule__StateDeclaration__Group__0 ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:158:1: ( ( rule__StateDeclaration__Group__0 ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:159:1: ( rule__StateDeclaration__Group__0 )
+ {
+ before(grammarAccess.getStateDeclarationAccess().getGroup());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:160:1: ( rule__StateDeclaration__Group__0 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:160:2: rule__StateDeclaration__Group__0
+ {
+ pushFollow(FOLLOW_rule__StateDeclaration__Group__0_in_ruleStateDeclaration275);
+ rule__StateDeclaration__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getStateDeclarationAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleStateDeclaration"
+
+
+ // $ANTLR start "entryRuleInitialDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:172:1: entryRuleInitialDeclaration : ruleInitialDeclaration EOF ;
+ public final void entryRuleInitialDeclaration() throws RecognitionException {
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:173:1: ( ruleInitialDeclaration EOF )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:174:1: ruleInitialDeclaration EOF
+ {
+ before(grammarAccess.getInitialDeclarationRule());
+ pushFollow(FOLLOW_ruleInitialDeclaration_in_entryRuleInitialDeclaration302);
+ ruleInitialDeclaration();
+
+ state._fsp--;
+
+ after(grammarAccess.getInitialDeclarationRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleInitialDeclaration309);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleInitialDeclaration"
+
+
+ // $ANTLR start "ruleInitialDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:181:1: ruleInitialDeclaration : ( ( rule__InitialDeclaration__Group__0 ) ) ;
+ public final void ruleInitialDeclaration() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:185:2: ( ( ( rule__InitialDeclaration__Group__0 ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:186:1: ( ( rule__InitialDeclaration__Group__0 ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:186:1: ( ( rule__InitialDeclaration__Group__0 ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:187:1: ( rule__InitialDeclaration__Group__0 )
+ {
+ before(grammarAccess.getInitialDeclarationAccess().getGroup());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:188:1: ( rule__InitialDeclaration__Group__0 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:188:2: rule__InitialDeclaration__Group__0
+ {
+ pushFollow(FOLLOW_rule__InitialDeclaration__Group__0_in_ruleInitialDeclaration335);
+ rule__InitialDeclaration__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getInitialDeclarationAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleInitialDeclaration"
+
+
+ // $ANTLR start "entryRuleLoopsDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:200:1: entryRuleLoopsDeclaration : ruleLoopsDeclaration EOF ;
+ public final void entryRuleLoopsDeclaration() throws RecognitionException {
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:201:1: ( ruleLoopsDeclaration EOF )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:202:1: ruleLoopsDeclaration EOF
+ {
+ before(grammarAccess.getLoopsDeclarationRule());
+ pushFollow(FOLLOW_ruleLoopsDeclaration_in_entryRuleLoopsDeclaration362);
+ ruleLoopsDeclaration();
+
+ state._fsp--;
+
+ after(grammarAccess.getLoopsDeclarationRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleLoopsDeclaration369);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleLoopsDeclaration"
+
+
+ // $ANTLR start "ruleLoopsDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:209:1: ruleLoopsDeclaration : ( ( rule__LoopsDeclaration__Group__0 ) ) ;
+ public final void ruleLoopsDeclaration() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:213:2: ( ( ( rule__LoopsDeclaration__Group__0 ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:214:1: ( ( rule__LoopsDeclaration__Group__0 ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:214:1: ( ( rule__LoopsDeclaration__Group__0 ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:215:1: ( rule__LoopsDeclaration__Group__0 )
+ {
+ before(grammarAccess.getLoopsDeclarationAccess().getGroup());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:216:1: ( rule__LoopsDeclaration__Group__0 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:216:2: rule__LoopsDeclaration__Group__0
+ {
+ pushFollow(FOLLOW_rule__LoopsDeclaration__Group__0_in_ruleLoopsDeclaration395);
+ rule__LoopsDeclaration__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getLoopsDeclarationAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleLoopsDeclaration"
+
+
+ // $ANTLR start "entryRuleSeedDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:228:1: entryRuleSeedDeclaration : ruleSeedDeclaration EOF ;
+ public final void entryRuleSeedDeclaration() throws RecognitionException {
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:229:1: ( ruleSeedDeclaration EOF )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:230:1: ruleSeedDeclaration EOF
+ {
+ before(grammarAccess.getSeedDeclarationRule());
+ pushFollow(FOLLOW_ruleSeedDeclaration_in_entryRuleSeedDeclaration422);
+ ruleSeedDeclaration();
+
+ state._fsp--;
+
+ after(grammarAccess.getSeedDeclarationRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleSeedDeclaration429);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleSeedDeclaration"
+
+
+ // $ANTLR start "ruleSeedDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:237:1: ruleSeedDeclaration : ( ( rule__SeedDeclaration__Group__0 ) ) ;
+ public final void ruleSeedDeclaration() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:241:2: ( ( ( rule__SeedDeclaration__Group__0 ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:242:1: ( ( rule__SeedDeclaration__Group__0 ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:242:1: ( ( rule__SeedDeclaration__Group__0 ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:243:1: ( rule__SeedDeclaration__Group__0 )
+ {
+ before(grammarAccess.getSeedDeclarationAccess().getGroup());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:244:1: ( rule__SeedDeclaration__Group__0 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:244:2: rule__SeedDeclaration__Group__0
+ {
+ pushFollow(FOLLOW_rule__SeedDeclaration__Group__0_in_ruleSeedDeclaration455);
+ rule__SeedDeclaration__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getSeedDeclarationAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleSeedDeclaration"
+
+
+ // $ANTLR start "entryRuleSignalDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:256:1: entryRuleSignalDeclaration : ruleSignalDeclaration EOF ;
+ public final void entryRuleSignalDeclaration() throws RecognitionException {
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:257:1: ( ruleSignalDeclaration EOF )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:258:1: ruleSignalDeclaration EOF
+ {
+ before(grammarAccess.getSignalDeclarationRule());
+ pushFollow(FOLLOW_ruleSignalDeclaration_in_entryRuleSignalDeclaration482);
+ ruleSignalDeclaration();
+
+ state._fsp--;
+
+ after(grammarAccess.getSignalDeclarationRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleSignalDeclaration489);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleSignalDeclaration"
+
+
+ // $ANTLR start "ruleSignalDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:265:1: ruleSignalDeclaration : ( ( rule__SignalDeclaration__Group__0 ) ) ;
+ public final void ruleSignalDeclaration() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:269:2: ( ( ( rule__SignalDeclaration__Group__0 ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:270:1: ( ( rule__SignalDeclaration__Group__0 ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:270:1: ( ( rule__SignalDeclaration__Group__0 ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:271:1: ( rule__SignalDeclaration__Group__0 )
+ {
+ before(grammarAccess.getSignalDeclarationAccess().getGroup());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:272:1: ( rule__SignalDeclaration__Group__0 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:272:2: rule__SignalDeclaration__Group__0
+ {
+ pushFollow(FOLLOW_rule__SignalDeclaration__Group__0_in_ruleSignalDeclaration515);
+ rule__SignalDeclaration__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getSignalDeclarationAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleSignalDeclaration"
+
+
+ // $ANTLR start "entryRuleSourceDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:284:1: entryRuleSourceDeclaration : ruleSourceDeclaration EOF ;
+ public final void entryRuleSourceDeclaration() throws RecognitionException {
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:285:1: ( ruleSourceDeclaration EOF )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:286:1: ruleSourceDeclaration EOF
+ {
+ before(grammarAccess.getSourceDeclarationRule());
+ pushFollow(FOLLOW_ruleSourceDeclaration_in_entryRuleSourceDeclaration542);
+ ruleSourceDeclaration();
+
+ state._fsp--;
+
+ after(grammarAccess.getSourceDeclarationRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleSourceDeclaration549);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleSourceDeclaration"
+
+
+ // $ANTLR start "ruleSourceDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:293:1: ruleSourceDeclaration : ( ( rule__SourceDeclaration__Group__0 ) ) ;
+ public final void ruleSourceDeclaration() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:297:2: ( ( ( rule__SourceDeclaration__Group__0 ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:298:1: ( ( rule__SourceDeclaration__Group__0 ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:298:1: ( ( rule__SourceDeclaration__Group__0 ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:299:1: ( rule__SourceDeclaration__Group__0 )
+ {
+ before(grammarAccess.getSourceDeclarationAccess().getGroup());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:300:1: ( rule__SourceDeclaration__Group__0 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:300:2: rule__SourceDeclaration__Group__0
+ {
+ pushFollow(FOLLOW_rule__SourceDeclaration__Group__0_in_ruleSourceDeclaration575);
+ rule__SourceDeclaration__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getSourceDeclarationAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleSourceDeclaration"
+
+
+ // $ANTLR start "entryRuleDestinationDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:312:1: entryRuleDestinationDeclaration : ruleDestinationDeclaration EOF ;
+ public final void entryRuleDestinationDeclaration() throws RecognitionException {
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:313:1: ( ruleDestinationDeclaration EOF )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:314:1: ruleDestinationDeclaration EOF
+ {
+ before(grammarAccess.getDestinationDeclarationRule());
+ pushFollow(FOLLOW_ruleDestinationDeclaration_in_entryRuleDestinationDeclaration602);
+ ruleDestinationDeclaration();
+
+ state._fsp--;
+
+ after(grammarAccess.getDestinationDeclarationRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleDestinationDeclaration609);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleDestinationDeclaration"
+
+
+ // $ANTLR start "ruleDestinationDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:321:1: ruleDestinationDeclaration : ( ( rule__DestinationDeclaration__Group__0 ) ) ;
+ public final void ruleDestinationDeclaration() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:325:2: ( ( ( rule__DestinationDeclaration__Group__0 ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:326:1: ( ( rule__DestinationDeclaration__Group__0 ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:326:1: ( ( rule__DestinationDeclaration__Group__0 ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:327:1: ( rule__DestinationDeclaration__Group__0 )
+ {
+ before(grammarAccess.getDestinationDeclarationAccess().getGroup());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:328:1: ( rule__DestinationDeclaration__Group__0 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:328:2: rule__DestinationDeclaration__Group__0
+ {
+ pushFollow(FOLLOW_rule__DestinationDeclaration__Group__0_in_ruleDestinationDeclaration635);
+ rule__DestinationDeclaration__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getDestinationDeclarationAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleDestinationDeclaration"
+
+
+ // $ANTLR start "entryRuleTransitionDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:340:1: entryRuleTransitionDeclaration : ruleTransitionDeclaration EOF ;
+ public final void entryRuleTransitionDeclaration() throws RecognitionException {
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:341:1: ( ruleTransitionDeclaration EOF )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:342:1: ruleTransitionDeclaration EOF
+ {
+ before(grammarAccess.getTransitionDeclarationRule());
+ pushFollow(FOLLOW_ruleTransitionDeclaration_in_entryRuleTransitionDeclaration662);
+ ruleTransitionDeclaration();
+
+ state._fsp--;
+
+ after(grammarAccess.getTransitionDeclarationRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleTransitionDeclaration669);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleTransitionDeclaration"
+
+
+ // $ANTLR start "ruleTransitionDeclaration"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:349:1: ruleTransitionDeclaration : ( ( rule__TransitionDeclaration__Group__0 ) ) ;
+ public final void ruleTransitionDeclaration() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:353:2: ( ( ( rule__TransitionDeclaration__Group__0 ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:354:1: ( ( rule__TransitionDeclaration__Group__0 ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:354:1: ( ( rule__TransitionDeclaration__Group__0 ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:355:1: ( rule__TransitionDeclaration__Group__0 )
+ {
+ before(grammarAccess.getTransitionDeclarationAccess().getGroup());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:356:1: ( rule__TransitionDeclaration__Group__0 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:356:2: rule__TransitionDeclaration__Group__0
+ {
+ pushFollow(FOLLOW_rule__TransitionDeclaration__Group__0_in_ruleTransitionDeclaration695);
+ rule__TransitionDeclaration__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getTransitionDeclarationAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleTransitionDeclaration"
+
+
+ // $ANTLR start "rule__SignalDeclaration__Alternatives_2"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:368:1: rule__SignalDeclaration__Alternatives_2 : ( ( ( rule__SignalDeclaration__Group_2_0__0 ) ) | ( ( rule__SignalDeclaration__Group_2_1__0 ) ) );
+ public final void rule__SignalDeclaration__Alternatives_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:372:1: ( ( ( rule__SignalDeclaration__Group_2_0__0 ) ) | ( ( rule__SignalDeclaration__Group_2_1__0 ) ) )
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( (LA2_0==19) ) {
+ int LA2_1 = input.LA(2);
+
+ if ( (LA2_1==RULE_STRING) ) {
+ alt2=2;
+ }
+ else if ( (LA2_1==RULE_INT) ) {
+ alt2=1;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 2, 1, input);
+
+ throw nvae;
+ }
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 2, 0, input);
+
+ throw nvae;
+ }
+ switch (alt2) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:373:1: ( ( rule__SignalDeclaration__Group_2_0__0 ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:373:1: ( ( rule__SignalDeclaration__Group_2_0__0 ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:374:1: ( rule__SignalDeclaration__Group_2_0__0 )
+ {
+ before(grammarAccess.getSignalDeclarationAccess().getGroup_2_0());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:375:1: ( rule__SignalDeclaration__Group_2_0__0 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:375:2: rule__SignalDeclaration__Group_2_0__0
+ {
+ pushFollow(FOLLOW_rule__SignalDeclaration__Group_2_0__0_in_rule__SignalDeclaration__Alternatives_2731);
+ rule__SignalDeclaration__Group_2_0__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getSignalDeclarationAccess().getGroup_2_0());
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:379:6: ( ( rule__SignalDeclaration__Group_2_1__0 ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:379:6: ( ( rule__SignalDeclaration__Group_2_1__0 ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:380:1: ( rule__SignalDeclaration__Group_2_1__0 )
+ {
+ before(grammarAccess.getSignalDeclarationAccess().getGroup_2_1());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:381:1: ( rule__SignalDeclaration__Group_2_1__0 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:381:2: rule__SignalDeclaration__Group_2_1__0
+ {
+ pushFollow(FOLLOW_rule__SignalDeclaration__Group_2_1__0_in_rule__SignalDeclaration__Alternatives_2749);
+ rule__SignalDeclaration__Group_2_1__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getSignalDeclarationAccess().getGroup_2_1());
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SignalDeclaration__Alternatives_2"
+
+
+ // $ANTLR start "rule__Testscript__Group__0"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:392:1: rule__Testscript__Group__0 : rule__Testscript__Group__0__Impl rule__Testscript__Group__1 ;
+ public final void rule__Testscript__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:396:1: ( rule__Testscript__Group__0__Impl rule__Testscript__Group__1 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:397:2: rule__Testscript__Group__0__Impl rule__Testscript__Group__1
+ {
+ pushFollow(FOLLOW_rule__Testscript__Group__0__Impl_in_rule__Testscript__Group__0780);
+ rule__Testscript__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Testscript__Group__1_in_rule__Testscript__Group__0783);
+ rule__Testscript__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Testscript__Group__0"
+
+
+ // $ANTLR start "rule__Testscript__Group__0__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:404:1: rule__Testscript__Group__0__Impl : ( 'fsmtest' ) ;
+ public final void rule__Testscript__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:408:1: ( ( 'fsmtest' ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:409:1: ( 'fsmtest' )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:409:1: ( 'fsmtest' )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:410:1: 'fsmtest'
+ {
+ before(grammarAccess.getTestscriptAccess().getFsmtestKeyword_0());
+ match(input,11,FOLLOW_11_in_rule__Testscript__Group__0__Impl811);
+ after(grammarAccess.getTestscriptAccess().getFsmtestKeyword_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Testscript__Group__0__Impl"
+
+
+ // $ANTLR start "rule__Testscript__Group__1"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:423:1: rule__Testscript__Group__1 : rule__Testscript__Group__1__Impl rule__Testscript__Group__2 ;
+ public final void rule__Testscript__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:427:1: ( rule__Testscript__Group__1__Impl rule__Testscript__Group__2 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:428:2: rule__Testscript__Group__1__Impl rule__Testscript__Group__2
+ {
+ pushFollow(FOLLOW_rule__Testscript__Group__1__Impl_in_rule__Testscript__Group__1842);
+ rule__Testscript__Group__1__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Testscript__Group__2_in_rule__Testscript__Group__1845);
+ rule__Testscript__Group__2();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Testscript__Group__1"
+
+
+ // $ANTLR start "rule__Testscript__Group__1__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:435:1: rule__Testscript__Group__1__Impl : ( ( rule__Testscript__NameAssignment_1 ) ) ;
+ public final void rule__Testscript__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:439:1: ( ( ( rule__Testscript__NameAssignment_1 ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:440:1: ( ( rule__Testscript__NameAssignment_1 ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:440:1: ( ( rule__Testscript__NameAssignment_1 ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:441:1: ( rule__Testscript__NameAssignment_1 )
+ {
+ before(grammarAccess.getTestscriptAccess().getNameAssignment_1());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:442:1: ( rule__Testscript__NameAssignment_1 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:442:2: rule__Testscript__NameAssignment_1
+ {
+ pushFollow(FOLLOW_rule__Testscript__NameAssignment_1_in_rule__Testscript__Group__1__Impl872);
+ rule__Testscript__NameAssignment_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getTestscriptAccess().getNameAssignment_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Testscript__Group__1__Impl"
+
+
+ // $ANTLR start "rule__Testscript__Group__2"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:452:1: rule__Testscript__Group__2 : rule__Testscript__Group__2__Impl rule__Testscript__Group__3 ;
+ public final void rule__Testscript__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:456:1: ( rule__Testscript__Group__2__Impl rule__Testscript__Group__3 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:457:2: rule__Testscript__Group__2__Impl rule__Testscript__Group__3
+ {
+ pushFollow(FOLLOW_rule__Testscript__Group__2__Impl_in_rule__Testscript__Group__2902);
+ rule__Testscript__Group__2__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Testscript__Group__3_in_rule__Testscript__Group__2905);
+ rule__Testscript__Group__3();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Testscript__Group__2"
+
+
+ // $ANTLR start "rule__Testscript__Group__2__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:464:1: rule__Testscript__Group__2__Impl : ( ( rule__Testscript__StateDeclarationAssignment_2 ) ) ;
+ public final void rule__Testscript__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:468:1: ( ( ( rule__Testscript__StateDeclarationAssignment_2 ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:469:1: ( ( rule__Testscript__StateDeclarationAssignment_2 ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:469:1: ( ( rule__Testscript__StateDeclarationAssignment_2 ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:470:1: ( rule__Testscript__StateDeclarationAssignment_2 )
+ {
+ before(grammarAccess.getTestscriptAccess().getStateDeclarationAssignment_2());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:471:1: ( rule__Testscript__StateDeclarationAssignment_2 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:471:2: rule__Testscript__StateDeclarationAssignment_2
+ {
+ pushFollow(FOLLOW_rule__Testscript__StateDeclarationAssignment_2_in_rule__Testscript__Group__2__Impl932);
+ rule__Testscript__StateDeclarationAssignment_2();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getTestscriptAccess().getStateDeclarationAssignment_2());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Testscript__Group__2__Impl"
+
+
+ // $ANTLR start "rule__Testscript__Group__3"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:481:1: rule__Testscript__Group__3 : rule__Testscript__Group__3__Impl rule__Testscript__Group__4 ;
+ public final void rule__Testscript__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:485:1: ( rule__Testscript__Group__3__Impl rule__Testscript__Group__4 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:486:2: rule__Testscript__Group__3__Impl rule__Testscript__Group__4
+ {
+ pushFollow(FOLLOW_rule__Testscript__Group__3__Impl_in_rule__Testscript__Group__3962);
+ rule__Testscript__Group__3__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Testscript__Group__4_in_rule__Testscript__Group__3965);
+ rule__Testscript__Group__4();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Testscript__Group__3"
+
+
+ // $ANTLR start "rule__Testscript__Group__3__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:493:1: rule__Testscript__Group__3__Impl : ( ( rule__Testscript__InitialDeclarationAssignment_3 ) ) ;
+ public final void rule__Testscript__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:497:1: ( ( ( rule__Testscript__InitialDeclarationAssignment_3 ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:498:1: ( ( rule__Testscript__InitialDeclarationAssignment_3 ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:498:1: ( ( rule__Testscript__InitialDeclarationAssignment_3 ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:499:1: ( rule__Testscript__InitialDeclarationAssignment_3 )
+ {
+ before(grammarAccess.getTestscriptAccess().getInitialDeclarationAssignment_3());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:500:1: ( rule__Testscript__InitialDeclarationAssignment_3 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:500:2: rule__Testscript__InitialDeclarationAssignment_3
+ {
+ pushFollow(FOLLOW_rule__Testscript__InitialDeclarationAssignment_3_in_rule__Testscript__Group__3__Impl992);
+ rule__Testscript__InitialDeclarationAssignment_3();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getTestscriptAccess().getInitialDeclarationAssignment_3());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Testscript__Group__3__Impl"
+
+
+ // $ANTLR start "rule__Testscript__Group__4"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:510:1: rule__Testscript__Group__4 : rule__Testscript__Group__4__Impl rule__Testscript__Group__5 ;
+ public final void rule__Testscript__Group__4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:514:1: ( rule__Testscript__Group__4__Impl rule__Testscript__Group__5 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:515:2: rule__Testscript__Group__4__Impl rule__Testscript__Group__5
+ {
+ pushFollow(FOLLOW_rule__Testscript__Group__4__Impl_in_rule__Testscript__Group__41022);
+ rule__Testscript__Group__4__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Testscript__Group__5_in_rule__Testscript__Group__41025);
+ rule__Testscript__Group__5();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Testscript__Group__4"
+
+
+ // $ANTLR start "rule__Testscript__Group__4__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:522:1: rule__Testscript__Group__4__Impl : ( ( rule__Testscript__LoopsDeclarationAssignment_4 ) ) ;
+ public final void rule__Testscript__Group__4__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:526:1: ( ( ( rule__Testscript__LoopsDeclarationAssignment_4 ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:527:1: ( ( rule__Testscript__LoopsDeclarationAssignment_4 ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:527:1: ( ( rule__Testscript__LoopsDeclarationAssignment_4 ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:528:1: ( rule__Testscript__LoopsDeclarationAssignment_4 )
+ {
+ before(grammarAccess.getTestscriptAccess().getLoopsDeclarationAssignment_4());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:529:1: ( rule__Testscript__LoopsDeclarationAssignment_4 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:529:2: rule__Testscript__LoopsDeclarationAssignment_4
+ {
+ pushFollow(FOLLOW_rule__Testscript__LoopsDeclarationAssignment_4_in_rule__Testscript__Group__4__Impl1052);
+ rule__Testscript__LoopsDeclarationAssignment_4();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getTestscriptAccess().getLoopsDeclarationAssignment_4());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Testscript__Group__4__Impl"
+
+
+ // $ANTLR start "rule__Testscript__Group__5"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:539:1: rule__Testscript__Group__5 : rule__Testscript__Group__5__Impl rule__Testscript__Group__6 ;
+ public final void rule__Testscript__Group__5() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:543:1: ( rule__Testscript__Group__5__Impl rule__Testscript__Group__6 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:544:2: rule__Testscript__Group__5__Impl rule__Testscript__Group__6
+ {
+ pushFollow(FOLLOW_rule__Testscript__Group__5__Impl_in_rule__Testscript__Group__51082);
+ rule__Testscript__Group__5__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Testscript__Group__6_in_rule__Testscript__Group__51085);
+ rule__Testscript__Group__6();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Testscript__Group__5"
+
+
+ // $ANTLR start "rule__Testscript__Group__5__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:551:1: rule__Testscript__Group__5__Impl : ( ( rule__Testscript__SeedDeclarationAssignment_5 )? ) ;
+ public final void rule__Testscript__Group__5__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:555:1: ( ( ( rule__Testscript__SeedDeclarationAssignment_5 )? ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:556:1: ( ( rule__Testscript__SeedDeclarationAssignment_5 )? )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:556:1: ( ( rule__Testscript__SeedDeclarationAssignment_5 )? )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:557:1: ( rule__Testscript__SeedDeclarationAssignment_5 )?
+ {
+ before(grammarAccess.getTestscriptAccess().getSeedDeclarationAssignment_5());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:558:1: ( rule__Testscript__SeedDeclarationAssignment_5 )?
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( (LA3_0==17) ) {
+ alt3=1;
+ }
+ switch (alt3) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:558:2: rule__Testscript__SeedDeclarationAssignment_5
+ {
+ pushFollow(FOLLOW_rule__Testscript__SeedDeclarationAssignment_5_in_rule__Testscript__Group__5__Impl1112);
+ rule__Testscript__SeedDeclarationAssignment_5();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ }
+
+ after(grammarAccess.getTestscriptAccess().getSeedDeclarationAssignment_5());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Testscript__Group__5__Impl"
+
+
+ // $ANTLR start "rule__Testscript__Group__6"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:568:1: rule__Testscript__Group__6 : rule__Testscript__Group__6__Impl rule__Testscript__Group__7 ;
+ public final void rule__Testscript__Group__6() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:572:1: ( rule__Testscript__Group__6__Impl rule__Testscript__Group__7 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:573:2: rule__Testscript__Group__6__Impl rule__Testscript__Group__7
+ {
+ pushFollow(FOLLOW_rule__Testscript__Group__6__Impl_in_rule__Testscript__Group__61143);
+ rule__Testscript__Group__6__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Testscript__Group__7_in_rule__Testscript__Group__61146);
+ rule__Testscript__Group__7();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Testscript__Group__6"
+
+
+ // $ANTLR start "rule__Testscript__Group__6__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:580:1: rule__Testscript__Group__6__Impl : ( ( rule__Testscript__TransitionDeclarationsAssignment_6 )* ) ;
+ public final void rule__Testscript__Group__6__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:584:1: ( ( ( rule__Testscript__TransitionDeclarationsAssignment_6 )* ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:585:1: ( ( rule__Testscript__TransitionDeclarationsAssignment_6 )* )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:585:1: ( ( rule__Testscript__TransitionDeclarationsAssignment_6 )* )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:586:1: ( rule__Testscript__TransitionDeclarationsAssignment_6 )*
+ {
+ before(grammarAccess.getTestscriptAccess().getTransitionDeclarationsAssignment_6());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:587:1: ( rule__Testscript__TransitionDeclarationsAssignment_6 )*
+ loop4:
+ do {
+ int alt4=2;
+ int LA4_0 = input.LA(1);
+
+ if ( (LA4_0==RULE_ID) ) {
+ alt4=1;
+ }
+
+
+ switch (alt4) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:587:2: rule__Testscript__TransitionDeclarationsAssignment_6
+ {
+ pushFollow(FOLLOW_rule__Testscript__TransitionDeclarationsAssignment_6_in_rule__Testscript__Group__6__Impl1173);
+ rule__Testscript__TransitionDeclarationsAssignment_6();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ default :
+ break loop4;
+ }
+ } while (true);
+
+ after(grammarAccess.getTestscriptAccess().getTransitionDeclarationsAssignment_6());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Testscript__Group__6__Impl"
+
+
+ // $ANTLR start "rule__Testscript__Group__7"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:597:1: rule__Testscript__Group__7 : rule__Testscript__Group__7__Impl ;
+ public final void rule__Testscript__Group__7() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:601:1: ( rule__Testscript__Group__7__Impl )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:602:2: rule__Testscript__Group__7__Impl
+ {
+ pushFollow(FOLLOW_rule__Testscript__Group__7__Impl_in_rule__Testscript__Group__71204);
+ rule__Testscript__Group__7__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Testscript__Group__7"
+
+
+ // $ANTLR start "rule__Testscript__Group__7__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:608:1: rule__Testscript__Group__7__Impl : ( ';' ) ;
+ public final void rule__Testscript__Group__7__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:612:1: ( ( ';' ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:613:1: ( ';' )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:613:1: ( ';' )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:614:1: ';'
+ {
+ before(grammarAccess.getTestscriptAccess().getSemicolonKeyword_7());
+ match(input,12,FOLLOW_12_in_rule__Testscript__Group__7__Impl1232);
+ after(grammarAccess.getTestscriptAccess().getSemicolonKeyword_7());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Testscript__Group__7__Impl"
+
+
+ // $ANTLR start "rule__StateDeclaration__Group__0"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:643:1: rule__StateDeclaration__Group__0 : rule__StateDeclaration__Group__0__Impl rule__StateDeclaration__Group__1 ;
+ public final void rule__StateDeclaration__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:647:1: ( rule__StateDeclaration__Group__0__Impl rule__StateDeclaration__Group__1 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:648:2: rule__StateDeclaration__Group__0__Impl rule__StateDeclaration__Group__1
+ {
+ pushFollow(FOLLOW_rule__StateDeclaration__Group__0__Impl_in_rule__StateDeclaration__Group__01279);
+ rule__StateDeclaration__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__StateDeclaration__Group__1_in_rule__StateDeclaration__Group__01282);
+ rule__StateDeclaration__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__StateDeclaration__Group__0"
+
+
+ // $ANTLR start "rule__StateDeclaration__Group__0__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:655:1: rule__StateDeclaration__Group__0__Impl : ( 'states:' ) ;
+ public final void rule__StateDeclaration__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:659:1: ( ( 'states:' ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:660:1: ( 'states:' )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:660:1: ( 'states:' )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:661:1: 'states:'
+ {
+ before(grammarAccess.getStateDeclarationAccess().getStatesKeyword_0());
+ match(input,13,FOLLOW_13_in_rule__StateDeclaration__Group__0__Impl1310);
+ after(grammarAccess.getStateDeclarationAccess().getStatesKeyword_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__StateDeclaration__Group__0__Impl"
+
+
+ // $ANTLR start "rule__StateDeclaration__Group__1"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:674:1: rule__StateDeclaration__Group__1 : rule__StateDeclaration__Group__1__Impl rule__StateDeclaration__Group__2 ;
+ public final void rule__StateDeclaration__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:678:1: ( rule__StateDeclaration__Group__1__Impl rule__StateDeclaration__Group__2 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:679:2: rule__StateDeclaration__Group__1__Impl rule__StateDeclaration__Group__2
+ {
+ pushFollow(FOLLOW_rule__StateDeclaration__Group__1__Impl_in_rule__StateDeclaration__Group__11341);
+ rule__StateDeclaration__Group__1__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__StateDeclaration__Group__2_in_rule__StateDeclaration__Group__11344);
+ rule__StateDeclaration__Group__2();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__StateDeclaration__Group__1"
+
+
+ // $ANTLR start "rule__StateDeclaration__Group__1__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:686:1: rule__StateDeclaration__Group__1__Impl : ( ( rule__StateDeclaration__StatesAssignment_1 ) ) ;
+ public final void rule__StateDeclaration__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:690:1: ( ( ( rule__StateDeclaration__StatesAssignment_1 ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:691:1: ( ( rule__StateDeclaration__StatesAssignment_1 ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:691:1: ( ( rule__StateDeclaration__StatesAssignment_1 ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:692:1: ( rule__StateDeclaration__StatesAssignment_1 )
+ {
+ before(grammarAccess.getStateDeclarationAccess().getStatesAssignment_1());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:693:1: ( rule__StateDeclaration__StatesAssignment_1 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:693:2: rule__StateDeclaration__StatesAssignment_1
+ {
+ pushFollow(FOLLOW_rule__StateDeclaration__StatesAssignment_1_in_rule__StateDeclaration__Group__1__Impl1371);
+ rule__StateDeclaration__StatesAssignment_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getStateDeclarationAccess().getStatesAssignment_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__StateDeclaration__Group__1__Impl"
+
+
+ // $ANTLR start "rule__StateDeclaration__Group__2"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:703:1: rule__StateDeclaration__Group__2 : rule__StateDeclaration__Group__2__Impl ;
+ public final void rule__StateDeclaration__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:707:1: ( rule__StateDeclaration__Group__2__Impl )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:708:2: rule__StateDeclaration__Group__2__Impl
+ {
+ pushFollow(FOLLOW_rule__StateDeclaration__Group__2__Impl_in_rule__StateDeclaration__Group__21401);
+ rule__StateDeclaration__Group__2__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__StateDeclaration__Group__2"
+
+
+ // $ANTLR start "rule__StateDeclaration__Group__2__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:714:1: rule__StateDeclaration__Group__2__Impl : ( ( rule__StateDeclaration__Group_2__0 )* ) ;
+ public final void rule__StateDeclaration__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:718:1: ( ( ( rule__StateDeclaration__Group_2__0 )* ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:719:1: ( ( rule__StateDeclaration__Group_2__0 )* )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:719:1: ( ( rule__StateDeclaration__Group_2__0 )* )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:720:1: ( rule__StateDeclaration__Group_2__0 )*
+ {
+ before(grammarAccess.getStateDeclarationAccess().getGroup_2());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:721:1: ( rule__StateDeclaration__Group_2__0 )*
+ loop5:
+ do {
+ int alt5=2;
+ int LA5_0 = input.LA(1);
+
+ if ( (LA5_0==14) ) {
+ alt5=1;
+ }
+
+
+ switch (alt5) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:721:2: rule__StateDeclaration__Group_2__0
+ {
+ pushFollow(FOLLOW_rule__StateDeclaration__Group_2__0_in_rule__StateDeclaration__Group__2__Impl1428);
+ rule__StateDeclaration__Group_2__0();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ default :
+ break loop5;
+ }
+ } while (true);
+
+ after(grammarAccess.getStateDeclarationAccess().getGroup_2());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__StateDeclaration__Group__2__Impl"
+
+
+ // $ANTLR start "rule__StateDeclaration__Group_2__0"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:737:1: rule__StateDeclaration__Group_2__0 : rule__StateDeclaration__Group_2__0__Impl rule__StateDeclaration__Group_2__1 ;
+ public final void rule__StateDeclaration__Group_2__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:741:1: ( rule__StateDeclaration__Group_2__0__Impl rule__StateDeclaration__Group_2__1 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:742:2: rule__StateDeclaration__Group_2__0__Impl rule__StateDeclaration__Group_2__1
+ {
+ pushFollow(FOLLOW_rule__StateDeclaration__Group_2__0__Impl_in_rule__StateDeclaration__Group_2__01465);
+ rule__StateDeclaration__Group_2__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__StateDeclaration__Group_2__1_in_rule__StateDeclaration__Group_2__01468);
+ rule__StateDeclaration__Group_2__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__StateDeclaration__Group_2__0"
+
+
+ // $ANTLR start "rule__StateDeclaration__Group_2__0__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:749:1: rule__StateDeclaration__Group_2__0__Impl : ( ',' ) ;
+ public final void rule__StateDeclaration__Group_2__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:753:1: ( ( ',' ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:754:1: ( ',' )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:754:1: ( ',' )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:755:1: ','
+ {
+ before(grammarAccess.getStateDeclarationAccess().getCommaKeyword_2_0());
+ match(input,14,FOLLOW_14_in_rule__StateDeclaration__Group_2__0__Impl1496);
+ after(grammarAccess.getStateDeclarationAccess().getCommaKeyword_2_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__StateDeclaration__Group_2__0__Impl"
+
+
+ // $ANTLR start "rule__StateDeclaration__Group_2__1"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:768:1: rule__StateDeclaration__Group_2__1 : rule__StateDeclaration__Group_2__1__Impl ;
+ public final void rule__StateDeclaration__Group_2__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:772:1: ( rule__StateDeclaration__Group_2__1__Impl )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:773:2: rule__StateDeclaration__Group_2__1__Impl
+ {
+ pushFollow(FOLLOW_rule__StateDeclaration__Group_2__1__Impl_in_rule__StateDeclaration__Group_2__11527);
+ rule__StateDeclaration__Group_2__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__StateDeclaration__Group_2__1"
+
+
+ // $ANTLR start "rule__StateDeclaration__Group_2__1__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:779:1: rule__StateDeclaration__Group_2__1__Impl : ( ( rule__StateDeclaration__StatesAssignment_2_1 ) ) ;
+ public final void rule__StateDeclaration__Group_2__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:783:1: ( ( ( rule__StateDeclaration__StatesAssignment_2_1 ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:784:1: ( ( rule__StateDeclaration__StatesAssignment_2_1 ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:784:1: ( ( rule__StateDeclaration__StatesAssignment_2_1 ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:785:1: ( rule__StateDeclaration__StatesAssignment_2_1 )
+ {
+ before(grammarAccess.getStateDeclarationAccess().getStatesAssignment_2_1());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:786:1: ( rule__StateDeclaration__StatesAssignment_2_1 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:786:2: rule__StateDeclaration__StatesAssignment_2_1
+ {
+ pushFollow(FOLLOW_rule__StateDeclaration__StatesAssignment_2_1_in_rule__StateDeclaration__Group_2__1__Impl1554);
+ rule__StateDeclaration__StatesAssignment_2_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getStateDeclarationAccess().getStatesAssignment_2_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__StateDeclaration__Group_2__1__Impl"
+
+
+ // $ANTLR start "rule__InitialDeclaration__Group__0"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:800:1: rule__InitialDeclaration__Group__0 : rule__InitialDeclaration__Group__0__Impl rule__InitialDeclaration__Group__1 ;
+ public final void rule__InitialDeclaration__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:804:1: ( rule__InitialDeclaration__Group__0__Impl rule__InitialDeclaration__Group__1 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:805:2: rule__InitialDeclaration__Group__0__Impl rule__InitialDeclaration__Group__1
+ {
+ pushFollow(FOLLOW_rule__InitialDeclaration__Group__0__Impl_in_rule__InitialDeclaration__Group__01588);
+ rule__InitialDeclaration__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__InitialDeclaration__Group__1_in_rule__InitialDeclaration__Group__01591);
+ rule__InitialDeclaration__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__InitialDeclaration__Group__0"
+
+
+ // $ANTLR start "rule__InitialDeclaration__Group__0__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:812:1: rule__InitialDeclaration__Group__0__Impl : ( 'initial:' ) ;
+ public final void rule__InitialDeclaration__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:816:1: ( ( 'initial:' ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:817:1: ( 'initial:' )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:817:1: ( 'initial:' )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:818:1: 'initial:'
+ {
+ before(grammarAccess.getInitialDeclarationAccess().getInitialKeyword_0());
+ match(input,15,FOLLOW_15_in_rule__InitialDeclaration__Group__0__Impl1619);
+ after(grammarAccess.getInitialDeclarationAccess().getInitialKeyword_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__InitialDeclaration__Group__0__Impl"
+
+
+ // $ANTLR start "rule__InitialDeclaration__Group__1"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:831:1: rule__InitialDeclaration__Group__1 : rule__InitialDeclaration__Group__1__Impl ;
+ public final void rule__InitialDeclaration__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:835:1: ( rule__InitialDeclaration__Group__1__Impl )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:836:2: rule__InitialDeclaration__Group__1__Impl
+ {
+ pushFollow(FOLLOW_rule__InitialDeclaration__Group__1__Impl_in_rule__InitialDeclaration__Group__11650);
+ rule__InitialDeclaration__Group__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__InitialDeclaration__Group__1"
+
+
+ // $ANTLR start "rule__InitialDeclaration__Group__1__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:842:1: rule__InitialDeclaration__Group__1__Impl : ( ( rule__InitialDeclaration__InitialAssignment_1 ) ) ;
+ public final void rule__InitialDeclaration__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:846:1: ( ( ( rule__InitialDeclaration__InitialAssignment_1 ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:847:1: ( ( rule__InitialDeclaration__InitialAssignment_1 ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:847:1: ( ( rule__InitialDeclaration__InitialAssignment_1 ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:848:1: ( rule__InitialDeclaration__InitialAssignment_1 )
+ {
+ before(grammarAccess.getInitialDeclarationAccess().getInitialAssignment_1());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:849:1: ( rule__InitialDeclaration__InitialAssignment_1 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:849:2: rule__InitialDeclaration__InitialAssignment_1
+ {
+ pushFollow(FOLLOW_rule__InitialDeclaration__InitialAssignment_1_in_rule__InitialDeclaration__Group__1__Impl1677);
+ rule__InitialDeclaration__InitialAssignment_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getInitialDeclarationAccess().getInitialAssignment_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__InitialDeclaration__Group__1__Impl"
+
+
+ // $ANTLR start "rule__LoopsDeclaration__Group__0"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:863:1: rule__LoopsDeclaration__Group__0 : rule__LoopsDeclaration__Group__0__Impl rule__LoopsDeclaration__Group__1 ;
+ public final void rule__LoopsDeclaration__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:867:1: ( rule__LoopsDeclaration__Group__0__Impl rule__LoopsDeclaration__Group__1 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:868:2: rule__LoopsDeclaration__Group__0__Impl rule__LoopsDeclaration__Group__1
+ {
+ pushFollow(FOLLOW_rule__LoopsDeclaration__Group__0__Impl_in_rule__LoopsDeclaration__Group__01711);
+ rule__LoopsDeclaration__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__LoopsDeclaration__Group__1_in_rule__LoopsDeclaration__Group__01714);
+ rule__LoopsDeclaration__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LoopsDeclaration__Group__0"
+
+
+ // $ANTLR start "rule__LoopsDeclaration__Group__0__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:875:1: rule__LoopsDeclaration__Group__0__Impl : ( 'loops:' ) ;
+ public final void rule__LoopsDeclaration__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:879:1: ( ( 'loops:' ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:880:1: ( 'loops:' )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:880:1: ( 'loops:' )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:881:1: 'loops:'
+ {
+ before(grammarAccess.getLoopsDeclarationAccess().getLoopsKeyword_0());
+ match(input,16,FOLLOW_16_in_rule__LoopsDeclaration__Group__0__Impl1742);
+ after(grammarAccess.getLoopsDeclarationAccess().getLoopsKeyword_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LoopsDeclaration__Group__0__Impl"
+
+
+ // $ANTLR start "rule__LoopsDeclaration__Group__1"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:894:1: rule__LoopsDeclaration__Group__1 : rule__LoopsDeclaration__Group__1__Impl ;
+ public final void rule__LoopsDeclaration__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:898:1: ( rule__LoopsDeclaration__Group__1__Impl )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:899:2: rule__LoopsDeclaration__Group__1__Impl
+ {
+ pushFollow(FOLLOW_rule__LoopsDeclaration__Group__1__Impl_in_rule__LoopsDeclaration__Group__11773);
+ rule__LoopsDeclaration__Group__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LoopsDeclaration__Group__1"
+
+
+ // $ANTLR start "rule__LoopsDeclaration__Group__1__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:905:1: rule__LoopsDeclaration__Group__1__Impl : ( ( rule__LoopsDeclaration__ValAssignment_1 ) ) ;
+ public final void rule__LoopsDeclaration__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:909:1: ( ( ( rule__LoopsDeclaration__ValAssignment_1 ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:910:1: ( ( rule__LoopsDeclaration__ValAssignment_1 ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:910:1: ( ( rule__LoopsDeclaration__ValAssignment_1 ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:911:1: ( rule__LoopsDeclaration__ValAssignment_1 )
+ {
+ before(grammarAccess.getLoopsDeclarationAccess().getValAssignment_1());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:912:1: ( rule__LoopsDeclaration__ValAssignment_1 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:912:2: rule__LoopsDeclaration__ValAssignment_1
+ {
+ pushFollow(FOLLOW_rule__LoopsDeclaration__ValAssignment_1_in_rule__LoopsDeclaration__Group__1__Impl1800);
+ rule__LoopsDeclaration__ValAssignment_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getLoopsDeclarationAccess().getValAssignment_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LoopsDeclaration__Group__1__Impl"
+
+
+ // $ANTLR start "rule__SeedDeclaration__Group__0"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:926:1: rule__SeedDeclaration__Group__0 : rule__SeedDeclaration__Group__0__Impl rule__SeedDeclaration__Group__1 ;
+ public final void rule__SeedDeclaration__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:930:1: ( rule__SeedDeclaration__Group__0__Impl rule__SeedDeclaration__Group__1 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:931:2: rule__SeedDeclaration__Group__0__Impl rule__SeedDeclaration__Group__1
+ {
+ pushFollow(FOLLOW_rule__SeedDeclaration__Group__0__Impl_in_rule__SeedDeclaration__Group__01834);
+ rule__SeedDeclaration__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__SeedDeclaration__Group__1_in_rule__SeedDeclaration__Group__01837);
+ rule__SeedDeclaration__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SeedDeclaration__Group__0"
+
+
+ // $ANTLR start "rule__SeedDeclaration__Group__0__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:938:1: rule__SeedDeclaration__Group__0__Impl : ( 'randseed:' ) ;
+ public final void rule__SeedDeclaration__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:942:1: ( ( 'randseed:' ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:943:1: ( 'randseed:' )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:943:1: ( 'randseed:' )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:944:1: 'randseed:'
+ {
+ before(grammarAccess.getSeedDeclarationAccess().getRandseedKeyword_0());
+ match(input,17,FOLLOW_17_in_rule__SeedDeclaration__Group__0__Impl1865);
+ after(grammarAccess.getSeedDeclarationAccess().getRandseedKeyword_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SeedDeclaration__Group__0__Impl"
+
+
+ // $ANTLR start "rule__SeedDeclaration__Group__1"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:957:1: rule__SeedDeclaration__Group__1 : rule__SeedDeclaration__Group__1__Impl ;
+ public final void rule__SeedDeclaration__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:961:1: ( rule__SeedDeclaration__Group__1__Impl )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:962:2: rule__SeedDeclaration__Group__1__Impl
+ {
+ pushFollow(FOLLOW_rule__SeedDeclaration__Group__1__Impl_in_rule__SeedDeclaration__Group__11896);
+ rule__SeedDeclaration__Group__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SeedDeclaration__Group__1"
+
+
+ // $ANTLR start "rule__SeedDeclaration__Group__1__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:968:1: rule__SeedDeclaration__Group__1__Impl : ( ( rule__SeedDeclaration__ValAssignment_1 ) ) ;
+ public final void rule__SeedDeclaration__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:972:1: ( ( ( rule__SeedDeclaration__ValAssignment_1 ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:973:1: ( ( rule__SeedDeclaration__ValAssignment_1 ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:973:1: ( ( rule__SeedDeclaration__ValAssignment_1 ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:974:1: ( rule__SeedDeclaration__ValAssignment_1 )
+ {
+ before(grammarAccess.getSeedDeclarationAccess().getValAssignment_1());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:975:1: ( rule__SeedDeclaration__ValAssignment_1 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:975:2: rule__SeedDeclaration__ValAssignment_1
+ {
+ pushFollow(FOLLOW_rule__SeedDeclaration__ValAssignment_1_in_rule__SeedDeclaration__Group__1__Impl1923);
+ rule__SeedDeclaration__ValAssignment_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getSeedDeclarationAccess().getValAssignment_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SeedDeclaration__Group__1__Impl"
+
+
+ // $ANTLR start "rule__SignalDeclaration__Group__0"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:989:1: rule__SignalDeclaration__Group__0 : rule__SignalDeclaration__Group__0__Impl rule__SignalDeclaration__Group__1 ;
+ public final void rule__SignalDeclaration__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:993:1: ( rule__SignalDeclaration__Group__0__Impl rule__SignalDeclaration__Group__1 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:994:2: rule__SignalDeclaration__Group__0__Impl rule__SignalDeclaration__Group__1
+ {
+ pushFollow(FOLLOW_rule__SignalDeclaration__Group__0__Impl_in_rule__SignalDeclaration__Group__01957);
+ rule__SignalDeclaration__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__SignalDeclaration__Group__1_in_rule__SignalDeclaration__Group__01960);
+ rule__SignalDeclaration__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SignalDeclaration__Group__0"
+
+
+ // $ANTLR start "rule__SignalDeclaration__Group__0__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1001:1: rule__SignalDeclaration__Group__0__Impl : ( ( rule__SignalDeclaration__Group_0__0 )? ) ;
+ public final void rule__SignalDeclaration__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1005:1: ( ( ( rule__SignalDeclaration__Group_0__0 )? ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1006:1: ( ( rule__SignalDeclaration__Group_0__0 )? )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1006:1: ( ( rule__SignalDeclaration__Group_0__0 )? )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1007:1: ( rule__SignalDeclaration__Group_0__0 )?
+ {
+ before(grammarAccess.getSignalDeclarationAccess().getGroup_0());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1008:1: ( rule__SignalDeclaration__Group_0__0 )?
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0==RULE_ID) ) {
+ int LA6_1 = input.LA(2);
+
+ if ( (LA6_1==18) ) {
+ alt6=1;
+ }
+ }
+ switch (alt6) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1008:2: rule__SignalDeclaration__Group_0__0
+ {
+ pushFollow(FOLLOW_rule__SignalDeclaration__Group_0__0_in_rule__SignalDeclaration__Group__0__Impl1987);
+ rule__SignalDeclaration__Group_0__0();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ }
+
+ after(grammarAccess.getSignalDeclarationAccess().getGroup_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SignalDeclaration__Group__0__Impl"
+
+
+ // $ANTLR start "rule__SignalDeclaration__Group__1"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1018:1: rule__SignalDeclaration__Group__1 : rule__SignalDeclaration__Group__1__Impl rule__SignalDeclaration__Group__2 ;
+ public final void rule__SignalDeclaration__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1022:1: ( rule__SignalDeclaration__Group__1__Impl rule__SignalDeclaration__Group__2 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1023:2: rule__SignalDeclaration__Group__1__Impl rule__SignalDeclaration__Group__2
+ {
+ pushFollow(FOLLOW_rule__SignalDeclaration__Group__1__Impl_in_rule__SignalDeclaration__Group__12018);
+ rule__SignalDeclaration__Group__1__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__SignalDeclaration__Group__2_in_rule__SignalDeclaration__Group__12021);
+ rule__SignalDeclaration__Group__2();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SignalDeclaration__Group__1"
+
+
+ // $ANTLR start "rule__SignalDeclaration__Group__1__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1030:1: rule__SignalDeclaration__Group__1__Impl : ( ( rule__SignalDeclaration__SignameAssignment_1 ) ) ;
+ public final void rule__SignalDeclaration__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1034:1: ( ( ( rule__SignalDeclaration__SignameAssignment_1 ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1035:1: ( ( rule__SignalDeclaration__SignameAssignment_1 ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1035:1: ( ( rule__SignalDeclaration__SignameAssignment_1 ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1036:1: ( rule__SignalDeclaration__SignameAssignment_1 )
+ {
+ before(grammarAccess.getSignalDeclarationAccess().getSignameAssignment_1());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1037:1: ( rule__SignalDeclaration__SignameAssignment_1 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1037:2: rule__SignalDeclaration__SignameAssignment_1
+ {
+ pushFollow(FOLLOW_rule__SignalDeclaration__SignameAssignment_1_in_rule__SignalDeclaration__Group__1__Impl2048);
+ rule__SignalDeclaration__SignameAssignment_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getSignalDeclarationAccess().getSignameAssignment_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SignalDeclaration__Group__1__Impl"
+
+
+ // $ANTLR start "rule__SignalDeclaration__Group__2"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1047:1: rule__SignalDeclaration__Group__2 : rule__SignalDeclaration__Group__2__Impl ;
+ public final void rule__SignalDeclaration__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1051:1: ( rule__SignalDeclaration__Group__2__Impl )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1052:2: rule__SignalDeclaration__Group__2__Impl
+ {
+ pushFollow(FOLLOW_rule__SignalDeclaration__Group__2__Impl_in_rule__SignalDeclaration__Group__22078);
+ rule__SignalDeclaration__Group__2__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SignalDeclaration__Group__2"
+
+
+ // $ANTLR start "rule__SignalDeclaration__Group__2__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1058:1: rule__SignalDeclaration__Group__2__Impl : ( ( rule__SignalDeclaration__Alternatives_2 )? ) ;
+ public final void rule__SignalDeclaration__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1062:1: ( ( ( rule__SignalDeclaration__Alternatives_2 )? ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1063:1: ( ( rule__SignalDeclaration__Alternatives_2 )? )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1063:1: ( ( rule__SignalDeclaration__Alternatives_2 )? )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1064:1: ( rule__SignalDeclaration__Alternatives_2 )?
+ {
+ before(grammarAccess.getSignalDeclarationAccess().getAlternatives_2());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1065:1: ( rule__SignalDeclaration__Alternatives_2 )?
+ int alt7=2;
+ int LA7_0 = input.LA(1);
+
+ if ( (LA7_0==19) ) {
+ alt7=1;
+ }
+ switch (alt7) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1065:2: rule__SignalDeclaration__Alternatives_2
+ {
+ pushFollow(FOLLOW_rule__SignalDeclaration__Alternatives_2_in_rule__SignalDeclaration__Group__2__Impl2105);
+ rule__SignalDeclaration__Alternatives_2();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ }
+
+ after(grammarAccess.getSignalDeclarationAccess().getAlternatives_2());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SignalDeclaration__Group__2__Impl"
+
+
+ // $ANTLR start "rule__SignalDeclaration__Group_0__0"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1081:1: rule__SignalDeclaration__Group_0__0 : rule__SignalDeclaration__Group_0__0__Impl rule__SignalDeclaration__Group_0__1 ;
+ public final void rule__SignalDeclaration__Group_0__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1085:1: ( rule__SignalDeclaration__Group_0__0__Impl rule__SignalDeclaration__Group_0__1 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1086:2: rule__SignalDeclaration__Group_0__0__Impl rule__SignalDeclaration__Group_0__1
+ {
+ pushFollow(FOLLOW_rule__SignalDeclaration__Group_0__0__Impl_in_rule__SignalDeclaration__Group_0__02142);
+ rule__SignalDeclaration__Group_0__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__SignalDeclaration__Group_0__1_in_rule__SignalDeclaration__Group_0__02145);
+ rule__SignalDeclaration__Group_0__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SignalDeclaration__Group_0__0"
+
+
+ // $ANTLR start "rule__SignalDeclaration__Group_0__0__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1093:1: rule__SignalDeclaration__Group_0__0__Impl : ( ( rule__SignalDeclaration__PortAssignment_0_0 ) ) ;
+ public final void rule__SignalDeclaration__Group_0__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1097:1: ( ( ( rule__SignalDeclaration__PortAssignment_0_0 ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1098:1: ( ( rule__SignalDeclaration__PortAssignment_0_0 ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1098:1: ( ( rule__SignalDeclaration__PortAssignment_0_0 ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1099:1: ( rule__SignalDeclaration__PortAssignment_0_0 )
+ {
+ before(grammarAccess.getSignalDeclarationAccess().getPortAssignment_0_0());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1100:1: ( rule__SignalDeclaration__PortAssignment_0_0 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1100:2: rule__SignalDeclaration__PortAssignment_0_0
+ {
+ pushFollow(FOLLOW_rule__SignalDeclaration__PortAssignment_0_0_in_rule__SignalDeclaration__Group_0__0__Impl2172);
+ rule__SignalDeclaration__PortAssignment_0_0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getSignalDeclarationAccess().getPortAssignment_0_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SignalDeclaration__Group_0__0__Impl"
+
+
+ // $ANTLR start "rule__SignalDeclaration__Group_0__1"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1110:1: rule__SignalDeclaration__Group_0__1 : rule__SignalDeclaration__Group_0__1__Impl ;
+ public final void rule__SignalDeclaration__Group_0__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1114:1: ( rule__SignalDeclaration__Group_0__1__Impl )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1115:2: rule__SignalDeclaration__Group_0__1__Impl
+ {
+ pushFollow(FOLLOW_rule__SignalDeclaration__Group_0__1__Impl_in_rule__SignalDeclaration__Group_0__12202);
+ rule__SignalDeclaration__Group_0__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SignalDeclaration__Group_0__1"
+
+
+ // $ANTLR start "rule__SignalDeclaration__Group_0__1__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1121:1: rule__SignalDeclaration__Group_0__1__Impl : ( '.' ) ;
+ public final void rule__SignalDeclaration__Group_0__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1125:1: ( ( '.' ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1126:1: ( '.' )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1126:1: ( '.' )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1127:1: '.'
+ {
+ before(grammarAccess.getSignalDeclarationAccess().getFullStopKeyword_0_1());
+ match(input,18,FOLLOW_18_in_rule__SignalDeclaration__Group_0__1__Impl2230);
+ after(grammarAccess.getSignalDeclarationAccess().getFullStopKeyword_0_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SignalDeclaration__Group_0__1__Impl"
+
+
+ // $ANTLR start "rule__SignalDeclaration__Group_2_0__0"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1144:1: rule__SignalDeclaration__Group_2_0__0 : rule__SignalDeclaration__Group_2_0__0__Impl rule__SignalDeclaration__Group_2_0__1 ;
+ public final void rule__SignalDeclaration__Group_2_0__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1148:1: ( rule__SignalDeclaration__Group_2_0__0__Impl rule__SignalDeclaration__Group_2_0__1 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1149:2: rule__SignalDeclaration__Group_2_0__0__Impl rule__SignalDeclaration__Group_2_0__1
+ {
+ pushFollow(FOLLOW_rule__SignalDeclaration__Group_2_0__0__Impl_in_rule__SignalDeclaration__Group_2_0__02265);
+ rule__SignalDeclaration__Group_2_0__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__SignalDeclaration__Group_2_0__1_in_rule__SignalDeclaration__Group_2_0__02268);
+ rule__SignalDeclaration__Group_2_0__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SignalDeclaration__Group_2_0__0"
+
+
+ // $ANTLR start "rule__SignalDeclaration__Group_2_0__0__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1156:1: rule__SignalDeclaration__Group_2_0__0__Impl : ( '=' ) ;
+ public final void rule__SignalDeclaration__Group_2_0__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1160:1: ( ( '=' ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1161:1: ( '=' )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1161:1: ( '=' )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1162:1: '='
+ {
+ before(grammarAccess.getSignalDeclarationAccess().getEqualsSignKeyword_2_0_0());
+ match(input,19,FOLLOW_19_in_rule__SignalDeclaration__Group_2_0__0__Impl2296);
+ after(grammarAccess.getSignalDeclarationAccess().getEqualsSignKeyword_2_0_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SignalDeclaration__Group_2_0__0__Impl"
+
+
+ // $ANTLR start "rule__SignalDeclaration__Group_2_0__1"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1175:1: rule__SignalDeclaration__Group_2_0__1 : rule__SignalDeclaration__Group_2_0__1__Impl ;
+ public final void rule__SignalDeclaration__Group_2_0__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1179:1: ( rule__SignalDeclaration__Group_2_0__1__Impl )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1180:2: rule__SignalDeclaration__Group_2_0__1__Impl
+ {
+ pushFollow(FOLLOW_rule__SignalDeclaration__Group_2_0__1__Impl_in_rule__SignalDeclaration__Group_2_0__12327);
+ rule__SignalDeclaration__Group_2_0__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SignalDeclaration__Group_2_0__1"
+
+
+ // $ANTLR start "rule__SignalDeclaration__Group_2_0__1__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1186:1: rule__SignalDeclaration__Group_2_0__1__Impl : ( ( rule__SignalDeclaration__IntValAssignment_2_0_1 ) ) ;
+ public final void rule__SignalDeclaration__Group_2_0__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1190:1: ( ( ( rule__SignalDeclaration__IntValAssignment_2_0_1 ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1191:1: ( ( rule__SignalDeclaration__IntValAssignment_2_0_1 ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1191:1: ( ( rule__SignalDeclaration__IntValAssignment_2_0_1 ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1192:1: ( rule__SignalDeclaration__IntValAssignment_2_0_1 )
+ {
+ before(grammarAccess.getSignalDeclarationAccess().getIntValAssignment_2_0_1());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1193:1: ( rule__SignalDeclaration__IntValAssignment_2_0_1 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1193:2: rule__SignalDeclaration__IntValAssignment_2_0_1
+ {
+ pushFollow(FOLLOW_rule__SignalDeclaration__IntValAssignment_2_0_1_in_rule__SignalDeclaration__Group_2_0__1__Impl2354);
+ rule__SignalDeclaration__IntValAssignment_2_0_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getSignalDeclarationAccess().getIntValAssignment_2_0_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SignalDeclaration__Group_2_0__1__Impl"
+
+
+ // $ANTLR start "rule__SignalDeclaration__Group_2_1__0"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1207:1: rule__SignalDeclaration__Group_2_1__0 : rule__SignalDeclaration__Group_2_1__0__Impl rule__SignalDeclaration__Group_2_1__1 ;
+ public final void rule__SignalDeclaration__Group_2_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1211:1: ( rule__SignalDeclaration__Group_2_1__0__Impl rule__SignalDeclaration__Group_2_1__1 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1212:2: rule__SignalDeclaration__Group_2_1__0__Impl rule__SignalDeclaration__Group_2_1__1
+ {
+ pushFollow(FOLLOW_rule__SignalDeclaration__Group_2_1__0__Impl_in_rule__SignalDeclaration__Group_2_1__02388);
+ rule__SignalDeclaration__Group_2_1__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__SignalDeclaration__Group_2_1__1_in_rule__SignalDeclaration__Group_2_1__02391);
+ rule__SignalDeclaration__Group_2_1__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SignalDeclaration__Group_2_1__0"
+
+
+ // $ANTLR start "rule__SignalDeclaration__Group_2_1__0__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1219:1: rule__SignalDeclaration__Group_2_1__0__Impl : ( '=' ) ;
+ public final void rule__SignalDeclaration__Group_2_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1223:1: ( ( '=' ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1224:1: ( '=' )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1224:1: ( '=' )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1225:1: '='
+ {
+ before(grammarAccess.getSignalDeclarationAccess().getEqualsSignKeyword_2_1_0());
+ match(input,19,FOLLOW_19_in_rule__SignalDeclaration__Group_2_1__0__Impl2419);
+ after(grammarAccess.getSignalDeclarationAccess().getEqualsSignKeyword_2_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SignalDeclaration__Group_2_1__0__Impl"
+
+
+ // $ANTLR start "rule__SignalDeclaration__Group_2_1__1"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1238:1: rule__SignalDeclaration__Group_2_1__1 : rule__SignalDeclaration__Group_2_1__1__Impl ;
+ public final void rule__SignalDeclaration__Group_2_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1242:1: ( rule__SignalDeclaration__Group_2_1__1__Impl )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1243:2: rule__SignalDeclaration__Group_2_1__1__Impl
+ {
+ pushFollow(FOLLOW_rule__SignalDeclaration__Group_2_1__1__Impl_in_rule__SignalDeclaration__Group_2_1__12450);
+ rule__SignalDeclaration__Group_2_1__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SignalDeclaration__Group_2_1__1"
+
+
+ // $ANTLR start "rule__SignalDeclaration__Group_2_1__1__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1249:1: rule__SignalDeclaration__Group_2_1__1__Impl : ( ( rule__SignalDeclaration__StrValAssignment_2_1_1 ) ) ;
+ public final void rule__SignalDeclaration__Group_2_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1253:1: ( ( ( rule__SignalDeclaration__StrValAssignment_2_1_1 ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1254:1: ( ( rule__SignalDeclaration__StrValAssignment_2_1_1 ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1254:1: ( ( rule__SignalDeclaration__StrValAssignment_2_1_1 ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1255:1: ( rule__SignalDeclaration__StrValAssignment_2_1_1 )
+ {
+ before(grammarAccess.getSignalDeclarationAccess().getStrValAssignment_2_1_1());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1256:1: ( rule__SignalDeclaration__StrValAssignment_2_1_1 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1256:2: rule__SignalDeclaration__StrValAssignment_2_1_1
+ {
+ pushFollow(FOLLOW_rule__SignalDeclaration__StrValAssignment_2_1_1_in_rule__SignalDeclaration__Group_2_1__1__Impl2477);
+ rule__SignalDeclaration__StrValAssignment_2_1_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getSignalDeclarationAccess().getStrValAssignment_2_1_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SignalDeclaration__Group_2_1__1__Impl"
+
+
+ // $ANTLR start "rule__SourceDeclaration__Group__0"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1270:1: rule__SourceDeclaration__Group__0 : rule__SourceDeclaration__Group__0__Impl rule__SourceDeclaration__Group__1 ;
+ public final void rule__SourceDeclaration__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1274:1: ( rule__SourceDeclaration__Group__0__Impl rule__SourceDeclaration__Group__1 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1275:2: rule__SourceDeclaration__Group__0__Impl rule__SourceDeclaration__Group__1
+ {
+ pushFollow(FOLLOW_rule__SourceDeclaration__Group__0__Impl_in_rule__SourceDeclaration__Group__02511);
+ rule__SourceDeclaration__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__SourceDeclaration__Group__1_in_rule__SourceDeclaration__Group__02514);
+ rule__SourceDeclaration__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SourceDeclaration__Group__0"
+
+
+ // $ANTLR start "rule__SourceDeclaration__Group__0__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1282:1: rule__SourceDeclaration__Group__0__Impl : ( ( rule__SourceDeclaration__RefAssignment_0 ) ) ;
+ public final void rule__SourceDeclaration__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1286:1: ( ( ( rule__SourceDeclaration__RefAssignment_0 ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1287:1: ( ( rule__SourceDeclaration__RefAssignment_0 ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1287:1: ( ( rule__SourceDeclaration__RefAssignment_0 ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1288:1: ( rule__SourceDeclaration__RefAssignment_0 )
+ {
+ before(grammarAccess.getSourceDeclarationAccess().getRefAssignment_0());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1289:1: ( rule__SourceDeclaration__RefAssignment_0 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1289:2: rule__SourceDeclaration__RefAssignment_0
+ {
+ pushFollow(FOLLOW_rule__SourceDeclaration__RefAssignment_0_in_rule__SourceDeclaration__Group__0__Impl2541);
+ rule__SourceDeclaration__RefAssignment_0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getSourceDeclarationAccess().getRefAssignment_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SourceDeclaration__Group__0__Impl"
+
+
+ // $ANTLR start "rule__SourceDeclaration__Group__1"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1299:1: rule__SourceDeclaration__Group__1 : rule__SourceDeclaration__Group__1__Impl ;
+ public final void rule__SourceDeclaration__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1303:1: ( rule__SourceDeclaration__Group__1__Impl )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1304:2: rule__SourceDeclaration__Group__1__Impl
+ {
+ pushFollow(FOLLOW_rule__SourceDeclaration__Group__1__Impl_in_rule__SourceDeclaration__Group__12571);
+ rule__SourceDeclaration__Group__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SourceDeclaration__Group__1"
+
+
+ // $ANTLR start "rule__SourceDeclaration__Group__1__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1310:1: rule__SourceDeclaration__Group__1__Impl : ( ':' ) ;
+ public final void rule__SourceDeclaration__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1314:1: ( ( ':' ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1315:1: ( ':' )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1315:1: ( ':' )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1316:1: ':'
+ {
+ before(grammarAccess.getSourceDeclarationAccess().getColonKeyword_1());
+ match(input,20,FOLLOW_20_in_rule__SourceDeclaration__Group__1__Impl2599);
+ after(grammarAccess.getSourceDeclarationAccess().getColonKeyword_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SourceDeclaration__Group__1__Impl"
+
+
+ // $ANTLR start "rule__DestinationDeclaration__Group__0"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1333:1: rule__DestinationDeclaration__Group__0 : rule__DestinationDeclaration__Group__0__Impl rule__DestinationDeclaration__Group__1 ;
+ public final void rule__DestinationDeclaration__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1337:1: ( rule__DestinationDeclaration__Group__0__Impl rule__DestinationDeclaration__Group__1 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1338:2: rule__DestinationDeclaration__Group__0__Impl rule__DestinationDeclaration__Group__1
+ {
+ pushFollow(FOLLOW_rule__DestinationDeclaration__Group__0__Impl_in_rule__DestinationDeclaration__Group__02634);
+ rule__DestinationDeclaration__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__DestinationDeclaration__Group__1_in_rule__DestinationDeclaration__Group__02637);
+ rule__DestinationDeclaration__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DestinationDeclaration__Group__0"
+
+
+ // $ANTLR start "rule__DestinationDeclaration__Group__0__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1345:1: rule__DestinationDeclaration__Group__0__Impl : ( '-> ' ) ;
+ public final void rule__DestinationDeclaration__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1349:1: ( ( '-> ' ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1350:1: ( '-> ' )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1350:1: ( '-> ' )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1351:1: '-> '
+ {
+ before(grammarAccess.getDestinationDeclarationAccess().getHyphenMinusGreaterThanSignSpaceKeyword_0());
+ match(input,21,FOLLOW_21_in_rule__DestinationDeclaration__Group__0__Impl2665);
+ after(grammarAccess.getDestinationDeclarationAccess().getHyphenMinusGreaterThanSignSpaceKeyword_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DestinationDeclaration__Group__0__Impl"
+
+
+ // $ANTLR start "rule__DestinationDeclaration__Group__1"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1364:1: rule__DestinationDeclaration__Group__1 : rule__DestinationDeclaration__Group__1__Impl ;
+ public final void rule__DestinationDeclaration__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1368:1: ( rule__DestinationDeclaration__Group__1__Impl )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1369:2: rule__DestinationDeclaration__Group__1__Impl
+ {
+ pushFollow(FOLLOW_rule__DestinationDeclaration__Group__1__Impl_in_rule__DestinationDeclaration__Group__12696);
+ rule__DestinationDeclaration__Group__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DestinationDeclaration__Group__1"
+
+
+ // $ANTLR start "rule__DestinationDeclaration__Group__1__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1375:1: rule__DestinationDeclaration__Group__1__Impl : ( ( rule__DestinationDeclaration__RefAssignment_1 ) ) ;
+ public final void rule__DestinationDeclaration__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1379:1: ( ( ( rule__DestinationDeclaration__RefAssignment_1 ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1380:1: ( ( rule__DestinationDeclaration__RefAssignment_1 ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1380:1: ( ( rule__DestinationDeclaration__RefAssignment_1 ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1381:1: ( rule__DestinationDeclaration__RefAssignment_1 )
+ {
+ before(grammarAccess.getDestinationDeclarationAccess().getRefAssignment_1());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1382:1: ( rule__DestinationDeclaration__RefAssignment_1 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1382:2: rule__DestinationDeclaration__RefAssignment_1
+ {
+ pushFollow(FOLLOW_rule__DestinationDeclaration__RefAssignment_1_in_rule__DestinationDeclaration__Group__1__Impl2723);
+ rule__DestinationDeclaration__RefAssignment_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getDestinationDeclarationAccess().getRefAssignment_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DestinationDeclaration__Group__1__Impl"
+
+
+ // $ANTLR start "rule__TransitionDeclaration__Group__0"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1396:1: rule__TransitionDeclaration__Group__0 : rule__TransitionDeclaration__Group__0__Impl rule__TransitionDeclaration__Group__1 ;
+ public final void rule__TransitionDeclaration__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1400:1: ( rule__TransitionDeclaration__Group__0__Impl rule__TransitionDeclaration__Group__1 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1401:2: rule__TransitionDeclaration__Group__0__Impl rule__TransitionDeclaration__Group__1
+ {
+ pushFollow(FOLLOW_rule__TransitionDeclaration__Group__0__Impl_in_rule__TransitionDeclaration__Group__02757);
+ rule__TransitionDeclaration__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__TransitionDeclaration__Group__1_in_rule__TransitionDeclaration__Group__02760);
+ rule__TransitionDeclaration__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransitionDeclaration__Group__0"
+
+
+ // $ANTLR start "rule__TransitionDeclaration__Group__0__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1408:1: rule__TransitionDeclaration__Group__0__Impl : ( ( rule__TransitionDeclaration__SourceAssignment_0 ) ) ;
+ public final void rule__TransitionDeclaration__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1412:1: ( ( ( rule__TransitionDeclaration__SourceAssignment_0 ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1413:1: ( ( rule__TransitionDeclaration__SourceAssignment_0 ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1413:1: ( ( rule__TransitionDeclaration__SourceAssignment_0 ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1414:1: ( rule__TransitionDeclaration__SourceAssignment_0 )
+ {
+ before(grammarAccess.getTransitionDeclarationAccess().getSourceAssignment_0());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1415:1: ( rule__TransitionDeclaration__SourceAssignment_0 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1415:2: rule__TransitionDeclaration__SourceAssignment_0
+ {
+ pushFollow(FOLLOW_rule__TransitionDeclaration__SourceAssignment_0_in_rule__TransitionDeclaration__Group__0__Impl2787);
+ rule__TransitionDeclaration__SourceAssignment_0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getTransitionDeclarationAccess().getSourceAssignment_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransitionDeclaration__Group__0__Impl"
+
+
+ // $ANTLR start "rule__TransitionDeclaration__Group__1"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1425:1: rule__TransitionDeclaration__Group__1 : rule__TransitionDeclaration__Group__1__Impl rule__TransitionDeclaration__Group__2 ;
+ public final void rule__TransitionDeclaration__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1429:1: ( rule__TransitionDeclaration__Group__1__Impl rule__TransitionDeclaration__Group__2 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1430:2: rule__TransitionDeclaration__Group__1__Impl rule__TransitionDeclaration__Group__2
+ {
+ pushFollow(FOLLOW_rule__TransitionDeclaration__Group__1__Impl_in_rule__TransitionDeclaration__Group__12817);
+ rule__TransitionDeclaration__Group__1__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__TransitionDeclaration__Group__2_in_rule__TransitionDeclaration__Group__12820);
+ rule__TransitionDeclaration__Group__2();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransitionDeclaration__Group__1"
+
+
+ // $ANTLR start "rule__TransitionDeclaration__Group__1__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1437:1: rule__TransitionDeclaration__Group__1__Impl : ( 'in:' ) ;
+ public final void rule__TransitionDeclaration__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1441:1: ( ( 'in:' ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1442:1: ( 'in:' )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1442:1: ( 'in:' )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1443:1: 'in:'
+ {
+ before(grammarAccess.getTransitionDeclarationAccess().getInKeyword_1());
+ match(input,22,FOLLOW_22_in_rule__TransitionDeclaration__Group__1__Impl2848);
+ after(grammarAccess.getTransitionDeclarationAccess().getInKeyword_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransitionDeclaration__Group__1__Impl"
+
+
+ // $ANTLR start "rule__TransitionDeclaration__Group__2"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1456:1: rule__TransitionDeclaration__Group__2 : rule__TransitionDeclaration__Group__2__Impl rule__TransitionDeclaration__Group__3 ;
+ public final void rule__TransitionDeclaration__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1460:1: ( rule__TransitionDeclaration__Group__2__Impl rule__TransitionDeclaration__Group__3 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1461:2: rule__TransitionDeclaration__Group__2__Impl rule__TransitionDeclaration__Group__3
+ {
+ pushFollow(FOLLOW_rule__TransitionDeclaration__Group__2__Impl_in_rule__TransitionDeclaration__Group__22879);
+ rule__TransitionDeclaration__Group__2__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__TransitionDeclaration__Group__3_in_rule__TransitionDeclaration__Group__22882);
+ rule__TransitionDeclaration__Group__3();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransitionDeclaration__Group__2"
+
+
+ // $ANTLR start "rule__TransitionDeclaration__Group__2__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1468:1: rule__TransitionDeclaration__Group__2__Impl : ( ( rule__TransitionDeclaration__InAssignment_2 )* ) ;
+ public final void rule__TransitionDeclaration__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1472:1: ( ( ( rule__TransitionDeclaration__InAssignment_2 )* ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1473:1: ( ( rule__TransitionDeclaration__InAssignment_2 )* )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1473:1: ( ( rule__TransitionDeclaration__InAssignment_2 )* )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1474:1: ( rule__TransitionDeclaration__InAssignment_2 )*
+ {
+ before(grammarAccess.getTransitionDeclarationAccess().getInAssignment_2());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1475:1: ( rule__TransitionDeclaration__InAssignment_2 )*
+ loop8:
+ do {
+ int alt8=2;
+ int LA8_0 = input.LA(1);
+
+ if ( (LA8_0==RULE_ID) ) {
+ alt8=1;
+ }
+
+
+ switch (alt8) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1475:2: rule__TransitionDeclaration__InAssignment_2
+ {
+ pushFollow(FOLLOW_rule__TransitionDeclaration__InAssignment_2_in_rule__TransitionDeclaration__Group__2__Impl2909);
+ rule__TransitionDeclaration__InAssignment_2();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ default :
+ break loop8;
+ }
+ } while (true);
+
+ after(grammarAccess.getTransitionDeclarationAccess().getInAssignment_2());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransitionDeclaration__Group__2__Impl"
+
+
+ // $ANTLR start "rule__TransitionDeclaration__Group__3"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1485:1: rule__TransitionDeclaration__Group__3 : rule__TransitionDeclaration__Group__3__Impl rule__TransitionDeclaration__Group__4 ;
+ public final void rule__TransitionDeclaration__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1489:1: ( rule__TransitionDeclaration__Group__3__Impl rule__TransitionDeclaration__Group__4 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1490:2: rule__TransitionDeclaration__Group__3__Impl rule__TransitionDeclaration__Group__4
+ {
+ pushFollow(FOLLOW_rule__TransitionDeclaration__Group__3__Impl_in_rule__TransitionDeclaration__Group__32940);
+ rule__TransitionDeclaration__Group__3__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__TransitionDeclaration__Group__4_in_rule__TransitionDeclaration__Group__32943);
+ rule__TransitionDeclaration__Group__4();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransitionDeclaration__Group__3"
+
+
+ // $ANTLR start "rule__TransitionDeclaration__Group__3__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1497:1: rule__TransitionDeclaration__Group__3__Impl : ( 'out:' ) ;
+ public final void rule__TransitionDeclaration__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1501:1: ( ( 'out:' ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1502:1: ( 'out:' )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1502:1: ( 'out:' )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1503:1: 'out:'
+ {
+ before(grammarAccess.getTransitionDeclarationAccess().getOutKeyword_3());
+ match(input,23,FOLLOW_23_in_rule__TransitionDeclaration__Group__3__Impl2971);
+ after(grammarAccess.getTransitionDeclarationAccess().getOutKeyword_3());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransitionDeclaration__Group__3__Impl"
+
+
+ // $ANTLR start "rule__TransitionDeclaration__Group__4"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1516:1: rule__TransitionDeclaration__Group__4 : rule__TransitionDeclaration__Group__4__Impl rule__TransitionDeclaration__Group__5 ;
+ public final void rule__TransitionDeclaration__Group__4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1520:1: ( rule__TransitionDeclaration__Group__4__Impl rule__TransitionDeclaration__Group__5 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1521:2: rule__TransitionDeclaration__Group__4__Impl rule__TransitionDeclaration__Group__5
+ {
+ pushFollow(FOLLOW_rule__TransitionDeclaration__Group__4__Impl_in_rule__TransitionDeclaration__Group__43002);
+ rule__TransitionDeclaration__Group__4__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__TransitionDeclaration__Group__5_in_rule__TransitionDeclaration__Group__43005);
+ rule__TransitionDeclaration__Group__5();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransitionDeclaration__Group__4"
+
+
+ // $ANTLR start "rule__TransitionDeclaration__Group__4__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1528:1: rule__TransitionDeclaration__Group__4__Impl : ( ( rule__TransitionDeclaration__OutAssignment_4 )* ) ;
+ public final void rule__TransitionDeclaration__Group__4__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1532:1: ( ( ( rule__TransitionDeclaration__OutAssignment_4 )* ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1533:1: ( ( rule__TransitionDeclaration__OutAssignment_4 )* )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1533:1: ( ( rule__TransitionDeclaration__OutAssignment_4 )* )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1534:1: ( rule__TransitionDeclaration__OutAssignment_4 )*
+ {
+ before(grammarAccess.getTransitionDeclarationAccess().getOutAssignment_4());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1535:1: ( rule__TransitionDeclaration__OutAssignment_4 )*
+ loop9:
+ do {
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( (LA9_0==RULE_ID) ) {
+ alt9=1;
+ }
+
+
+ switch (alt9) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1535:2: rule__TransitionDeclaration__OutAssignment_4
+ {
+ pushFollow(FOLLOW_rule__TransitionDeclaration__OutAssignment_4_in_rule__TransitionDeclaration__Group__4__Impl3032);
+ rule__TransitionDeclaration__OutAssignment_4();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ default :
+ break loop9;
+ }
+ } while (true);
+
+ after(grammarAccess.getTransitionDeclarationAccess().getOutAssignment_4());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransitionDeclaration__Group__4__Impl"
+
+
+ // $ANTLR start "rule__TransitionDeclaration__Group__5"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1545:1: rule__TransitionDeclaration__Group__5 : rule__TransitionDeclaration__Group__5__Impl ;
+ public final void rule__TransitionDeclaration__Group__5() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1549:1: ( rule__TransitionDeclaration__Group__5__Impl )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1550:2: rule__TransitionDeclaration__Group__5__Impl
+ {
+ pushFollow(FOLLOW_rule__TransitionDeclaration__Group__5__Impl_in_rule__TransitionDeclaration__Group__53063);
+ rule__TransitionDeclaration__Group__5__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransitionDeclaration__Group__5"
+
+
+ // $ANTLR start "rule__TransitionDeclaration__Group__5__Impl"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1556:1: rule__TransitionDeclaration__Group__5__Impl : ( ( rule__TransitionDeclaration__DestinationAssignment_5 ) ) ;
+ public final void rule__TransitionDeclaration__Group__5__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1560:1: ( ( ( rule__TransitionDeclaration__DestinationAssignment_5 ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1561:1: ( ( rule__TransitionDeclaration__DestinationAssignment_5 ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1561:1: ( ( rule__TransitionDeclaration__DestinationAssignment_5 ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1562:1: ( rule__TransitionDeclaration__DestinationAssignment_5 )
+ {
+ before(grammarAccess.getTransitionDeclarationAccess().getDestinationAssignment_5());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1563:1: ( rule__TransitionDeclaration__DestinationAssignment_5 )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1563:2: rule__TransitionDeclaration__DestinationAssignment_5
+ {
+ pushFollow(FOLLOW_rule__TransitionDeclaration__DestinationAssignment_5_in_rule__TransitionDeclaration__Group__5__Impl3090);
+ rule__TransitionDeclaration__DestinationAssignment_5();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getTransitionDeclarationAccess().getDestinationAssignment_5());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransitionDeclaration__Group__5__Impl"
+
+
+ // $ANTLR start "rule__Model__TestscriptsAssignment"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1586:1: rule__Model__TestscriptsAssignment : ( ruleTestscript ) ;
+ public final void rule__Model__TestscriptsAssignment() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1590:1: ( ( ruleTestscript ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1591:1: ( ruleTestscript )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1591:1: ( ruleTestscript )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1592:1: ruleTestscript
+ {
+ before(grammarAccess.getModelAccess().getTestscriptsTestscriptParserRuleCall_0());
+ pushFollow(FOLLOW_ruleTestscript_in_rule__Model__TestscriptsAssignment3137);
+ ruleTestscript();
+
+ state._fsp--;
+
+ after(grammarAccess.getModelAccess().getTestscriptsTestscriptParserRuleCall_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Model__TestscriptsAssignment"
+
+
+ // $ANTLR start "rule__Testscript__NameAssignment_1"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1601:1: rule__Testscript__NameAssignment_1 : ( RULE_ID ) ;
+ public final void rule__Testscript__NameAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1605:1: ( ( RULE_ID ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1606:1: ( RULE_ID )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1606:1: ( RULE_ID )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1607:1: RULE_ID
+ {
+ before(grammarAccess.getTestscriptAccess().getNameIDTerminalRuleCall_1_0());
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__Testscript__NameAssignment_13168);
+ after(grammarAccess.getTestscriptAccess().getNameIDTerminalRuleCall_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Testscript__NameAssignment_1"
+
+
+ // $ANTLR start "rule__Testscript__StateDeclarationAssignment_2"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1616:1: rule__Testscript__StateDeclarationAssignment_2 : ( ruleStateDeclaration ) ;
+ public final void rule__Testscript__StateDeclarationAssignment_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1620:1: ( ( ruleStateDeclaration ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1621:1: ( ruleStateDeclaration )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1621:1: ( ruleStateDeclaration )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1622:1: ruleStateDeclaration
+ {
+ before(grammarAccess.getTestscriptAccess().getStateDeclarationStateDeclarationParserRuleCall_2_0());
+ pushFollow(FOLLOW_ruleStateDeclaration_in_rule__Testscript__StateDeclarationAssignment_23199);
+ ruleStateDeclaration();
+
+ state._fsp--;
+
+ after(grammarAccess.getTestscriptAccess().getStateDeclarationStateDeclarationParserRuleCall_2_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Testscript__StateDeclarationAssignment_2"
+
+
+ // $ANTLR start "rule__Testscript__InitialDeclarationAssignment_3"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1631:1: rule__Testscript__InitialDeclarationAssignment_3 : ( ruleInitialDeclaration ) ;
+ public final void rule__Testscript__InitialDeclarationAssignment_3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1635:1: ( ( ruleInitialDeclaration ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1636:1: ( ruleInitialDeclaration )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1636:1: ( ruleInitialDeclaration )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1637:1: ruleInitialDeclaration
+ {
+ before(grammarAccess.getTestscriptAccess().getInitialDeclarationInitialDeclarationParserRuleCall_3_0());
+ pushFollow(FOLLOW_ruleInitialDeclaration_in_rule__Testscript__InitialDeclarationAssignment_33230);
+ ruleInitialDeclaration();
+
+ state._fsp--;
+
+ after(grammarAccess.getTestscriptAccess().getInitialDeclarationInitialDeclarationParserRuleCall_3_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Testscript__InitialDeclarationAssignment_3"
+
+
+ // $ANTLR start "rule__Testscript__LoopsDeclarationAssignment_4"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1646:1: rule__Testscript__LoopsDeclarationAssignment_4 : ( ruleLoopsDeclaration ) ;
+ public final void rule__Testscript__LoopsDeclarationAssignment_4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1650:1: ( ( ruleLoopsDeclaration ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1651:1: ( ruleLoopsDeclaration )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1651:1: ( ruleLoopsDeclaration )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1652:1: ruleLoopsDeclaration
+ {
+ before(grammarAccess.getTestscriptAccess().getLoopsDeclarationLoopsDeclarationParserRuleCall_4_0());
+ pushFollow(FOLLOW_ruleLoopsDeclaration_in_rule__Testscript__LoopsDeclarationAssignment_43261);
+ ruleLoopsDeclaration();
+
+ state._fsp--;
+
+ after(grammarAccess.getTestscriptAccess().getLoopsDeclarationLoopsDeclarationParserRuleCall_4_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Testscript__LoopsDeclarationAssignment_4"
+
+
+ // $ANTLR start "rule__Testscript__SeedDeclarationAssignment_5"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1661:1: rule__Testscript__SeedDeclarationAssignment_5 : ( ruleSeedDeclaration ) ;
+ public final void rule__Testscript__SeedDeclarationAssignment_5() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1665:1: ( ( ruleSeedDeclaration ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1666:1: ( ruleSeedDeclaration )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1666:1: ( ruleSeedDeclaration )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1667:1: ruleSeedDeclaration
+ {
+ before(grammarAccess.getTestscriptAccess().getSeedDeclarationSeedDeclarationParserRuleCall_5_0());
+ pushFollow(FOLLOW_ruleSeedDeclaration_in_rule__Testscript__SeedDeclarationAssignment_53292);
+ ruleSeedDeclaration();
+
+ state._fsp--;
+
+ after(grammarAccess.getTestscriptAccess().getSeedDeclarationSeedDeclarationParserRuleCall_5_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Testscript__SeedDeclarationAssignment_5"
+
+
+ // $ANTLR start "rule__Testscript__TransitionDeclarationsAssignment_6"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1676:1: rule__Testscript__TransitionDeclarationsAssignment_6 : ( ruleTransitionDeclaration ) ;
+ public final void rule__Testscript__TransitionDeclarationsAssignment_6() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1680:1: ( ( ruleTransitionDeclaration ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1681:1: ( ruleTransitionDeclaration )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1681:1: ( ruleTransitionDeclaration )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1682:1: ruleTransitionDeclaration
+ {
+ before(grammarAccess.getTestscriptAccess().getTransitionDeclarationsTransitionDeclarationParserRuleCall_6_0());
+ pushFollow(FOLLOW_ruleTransitionDeclaration_in_rule__Testscript__TransitionDeclarationsAssignment_63323);
+ ruleTransitionDeclaration();
+
+ state._fsp--;
+
+ after(grammarAccess.getTestscriptAccess().getTransitionDeclarationsTransitionDeclarationParserRuleCall_6_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Testscript__TransitionDeclarationsAssignment_6"
+
+
+ // $ANTLR start "rule__State__NameAssignment"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1691:1: rule__State__NameAssignment : ( RULE_ID ) ;
+ public final void rule__State__NameAssignment() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1695:1: ( ( RULE_ID ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1696:1: ( RULE_ID )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1696:1: ( RULE_ID )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1697:1: RULE_ID
+ {
+ before(grammarAccess.getStateAccess().getNameIDTerminalRuleCall_0());
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__State__NameAssignment3354);
+ after(grammarAccess.getStateAccess().getNameIDTerminalRuleCall_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__State__NameAssignment"
+
+
+ // $ANTLR start "rule__StateDeclaration__StatesAssignment_1"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1706:1: rule__StateDeclaration__StatesAssignment_1 : ( ruleState ) ;
+ public final void rule__StateDeclaration__StatesAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1710:1: ( ( ruleState ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1711:1: ( ruleState )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1711:1: ( ruleState )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1712:1: ruleState
+ {
+ before(grammarAccess.getStateDeclarationAccess().getStatesStateParserRuleCall_1_0());
+ pushFollow(FOLLOW_ruleState_in_rule__StateDeclaration__StatesAssignment_13385);
+ ruleState();
+
+ state._fsp--;
+
+ after(grammarAccess.getStateDeclarationAccess().getStatesStateParserRuleCall_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__StateDeclaration__StatesAssignment_1"
+
+
+ // $ANTLR start "rule__StateDeclaration__StatesAssignment_2_1"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1721:1: rule__StateDeclaration__StatesAssignment_2_1 : ( ruleState ) ;
+ public final void rule__StateDeclaration__StatesAssignment_2_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1725:1: ( ( ruleState ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1726:1: ( ruleState )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1726:1: ( ruleState )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1727:1: ruleState
+ {
+ before(grammarAccess.getStateDeclarationAccess().getStatesStateParserRuleCall_2_1_0());
+ pushFollow(FOLLOW_ruleState_in_rule__StateDeclaration__StatesAssignment_2_13416);
+ ruleState();
+
+ state._fsp--;
+
+ after(grammarAccess.getStateDeclarationAccess().getStatesStateParserRuleCall_2_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__StateDeclaration__StatesAssignment_2_1"
+
+
+ // $ANTLR start "rule__InitialDeclaration__InitialAssignment_1"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1736:1: rule__InitialDeclaration__InitialAssignment_1 : ( ( RULE_ID ) ) ;
+ public final void rule__InitialDeclaration__InitialAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1740:1: ( ( ( RULE_ID ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1741:1: ( ( RULE_ID ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1741:1: ( ( RULE_ID ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1742:1: ( RULE_ID )
+ {
+ before(grammarAccess.getInitialDeclarationAccess().getInitialStateCrossReference_1_0());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1743:1: ( RULE_ID )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1744:1: RULE_ID
+ {
+ before(grammarAccess.getInitialDeclarationAccess().getInitialStateIDTerminalRuleCall_1_0_1());
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__InitialDeclaration__InitialAssignment_13451);
+ after(grammarAccess.getInitialDeclarationAccess().getInitialStateIDTerminalRuleCall_1_0_1());
+
+ }
+
+ after(grammarAccess.getInitialDeclarationAccess().getInitialStateCrossReference_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__InitialDeclaration__InitialAssignment_1"
+
+
+ // $ANTLR start "rule__LoopsDeclaration__ValAssignment_1"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1755:1: rule__LoopsDeclaration__ValAssignment_1 : ( RULE_INT ) ;
+ public final void rule__LoopsDeclaration__ValAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1759:1: ( ( RULE_INT ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1760:1: ( RULE_INT )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1760:1: ( RULE_INT )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1761:1: RULE_INT
+ {
+ before(grammarAccess.getLoopsDeclarationAccess().getValINTTerminalRuleCall_1_0());
+ match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__LoopsDeclaration__ValAssignment_13486);
+ after(grammarAccess.getLoopsDeclarationAccess().getValINTTerminalRuleCall_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LoopsDeclaration__ValAssignment_1"
+
+
+ // $ANTLR start "rule__SeedDeclaration__ValAssignment_1"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1770:1: rule__SeedDeclaration__ValAssignment_1 : ( RULE_INT ) ;
+ public final void rule__SeedDeclaration__ValAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1774:1: ( ( RULE_INT ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1775:1: ( RULE_INT )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1775:1: ( RULE_INT )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1776:1: RULE_INT
+ {
+ before(grammarAccess.getSeedDeclarationAccess().getValINTTerminalRuleCall_1_0());
+ match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__SeedDeclaration__ValAssignment_13517);
+ after(grammarAccess.getSeedDeclarationAccess().getValINTTerminalRuleCall_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SeedDeclaration__ValAssignment_1"
+
+
+ // $ANTLR start "rule__SignalDeclaration__PortAssignment_0_0"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1785:1: rule__SignalDeclaration__PortAssignment_0_0 : ( RULE_ID ) ;
+ public final void rule__SignalDeclaration__PortAssignment_0_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1789:1: ( ( RULE_ID ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1790:1: ( RULE_ID )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1790:1: ( RULE_ID )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1791:1: RULE_ID
+ {
+ before(grammarAccess.getSignalDeclarationAccess().getPortIDTerminalRuleCall_0_0_0());
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SignalDeclaration__PortAssignment_0_03548);
+ after(grammarAccess.getSignalDeclarationAccess().getPortIDTerminalRuleCall_0_0_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SignalDeclaration__PortAssignment_0_0"
+
+
+ // $ANTLR start "rule__SignalDeclaration__SignameAssignment_1"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1800:1: rule__SignalDeclaration__SignameAssignment_1 : ( RULE_ID ) ;
+ public final void rule__SignalDeclaration__SignameAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1804:1: ( ( RULE_ID ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1805:1: ( RULE_ID )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1805:1: ( RULE_ID )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1806:1: RULE_ID
+ {
+ before(grammarAccess.getSignalDeclarationAccess().getSignameIDTerminalRuleCall_1_0());
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SignalDeclaration__SignameAssignment_13579);
+ after(grammarAccess.getSignalDeclarationAccess().getSignameIDTerminalRuleCall_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SignalDeclaration__SignameAssignment_1"
+
+
+ // $ANTLR start "rule__SignalDeclaration__IntValAssignment_2_0_1"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1815:1: rule__SignalDeclaration__IntValAssignment_2_0_1 : ( RULE_INT ) ;
+ public final void rule__SignalDeclaration__IntValAssignment_2_0_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1819:1: ( ( RULE_INT ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1820:1: ( RULE_INT )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1820:1: ( RULE_INT )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1821:1: RULE_INT
+ {
+ before(grammarAccess.getSignalDeclarationAccess().getIntValINTTerminalRuleCall_2_0_1_0());
+ match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__SignalDeclaration__IntValAssignment_2_0_13610);
+ after(grammarAccess.getSignalDeclarationAccess().getIntValINTTerminalRuleCall_2_0_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SignalDeclaration__IntValAssignment_2_0_1"
+
+
+ // $ANTLR start "rule__SignalDeclaration__StrValAssignment_2_1_1"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1830:1: rule__SignalDeclaration__StrValAssignment_2_1_1 : ( RULE_STRING ) ;
+ public final void rule__SignalDeclaration__StrValAssignment_2_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1834:1: ( ( RULE_STRING ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1835:1: ( RULE_STRING )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1835:1: ( RULE_STRING )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1836:1: RULE_STRING
+ {
+ before(grammarAccess.getSignalDeclarationAccess().getStrValSTRINGTerminalRuleCall_2_1_1_0());
+ match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__SignalDeclaration__StrValAssignment_2_1_13641);
+ after(grammarAccess.getSignalDeclarationAccess().getStrValSTRINGTerminalRuleCall_2_1_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SignalDeclaration__StrValAssignment_2_1_1"
+
+
+ // $ANTLR start "rule__SourceDeclaration__RefAssignment_0"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1845:1: rule__SourceDeclaration__RefAssignment_0 : ( ( RULE_ID ) ) ;
+ public final void rule__SourceDeclaration__RefAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1849:1: ( ( ( RULE_ID ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1850:1: ( ( RULE_ID ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1850:1: ( ( RULE_ID ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1851:1: ( RULE_ID )
+ {
+ before(grammarAccess.getSourceDeclarationAccess().getRefStateCrossReference_0_0());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1852:1: ( RULE_ID )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1853:1: RULE_ID
+ {
+ before(grammarAccess.getSourceDeclarationAccess().getRefStateIDTerminalRuleCall_0_0_1());
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__SourceDeclaration__RefAssignment_03676);
+ after(grammarAccess.getSourceDeclarationAccess().getRefStateIDTerminalRuleCall_0_0_1());
+
+ }
+
+ after(grammarAccess.getSourceDeclarationAccess().getRefStateCrossReference_0_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__SourceDeclaration__RefAssignment_0"
+
+
+ // $ANTLR start "rule__DestinationDeclaration__RefAssignment_1"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1864:1: rule__DestinationDeclaration__RefAssignment_1 : ( ( RULE_ID ) ) ;
+ public final void rule__DestinationDeclaration__RefAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1868:1: ( ( ( RULE_ID ) ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1869:1: ( ( RULE_ID ) )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1869:1: ( ( RULE_ID ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1870:1: ( RULE_ID )
+ {
+ before(grammarAccess.getDestinationDeclarationAccess().getRefStateCrossReference_1_0());
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1871:1: ( RULE_ID )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1872:1: RULE_ID
+ {
+ before(grammarAccess.getDestinationDeclarationAccess().getRefStateIDTerminalRuleCall_1_0_1());
+ match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__DestinationDeclaration__RefAssignment_13715);
+ after(grammarAccess.getDestinationDeclarationAccess().getRefStateIDTerminalRuleCall_1_0_1());
+
+ }
+
+ after(grammarAccess.getDestinationDeclarationAccess().getRefStateCrossReference_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__DestinationDeclaration__RefAssignment_1"
+
+
+ // $ANTLR start "rule__TransitionDeclaration__SourceAssignment_0"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1883:1: rule__TransitionDeclaration__SourceAssignment_0 : ( ruleSourceDeclaration ) ;
+ public final void rule__TransitionDeclaration__SourceAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1887:1: ( ( ruleSourceDeclaration ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1888:1: ( ruleSourceDeclaration )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1888:1: ( ruleSourceDeclaration )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1889:1: ruleSourceDeclaration
+ {
+ before(grammarAccess.getTransitionDeclarationAccess().getSourceSourceDeclarationParserRuleCall_0_0());
+ pushFollow(FOLLOW_ruleSourceDeclaration_in_rule__TransitionDeclaration__SourceAssignment_03750);
+ ruleSourceDeclaration();
+
+ state._fsp--;
+
+ after(grammarAccess.getTransitionDeclarationAccess().getSourceSourceDeclarationParserRuleCall_0_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransitionDeclaration__SourceAssignment_0"
+
+
+ // $ANTLR start "rule__TransitionDeclaration__InAssignment_2"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1898:1: rule__TransitionDeclaration__InAssignment_2 : ( ruleSignalDeclaration ) ;
+ public final void rule__TransitionDeclaration__InAssignment_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1902:1: ( ( ruleSignalDeclaration ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1903:1: ( ruleSignalDeclaration )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1903:1: ( ruleSignalDeclaration )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1904:1: ruleSignalDeclaration
+ {
+ before(grammarAccess.getTransitionDeclarationAccess().getInSignalDeclarationParserRuleCall_2_0());
+ pushFollow(FOLLOW_ruleSignalDeclaration_in_rule__TransitionDeclaration__InAssignment_23781);
+ ruleSignalDeclaration();
+
+ state._fsp--;
+
+ after(grammarAccess.getTransitionDeclarationAccess().getInSignalDeclarationParserRuleCall_2_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransitionDeclaration__InAssignment_2"
+
+
+ // $ANTLR start "rule__TransitionDeclaration__OutAssignment_4"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1913:1: rule__TransitionDeclaration__OutAssignment_4 : ( ruleSignalDeclaration ) ;
+ public final void rule__TransitionDeclaration__OutAssignment_4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1917:1: ( ( ruleSignalDeclaration ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1918:1: ( ruleSignalDeclaration )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1918:1: ( ruleSignalDeclaration )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1919:1: ruleSignalDeclaration
+ {
+ before(grammarAccess.getTransitionDeclarationAccess().getOutSignalDeclarationParserRuleCall_4_0());
+ pushFollow(FOLLOW_ruleSignalDeclaration_in_rule__TransitionDeclaration__OutAssignment_43812);
+ ruleSignalDeclaration();
+
+ state._fsp--;
+
+ after(grammarAccess.getTransitionDeclarationAccess().getOutSignalDeclarationParserRuleCall_4_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransitionDeclaration__OutAssignment_4"
+
+
+ // $ANTLR start "rule__TransitionDeclaration__DestinationAssignment_5"
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1928:1: rule__TransitionDeclaration__DestinationAssignment_5 : ( ruleDestinationDeclaration ) ;
+ public final void rule__TransitionDeclaration__DestinationAssignment_5() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1932:1: ( ( ruleDestinationDeclaration ) )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1933:1: ( ruleDestinationDeclaration )
+ {
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1933:1: ( ruleDestinationDeclaration )
+ // ../org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/contentassist/antlr/internal/InternalFSMtest.g:1934:1: ruleDestinationDeclaration
+ {
+ before(grammarAccess.getTransitionDeclarationAccess().getDestinationDestinationDeclarationParserRuleCall_5_0());
+ pushFollow(FOLLOW_ruleDestinationDeclaration_in_rule__TransitionDeclaration__DestinationAssignment_53843);
+ ruleDestinationDeclaration();
+
+ state._fsp--;
+
+ after(grammarAccess.getTransitionDeclarationAccess().getDestinationDestinationDeclarationParserRuleCall_5_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TransitionDeclaration__DestinationAssignment_5"
+
+ // Delegated rules
+
+
+
+
+ public static final BitSet FOLLOW_ruleModel_in_entryRuleModel61 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleModel68 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Model__TestscriptsAssignment_in_ruleModel94 = new BitSet(new long[]{0x0000000000000802L});
+ public static final BitSet FOLLOW_ruleTestscript_in_entryRuleTestscript122 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTestscript129 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Testscript__Group__0_in_ruleTestscript155 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleState_in_entryRuleState182 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleState189 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__State__NameAssignment_in_ruleState215 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleStateDeclaration_in_entryRuleStateDeclaration242 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleStateDeclaration249 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__StateDeclaration__Group__0_in_ruleStateDeclaration275 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInitialDeclaration_in_entryRuleInitialDeclaration302 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleInitialDeclaration309 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__InitialDeclaration__Group__0_in_ruleInitialDeclaration335 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleLoopsDeclaration_in_entryRuleLoopsDeclaration362 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleLoopsDeclaration369 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__LoopsDeclaration__Group__0_in_ruleLoopsDeclaration395 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSeedDeclaration_in_entryRuleSeedDeclaration422 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleSeedDeclaration429 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__SeedDeclaration__Group__0_in_ruleSeedDeclaration455 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSignalDeclaration_in_entryRuleSignalDeclaration482 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleSignalDeclaration489 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__SignalDeclaration__Group__0_in_ruleSignalDeclaration515 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSourceDeclaration_in_entryRuleSourceDeclaration542 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleSourceDeclaration549 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__SourceDeclaration__Group__0_in_ruleSourceDeclaration575 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDestinationDeclaration_in_entryRuleDestinationDeclaration602 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleDestinationDeclaration609 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DestinationDeclaration__Group__0_in_ruleDestinationDeclaration635 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTransitionDeclaration_in_entryRuleTransitionDeclaration662 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTransitionDeclaration669 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransitionDeclaration__Group__0_in_ruleTransitionDeclaration695 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__SignalDeclaration__Group_2_0__0_in_rule__SignalDeclaration__Alternatives_2731 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__SignalDeclaration__Group_2_1__0_in_rule__SignalDeclaration__Alternatives_2749 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Testscript__Group__0__Impl_in_rule__Testscript__Group__0780 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_rule__Testscript__Group__1_in_rule__Testscript__Group__0783 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_11_in_rule__Testscript__Group__0__Impl811 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Testscript__Group__1__Impl_in_rule__Testscript__Group__1842 = new BitSet(new long[]{0x0000000000002000L});
+ public static final BitSet FOLLOW_rule__Testscript__Group__2_in_rule__Testscript__Group__1845 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Testscript__NameAssignment_1_in_rule__Testscript__Group__1__Impl872 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Testscript__Group__2__Impl_in_rule__Testscript__Group__2902 = new BitSet(new long[]{0x0000000000008000L});
+ public static final BitSet FOLLOW_rule__Testscript__Group__3_in_rule__Testscript__Group__2905 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Testscript__StateDeclarationAssignment_2_in_rule__Testscript__Group__2__Impl932 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Testscript__Group__3__Impl_in_rule__Testscript__Group__3962 = new BitSet(new long[]{0x0000000000010000L});
+ public static final BitSet FOLLOW_rule__Testscript__Group__4_in_rule__Testscript__Group__3965 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Testscript__InitialDeclarationAssignment_3_in_rule__Testscript__Group__3__Impl992 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Testscript__Group__4__Impl_in_rule__Testscript__Group__41022 = new BitSet(new long[]{0x0000000000021010L});
+ public static final BitSet FOLLOW_rule__Testscript__Group__5_in_rule__Testscript__Group__41025 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Testscript__LoopsDeclarationAssignment_4_in_rule__Testscript__Group__4__Impl1052 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Testscript__Group__5__Impl_in_rule__Testscript__Group__51082 = new BitSet(new long[]{0x0000000000021010L});
+ public static final BitSet FOLLOW_rule__Testscript__Group__6_in_rule__Testscript__Group__51085 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Testscript__SeedDeclarationAssignment_5_in_rule__Testscript__Group__5__Impl1112 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Testscript__Group__6__Impl_in_rule__Testscript__Group__61143 = new BitSet(new long[]{0x0000000000021010L});
+ public static final BitSet FOLLOW_rule__Testscript__Group__7_in_rule__Testscript__Group__61146 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Testscript__TransitionDeclarationsAssignment_6_in_rule__Testscript__Group__6__Impl1173 = new BitSet(new long[]{0x0000000000000012L});
+ public static final BitSet FOLLOW_rule__Testscript__Group__7__Impl_in_rule__Testscript__Group__71204 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_12_in_rule__Testscript__Group__7__Impl1232 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__StateDeclaration__Group__0__Impl_in_rule__StateDeclaration__Group__01279 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_rule__StateDeclaration__Group__1_in_rule__StateDeclaration__Group__01282 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_13_in_rule__StateDeclaration__Group__0__Impl1310 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__StateDeclaration__Group__1__Impl_in_rule__StateDeclaration__Group__11341 = new BitSet(new long[]{0x0000000000004000L});
+ public static final BitSet FOLLOW_rule__StateDeclaration__Group__2_in_rule__StateDeclaration__Group__11344 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__StateDeclaration__StatesAssignment_1_in_rule__StateDeclaration__Group__1__Impl1371 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__StateDeclaration__Group__2__Impl_in_rule__StateDeclaration__Group__21401 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__StateDeclaration__Group_2__0_in_rule__StateDeclaration__Group__2__Impl1428 = new BitSet(new long[]{0x0000000000004002L});
+ public static final BitSet FOLLOW_rule__StateDeclaration__Group_2__0__Impl_in_rule__StateDeclaration__Group_2__01465 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_rule__StateDeclaration__Group_2__1_in_rule__StateDeclaration__Group_2__01468 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_14_in_rule__StateDeclaration__Group_2__0__Impl1496 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__StateDeclaration__Group_2__1__Impl_in_rule__StateDeclaration__Group_2__11527 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__StateDeclaration__StatesAssignment_2_1_in_rule__StateDeclaration__Group_2__1__Impl1554 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__InitialDeclaration__Group__0__Impl_in_rule__InitialDeclaration__Group__01588 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_rule__InitialDeclaration__Group__1_in_rule__InitialDeclaration__Group__01591 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_15_in_rule__InitialDeclaration__Group__0__Impl1619 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__InitialDeclaration__Group__1__Impl_in_rule__InitialDeclaration__Group__11650 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__InitialDeclaration__InitialAssignment_1_in_rule__InitialDeclaration__Group__1__Impl1677 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__LoopsDeclaration__Group__0__Impl_in_rule__LoopsDeclaration__Group__01711 = new BitSet(new long[]{0x0000000000000020L});
+ public static final BitSet FOLLOW_rule__LoopsDeclaration__Group__1_in_rule__LoopsDeclaration__Group__01714 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_16_in_rule__LoopsDeclaration__Group__0__Impl1742 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__LoopsDeclaration__Group__1__Impl_in_rule__LoopsDeclaration__Group__11773 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__LoopsDeclaration__ValAssignment_1_in_rule__LoopsDeclaration__Group__1__Impl1800 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__SeedDeclaration__Group__0__Impl_in_rule__SeedDeclaration__Group__01834 = new BitSet(new long[]{0x0000000000000020L});
+ public static final BitSet FOLLOW_rule__SeedDeclaration__Group__1_in_rule__SeedDeclaration__Group__01837 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_17_in_rule__SeedDeclaration__Group__0__Impl1865 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__SeedDeclaration__Group__1__Impl_in_rule__SeedDeclaration__Group__11896 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__SeedDeclaration__ValAssignment_1_in_rule__SeedDeclaration__Group__1__Impl1923 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__SignalDeclaration__Group__0__Impl_in_rule__SignalDeclaration__Group__01957 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_rule__SignalDeclaration__Group__1_in_rule__SignalDeclaration__Group__01960 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__SignalDeclaration__Group_0__0_in_rule__SignalDeclaration__Group__0__Impl1987 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__SignalDeclaration__Group__1__Impl_in_rule__SignalDeclaration__Group__12018 = new BitSet(new long[]{0x0000000000080000L});
+ public static final BitSet FOLLOW_rule__SignalDeclaration__Group__2_in_rule__SignalDeclaration__Group__12021 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__SignalDeclaration__SignameAssignment_1_in_rule__SignalDeclaration__Group__1__Impl2048 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__SignalDeclaration__Group__2__Impl_in_rule__SignalDeclaration__Group__22078 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__SignalDeclaration__Alternatives_2_in_rule__SignalDeclaration__Group__2__Impl2105 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__SignalDeclaration__Group_0__0__Impl_in_rule__SignalDeclaration__Group_0__02142 = new BitSet(new long[]{0x0000000000040000L});
+ public static final BitSet FOLLOW_rule__SignalDeclaration__Group_0__1_in_rule__SignalDeclaration__Group_0__02145 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__SignalDeclaration__PortAssignment_0_0_in_rule__SignalDeclaration__Group_0__0__Impl2172 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__SignalDeclaration__Group_0__1__Impl_in_rule__SignalDeclaration__Group_0__12202 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_18_in_rule__SignalDeclaration__Group_0__1__Impl2230 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__SignalDeclaration__Group_2_0__0__Impl_in_rule__SignalDeclaration__Group_2_0__02265 = new BitSet(new long[]{0x0000000000000020L});
+ public static final BitSet FOLLOW_rule__SignalDeclaration__Group_2_0__1_in_rule__SignalDeclaration__Group_2_0__02268 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_19_in_rule__SignalDeclaration__Group_2_0__0__Impl2296 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__SignalDeclaration__Group_2_0__1__Impl_in_rule__SignalDeclaration__Group_2_0__12327 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__SignalDeclaration__IntValAssignment_2_0_1_in_rule__SignalDeclaration__Group_2_0__1__Impl2354 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__SignalDeclaration__Group_2_1__0__Impl_in_rule__SignalDeclaration__Group_2_1__02388 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_rule__SignalDeclaration__Group_2_1__1_in_rule__SignalDeclaration__Group_2_1__02391 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_19_in_rule__SignalDeclaration__Group_2_1__0__Impl2419 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__SignalDeclaration__Group_2_1__1__Impl_in_rule__SignalDeclaration__Group_2_1__12450 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__SignalDeclaration__StrValAssignment_2_1_1_in_rule__SignalDeclaration__Group_2_1__1__Impl2477 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__SourceDeclaration__Group__0__Impl_in_rule__SourceDeclaration__Group__02511 = new BitSet(new long[]{0x0000000000100000L});
+ public static final BitSet FOLLOW_rule__SourceDeclaration__Group__1_in_rule__SourceDeclaration__Group__02514 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__SourceDeclaration__RefAssignment_0_in_rule__SourceDeclaration__Group__0__Impl2541 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__SourceDeclaration__Group__1__Impl_in_rule__SourceDeclaration__Group__12571 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_20_in_rule__SourceDeclaration__Group__1__Impl2599 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DestinationDeclaration__Group__0__Impl_in_rule__DestinationDeclaration__Group__02634 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_rule__DestinationDeclaration__Group__1_in_rule__DestinationDeclaration__Group__02637 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_21_in_rule__DestinationDeclaration__Group__0__Impl2665 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DestinationDeclaration__Group__1__Impl_in_rule__DestinationDeclaration__Group__12696 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__DestinationDeclaration__RefAssignment_1_in_rule__DestinationDeclaration__Group__1__Impl2723 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransitionDeclaration__Group__0__Impl_in_rule__TransitionDeclaration__Group__02757 = new BitSet(new long[]{0x0000000000400000L});
+ public static final BitSet FOLLOW_rule__TransitionDeclaration__Group__1_in_rule__TransitionDeclaration__Group__02760 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransitionDeclaration__SourceAssignment_0_in_rule__TransitionDeclaration__Group__0__Impl2787 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransitionDeclaration__Group__1__Impl_in_rule__TransitionDeclaration__Group__12817 = new BitSet(new long[]{0x0000000000800010L});
+ public static final BitSet FOLLOW_rule__TransitionDeclaration__Group__2_in_rule__TransitionDeclaration__Group__12820 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_22_in_rule__TransitionDeclaration__Group__1__Impl2848 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransitionDeclaration__Group__2__Impl_in_rule__TransitionDeclaration__Group__22879 = new BitSet(new long[]{0x0000000000800010L});
+ public static final BitSet FOLLOW_rule__TransitionDeclaration__Group__3_in_rule__TransitionDeclaration__Group__22882 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransitionDeclaration__InAssignment_2_in_rule__TransitionDeclaration__Group__2__Impl2909 = new BitSet(new long[]{0x0000000000000012L});
+ public static final BitSet FOLLOW_rule__TransitionDeclaration__Group__3__Impl_in_rule__TransitionDeclaration__Group__32940 = new BitSet(new long[]{0x0000000000200010L});
+ public static final BitSet FOLLOW_rule__TransitionDeclaration__Group__4_in_rule__TransitionDeclaration__Group__32943 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_23_in_rule__TransitionDeclaration__Group__3__Impl2971 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransitionDeclaration__Group__4__Impl_in_rule__TransitionDeclaration__Group__43002 = new BitSet(new long[]{0x0000000000200010L});
+ public static final BitSet FOLLOW_rule__TransitionDeclaration__Group__5_in_rule__TransitionDeclaration__Group__43005 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransitionDeclaration__OutAssignment_4_in_rule__TransitionDeclaration__Group__4__Impl3032 = new BitSet(new long[]{0x0000000000000012L});
+ public static final BitSet FOLLOW_rule__TransitionDeclaration__Group__5__Impl_in_rule__TransitionDeclaration__Group__53063 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TransitionDeclaration__DestinationAssignment_5_in_rule__TransitionDeclaration__Group__5__Impl3090 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTestscript_in_rule__Model__TestscriptsAssignment3137 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_rule__Testscript__NameAssignment_13168 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleStateDeclaration_in_rule__Testscript__StateDeclarationAssignment_23199 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleInitialDeclaration_in_rule__Testscript__InitialDeclarationAssignment_33230 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleLoopsDeclaration_in_rule__Testscript__LoopsDeclarationAssignment_43261 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSeedDeclaration_in_rule__Testscript__SeedDeclarationAssignment_53292 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTransitionDeclaration_in_rule__Testscript__TransitionDeclarationsAssignment_63323 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_rule__State__NameAssignment3354 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleState_in_rule__StateDeclaration__StatesAssignment_13385 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleState_in_rule__StateDeclaration__StatesAssignment_2_13416 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_rule__InitialDeclaration__InitialAssignment_13451 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_INT_in_rule__LoopsDeclaration__ValAssignment_13486 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_INT_in_rule__SeedDeclaration__ValAssignment_13517 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_rule__SignalDeclaration__PortAssignment_0_03548 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_rule__SignalDeclaration__SignameAssignment_13579 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_INT_in_rule__SignalDeclaration__IntValAssignment_2_0_13610 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_STRING_in_rule__SignalDeclaration__StrValAssignment_2_1_13641 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_rule__SourceDeclaration__RefAssignment_03676 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_rule__DestinationDeclaration__RefAssignment_13715 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSourceDeclaration_in_rule__TransitionDeclaration__SourceAssignment_03750 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSignalDeclaration_in_rule__TransitionDeclaration__InAssignment_23781 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSignalDeclaration_in_rule__TransitionDeclaration__OutAssignment_43812 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleDestinationDeclaration_in_rule__TransitionDeclaration__DestinationAssignment_53843 = new BitSet(new long[]{0x0000000000000002L});
+
+}
\ No newline at end of file diff --git a/plugins/org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/internal/FSMtestActivator.java b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/internal/FSMtestActivator.java new file mode 100644 index 000000000..3d8efd033 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src-gen/org/eclipse/etrice/generator/ui/internal/FSMtestActivator.java @@ -0,0 +1,95 @@ +/* + * generated by Xtext + */ +package org.eclipse.etrice.generator.ui.internal; + +import java.util.Collections; +import java.util.Map; + +import org.apache.log4j.Logger; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.eclipse.xtext.ui.shared.SharedStateModule; +import org.eclipse.xtext.util.Modules2; +import org.osgi.framework.BundleContext; + +import com.google.common.collect.Maps; +import com.google.inject.Guice; +import com.google.inject.Injector; +import com.google.inject.Module; + +/** + * This class was generated. Customizations should only happen in a newly + * introduced subclass. + */ +public class FSMtestActivator extends AbstractUIPlugin { + + public static final String ORG_ECLIPSE_ETRICE_GENERATOR_FSMTEST = "org.eclipse.etrice.generator.FSMtest"; + + private static final Logger logger = Logger.getLogger(FSMtestActivator.class); + + private static FSMtestActivator INSTANCE; + + private Map<String, Injector> injectors = Collections.synchronizedMap(Maps.<String, Injector> newHashMapWithExpectedSize(1)); + + @Override + public void start(BundleContext context) throws Exception { + super.start(context); + INSTANCE = this; + } + + @Override + public void stop(BundleContext context) throws Exception { + injectors.clear(); + INSTANCE = null; + super.stop(context); + } + + public static FSMtestActivator getInstance() { + return INSTANCE; + } + + public Injector getInjector(String language) { + synchronized (injectors) { + Injector injector = injectors.get(language); + if (injector == null) { + injectors.put(language, injector = createInjector(language)); + } + return injector; + } + } + + protected Injector createInjector(String language) { + try { + Module runtimeModule = getRuntimeModule(language); + Module sharedStateModule = getSharedStateModule(); + Module uiModule = getUiModule(language); + Module mergedModule = Modules2.mixin(runtimeModule, sharedStateModule, uiModule); + return Guice.createInjector(mergedModule); + } catch (Exception e) { + logger.error("Failed to create injector for " + language); + logger.error(e.getMessage(), e); + throw new RuntimeException("Failed to create injector for " + language, e); + } + } + + protected Module getRuntimeModule(String grammar) { + if (ORG_ECLIPSE_ETRICE_GENERATOR_FSMTEST.equals(grammar)) { + return new org.eclipse.etrice.generator.FSMtestRuntimeModule(); + } + + throw new IllegalArgumentException(grammar); + } + + protected Module getUiModule(String grammar) { + if (ORG_ECLIPSE_ETRICE_GENERATOR_FSMTEST.equals(grammar)) { + return new org.eclipse.etrice.generator.ui.FSMtestUiModule(this); + } + + throw new IllegalArgumentException(grammar); + } + + protected Module getSharedStateModule() { + return new SharedStateModule(); + } + +} diff --git a/plugins/org.eclipse.etrice.generator.fsmtest.ui/src/org/eclipse/etrice/generator/ui/FSMtestUiModule.java b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src/org/eclipse/etrice/generator/ui/FSMtestUiModule.java new file mode 100644 index 000000000..3fb130d8e --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src/org/eclipse/etrice/generator/ui/FSMtestUiModule.java @@ -0,0 +1,15 @@ +/* + * generated by Xtext + */ +package org.eclipse.etrice.generator.ui; + +import org.eclipse.ui.plugin.AbstractUIPlugin; + +/** + * Use this class to register components to be used within the IDE. + */ +public class FSMtestUiModule extends org.eclipse.etrice.generator.ui.AbstractFSMtestUiModule { + public FSMtestUiModule(AbstractUIPlugin plugin) { + super(plugin); + } +} diff --git a/plugins/org.eclipse.etrice.generator.fsmtest.ui/src/org/eclipse/etrice/generator/ui/contentassist/FSMtestProposalProvider.java b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src/org/eclipse/etrice/generator/ui/contentassist/FSMtestProposalProvider.java new file mode 100644 index 000000000..d754e40a3 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src/org/eclipse/etrice/generator/ui/contentassist/FSMtestProposalProvider.java @@ -0,0 +1,12 @@ +/* +* generated by Xtext +*/ +package org.eclipse.etrice.generator.ui.contentassist; + +import org.eclipse.etrice.generator.ui.contentassist.AbstractFSMtestProposalProvider; +/** + * see http://www.eclipse.org/Xtext/documentation/latest/xtext.html#contentAssist on how to customize content assistant + */ +public class FSMtestProposalProvider extends AbstractFSMtestProposalProvider { + +} diff --git a/plugins/org.eclipse.etrice.generator.fsmtest.ui/src/org/eclipse/etrice/generator/ui/labeling/FSMtestDescriptionLabelProvider.java b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src/org/eclipse/etrice/generator/ui/labeling/FSMtestDescriptionLabelProvider.java new file mode 100644 index 000000000..0b52fbc78 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src/org/eclipse/etrice/generator/ui/labeling/FSMtestDescriptionLabelProvider.java @@ -0,0 +1,27 @@ +/* +* generated by Xtext +*/ +package org.eclipse.etrice.generator.ui.labeling; + +import org.eclipse.xtext.ui.label.DefaultDescriptionLabelProvider; + +/** + * Provides labels for a IEObjectDescriptions and IResourceDescriptions. + * + * see http://www.eclipse.org/Xtext/documentation/latest/xtext.html#labelProvider + */ +public class FSMtestDescriptionLabelProvider extends DefaultDescriptionLabelProvider { + +/* + //Labels and icons can be computed like this: + + String text(IEObjectDescription ele) { + return "my "+ele.getName(); + } + + String image(IEObjectDescription ele) { + return ele.getEClass().getName() + ".gif"; + } +*/ + +} diff --git a/plugins/org.eclipse.etrice.generator.fsmtest.ui/src/org/eclipse/etrice/generator/ui/labeling/FSMtestLabelProvider.java b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src/org/eclipse/etrice/generator/ui/labeling/FSMtestLabelProvider.java new file mode 100644 index 000000000..ae3d128d6 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src/org/eclipse/etrice/generator/ui/labeling/FSMtestLabelProvider.java @@ -0,0 +1,34 @@ +/* +* generated by Xtext +*/ +package org.eclipse.etrice.generator.ui.labeling; + +import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider; +import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider; + +import com.google.inject.Inject; + +/** + * Provides labels for a EObjects. + * + * see http://www.eclipse.org/Xtext/documentation/latest/xtext.html#labelProvider + */ +public class FSMtestLabelProvider extends DefaultEObjectLabelProvider { + + @Inject + public FSMtestLabelProvider(AdapterFactoryLabelProvider delegate) { + super(delegate); + } + +/* + //Labels and icons can be computed like this: + + String text(MyModel ele) { + return "my "+ele.getName(); + } + + String image(MyModel ele) { + return "MyModel.gif"; + } +*/ +} diff --git a/plugins/org.eclipse.etrice.generator.fsmtest.ui/src/org/eclipse/etrice/generator/ui/outline/FSMtestOutlineTreeProvider.java b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src/org/eclipse/etrice/generator/ui/outline/FSMtestOutlineTreeProvider.java new file mode 100644 index 000000000..fd74b6e5e --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src/org/eclipse/etrice/generator/ui/outline/FSMtestOutlineTreeProvider.java @@ -0,0 +1,14 @@ +/* +* generated by Xtext +*/ +package org.eclipse.etrice.generator.ui.outline; + +import org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider; + +/** + * customization of the default outline structure + * + */ +public class FSMtestOutlineTreeProvider extends DefaultOutlineTreeProvider { + +} diff --git a/plugins/org.eclipse.etrice.generator.fsmtest.ui/src/org/eclipse/etrice/generator/ui/quickfix/FSMtestQuickfixProvider.java b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src/org/eclipse/etrice/generator/ui/quickfix/FSMtestQuickfixProvider.java new file mode 100644 index 000000000..e65db6498 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest.ui/src/org/eclipse/etrice/generator/ui/quickfix/FSMtestQuickfixProvider.java @@ -0,0 +1,19 @@ + +package org.eclipse.etrice.generator.ui.quickfix; + +import org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider; + +public class FSMtestQuickfixProvider extends DefaultQuickfixProvider { + +// @Fix(MyJavaValidator.INVALID_NAME) +// public void capitalizeName(final Issue issue, IssueResolutionAcceptor acceptor) { +// acceptor.accept(issue, "Capitalize name", "Capitalize the name.", "upcase.png", new IModification() { +// public void apply(IModificationContext context) throws BadLocationException { +// IXtextDocument xtextDocument = context.getXtextDocument(); +// String firstLetter = xtextDocument.get(issue.getOffset(), 1); +// xtextDocument.replace(issue.getOffset(), 1, firstLetter.toUpperCase()); +// } +// }); +// } + +} diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/.classpath b/plugins/org.eclipse.etrice.generator.fsmtest/.classpath new file mode 100644 index 000000000..3f1be5028 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/.classpath @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="src" path="xtend-gen"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/.gitignore b/plugins/org.eclipse.etrice.generator.fsmtest/.gitignore new file mode 100644 index 000000000..a25460a14 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/.gitignore @@ -0,0 +1,2 @@ +bin
+.antlr-generator-3.2.0.jar
\ No newline at end of file diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/.launch/Generate Language Infrastructure (org.eclipse.etrice.generator.fsmtest).launch b/plugins/org.eclipse.etrice.generator.fsmtest/.launch/Generate Language Infrastructure (org.eclipse.etrice.generator.fsmtest).launch new file mode 100644 index 000000000..4b55db59d --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/.launch/Generate Language Infrastructure (org.eclipse.etrice.generator.fsmtest).launch @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.emf.mwe2.launch.Mwe2LaunchConfigurationType">
+<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:<?xml version="1.0" encoding="UTF-8"?> <launchConfigurationWorkingSet factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1299248699643_13" label="working set" name="working set"> <item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/org.eclipse.etrice.generator.fsmtest" type="4"/> <item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/org.eclipse.etrice.generator.fsmtest.generator" type="4"/> <item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/org.eclipse.etrice.generator.fsmtest.tests" type="4"/> <item factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/org.eclipse.etrice.generator.fsmtest.ui" type="4"/> </launchConfigurationWorkingSet>}"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.etrice.generator.fsmtest"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="4"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="src/org/eclipse/etrice/generator/GenerateFSMtest.mwe2"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.etrice.generator.fsmtest"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx512m"/>
+</launchConfiguration>
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/.project b/plugins/org.eclipse.etrice.generator.fsmtest/.project new file mode 100644 index 000000000..fe7fef887 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/.project @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.etrice.generator.fsmtest</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.generator.fsmtest/META-INF/MANIFEST.MF new file mode 100644 index 000000000..c0ad34063 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/META-INF/MANIFEST.MF @@ -0,0 +1,35 @@ +Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.eclipse.etrice.generator.fsmtest
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: org.eclipse.etrice.generator.fsmtest; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.xtext;visibility:=reexport,
+ org.eclipse.xtext.xbase;resolution:=optional;visibility:=reexport,
+ org.eclipse.xtext.generator;resolution:=optional,
+ org.apache.commons.logging;bundle-version="1.0.4";resolution:=optional,
+ org.eclipse.emf.codegen.ecore;resolution:=optional,
+ org.eclipse.emf.mwe.utils;resolution:=optional,
+ org.eclipse.emf.mwe2.launch;resolution:=optional,
+ org.eclipse.xtext.util,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.common,
+ org.antlr.runtime,
+ org.eclipse.xtext.common.types
+Import-Package: org.apache.log4j,
+ org.eclipse.xtext.xbase.lib
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.etrice.generator,
+ org.eclipse.etrice.generator.services,
+ org.eclipse.etrice.generator.fsmtest,
+ org.eclipse.etrice.generator.fsmtest.impl,
+ org.eclipse.etrice.generator.fsmtest.util,
+ org.eclipse.etrice.generator.serializer,
+ org.eclipse.etrice.generator.parser.antlr,
+ org.eclipse.etrice.generator.parser.antlr.internal,
+ org.eclipse.etrice.generator.validation,
+ org.eclipse.etrice.generator.scoping,
+ org.eclipse.etrice.generator.generator,
+ org.eclipse.etrice.generator.formatting
+
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/build.properties b/plugins/org.eclipse.etrice.generator.fsmtest/build.properties new file mode 100644 index 000000000..31255ed05 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/build.properties @@ -0,0 +1,6 @@ +source.. = src/,\ + src-gen/,\ + xtend-gen/ +bin.includes = META-INF/,\ + .,\ + plugin.xml
\ No newline at end of file diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/plugin.xml b/plugins/org.eclipse.etrice.generator.fsmtest/plugin.xml new file mode 100644 index 000000000..3fc746238 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/plugin.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.0"?> + +<plugin> + + <extension point="org.eclipse.emf.ecore.generated_package"> + <package + uri = "http://www.eclipse.org/etrice/generator/FSMtest" + class = "org.eclipse.etrice.generator.fsmtest.FsmtestPackage" + genModel = "org/eclipse/etrice/generator/FSMtest.genmodel" /> + + </extension> + + + + +</plugin> 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 new file mode 100644 index 000000000..092e3ff53 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/AbstractFSMtestRuntimeModule.java @@ -0,0 +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; + } + +} 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 new file mode 100644 index 000000000..283523bca --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/FSMtest.ecore @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" 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"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Testscript">
+ <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="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">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="StateDeclaration">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="states" upperBound="-1"
+ eType="#//State" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="InitialDeclaration">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="initial" eType="#//State"/>
+ </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"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SeedDeclaration">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="val" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SignalDeclaration">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="port" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="signame" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <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 new file mode 100644 index 000000000..b2aae68cb --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/FSMtest.genmodel @@ -0,0 +1,56 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.etrice.generator.fsmtest/src-gen"
+ editDirectory="/org.eclipse.etrice.generator.fsmtest.edit/src" editorDirectory="/org.eclipse.etrice.generator.fsmtest.editor/src"
+ modelPluginID="org.eclipse.etrice.generator.fsmtest" forceOverwrite="true" modelName="FSMtest"
+ updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+ complianceLevel="5.0" copyrightFields="false" editPluginID="org.eclipse.etrice.generator.fsmtest.edit"
+ editorPluginID="org.eclipse.etrice.generator.fsmtest.editor" runtimeVersion="2.8">
+ <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"/>
+ </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>
+ <genClasses ecoreClass="FSMtest.ecore#//State">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute FSMtest.ecore#//State/name"/>
+ </genClasses>
+ <genClasses ecoreClass="FSMtest.ecore#//StateDeclaration">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference FSMtest.ecore#//StateDeclaration/states"/>
+ </genClasses>
+ <genClasses ecoreClass="FSMtest.ecore#//InitialDeclaration">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference FSMtest.ecore#//InitialDeclaration/initial"/>
+ </genClasses>
+ <genClasses ecoreClass="FSMtest.ecore#//LoopsDeclaration">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute FSMtest.ecore#//LoopsDeclaration/val"/>
+ </genClasses>
+ <genClasses ecoreClass="FSMtest.ecore#//SeedDeclaration">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute FSMtest.ecore#//SeedDeclaration/val"/>
+ </genClasses>
+ <genClasses ecoreClass="FSMtest.ecore#//SignalDeclaration">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute FSMtest.ecore#//SignalDeclaration/port"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute FSMtest.ecore#//SignalDeclaration/signame"/>
+ <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 new file mode 100644 index 000000000..901b83b92 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/FSMtest.xmi @@ -0,0 +1,342 @@ +<?xml version="1.0" encoding="ASCII"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext">
+ <xtext:Grammar name="org.eclipse.etrice.generator.FSMtest" usedGrammars="/1">
+ <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="fsmtest">
+ <ePackage href="http://www.eclipse.org/etrice/generator/FSMtest#/"/>
+ </metamodelDeclarations>
+ <rules xsi:type="xtext:ParserRule" name="Model">
+ <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>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Testscript">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/generator/FSMtest#//Testscript"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="fsmtest"/>
+ <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>
+ <elements xsi:type="xtext:Assignment" feature="initialDeclaration" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="loopsDeclaration" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
+ </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">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/generator/FSMtest#//State"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ </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="states:"/>
+ <elements xsi:type="xtext:Assignment" feature="states" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=","/>
+ <elements xsi:type="xtext:Assignment" feature="states" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="InitialDeclaration">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/generator/FSMtest#//InitialDeclaration"/>
+ </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>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="LoopsDeclaration">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/generator/FSMtest#//LoopsDeclaration"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="loops:"/>
+ <elements xsi:type="xtext:Assignment" feature="val" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="SeedDeclaration">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/generator/FSMtest#//SeedDeclaration"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="randseed:"/>
+ <elements xsi:type="xtext:Assignment" feature="val" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="SignalDeclaration">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/etrice/generator/FSMtest#//SignalDeclaration"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Assignment" feature="port" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="."/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="signame" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.0"/>
+ </elements>
+ <elements xsi:type="xtext:Alternatives" cardinality="?">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="="/>
+ <elements xsi:type="xtext:Assignment" feature="intVal" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="="/>
+ <elements xsi:type="xtext:Assignment" feature="strVal" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.2"/>
+ </elements>
+ </elements>
+ </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">
+ <ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/>
+ </metamodelDeclarations>
+ <rules xsi:type="xtext:TerminalRule" name="ID">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" cardinality="?" value="^"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="a"/>
+ <right value="z"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="A"/>
+ <right value="Z"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="_"/>
+ </elements>
+ <elements xsi:type="xtext:Alternatives" cardinality="*">
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="a"/>
+ <right value="z"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="A"/>
+ <right value="Z"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="_"/>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="INT">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+ </type>
+ <alternatives xsi:type="xtext:CharacterRange" cardinality="+">
+ <left value="0"/>
+ <right value="9"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="STRING">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="""/>
+ <elements xsi:type="xtext:Alternatives" cardinality="*">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="b"/>
+ <elements xsi:type="xtext:Keyword" value="t"/>
+ <elements xsi:type="xtext:Keyword" value="n"/>
+ <elements xsi:type="xtext:Keyword" value="f"/>
+ <elements xsi:type="xtext:Keyword" value="r"/>
+ <elements xsi:type="xtext:Keyword" value="u"/>
+ <elements xsi:type="xtext:Keyword" value="""/>
+ <elements xsi:type="xtext:Keyword" value="'"/>
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:NegatedToken">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ <elements xsi:type="xtext:Keyword" value="""/>
+ </terminal>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="""/>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="'"/>
+ <elements xsi:type="xtext:Alternatives" cardinality="*">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="b"/>
+ <elements xsi:type="xtext:Keyword" value="t"/>
+ <elements xsi:type="xtext:Keyword" value="n"/>
+ <elements xsi:type="xtext:Keyword" value="f"/>
+ <elements xsi:type="xtext:Keyword" value="r"/>
+ <elements xsi:type="xtext:Keyword" value="u"/>
+ <elements xsi:type="xtext:Keyword" value="""/>
+ <elements xsi:type="xtext:Keyword" value="'"/>
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:NegatedToken">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ <elements xsi:type="xtext:Keyword" value="'"/>
+ </terminal>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="'"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="ML_COMMENT">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="/*"/>
+ <elements xsi:type="xtext:UntilToken">
+ <terminal xsi:type="xtext:Keyword" value="*/"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="SL_COMMENT">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="//"/>
+ <elements xsi:type="xtext:NegatedToken" cardinality="*">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="
"/>
+ <elements xsi:type="xtext:Keyword" value="
"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" cardinality="?" value="
"/>
+ <elements xsi:type="xtext:Keyword" value="
"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="WS">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives" cardinality="+">
+ <elements xsi:type="xtext:Keyword" value=" "/>
+ <elements xsi:type="xtext:Keyword" value="	"/>
+ <elements xsi:type="xtext:Keyword" value="
"/>
+ <elements xsi:type="xtext:Keyword" value="
"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="ANY_OTHER">
+ <type metamodel="/1/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Wildcard"/>
+ </rules>
+ </xtext:Grammar>
+</xmi:XMI>
diff --git a/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 new file mode 100644 index 000000000..02f9d48b2 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/FSMtestStandaloneSetupGenerated.java @@ -0,0 +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); + + + + + } +} 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 new file mode 100644 index 000000000..bda8e2777 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/DestinationDeclaration.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>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/FsmtestFactory.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/FsmtestFactory.java new file mode 100644 index 000000000..eb34178be --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/FsmtestFactory.java @@ -0,0 +1,133 @@ +/**
+ */
+package org.eclipse.etrice.generator.fsmtest;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage
+ * @generated
+ */
+public interface FsmtestFactory extends EFactory
+{
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ FsmtestFactory eINSTANCE = org.eclipse.etrice.generator.fsmtest.impl.FsmtestFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Model</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Model</em>'.
+ * @generated
+ */
+ Model createModel();
+
+ /**
+ * Returns a new object of class '<em>Testscript</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Testscript</em>'.
+ * @generated
+ */
+ Testscript createTestscript();
+
+ /**
+ * Returns a new object of class '<em>State</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>State</em>'.
+ * @generated
+ */
+ State createState();
+
+ /**
+ * 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>Initial Declaration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Initial Declaration</em>'.
+ * @generated
+ */
+ InitialDeclaration createInitialDeclaration();
+
+ /**
+ * Returns a new object of class '<em>Loops Declaration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Loops Declaration</em>'.
+ * @generated
+ */
+ LoopsDeclaration createLoopsDeclaration();
+
+ /**
+ * Returns a new object of class '<em>Seed Declaration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Seed Declaration</em>'.
+ * @generated
+ */
+ SeedDeclaration createSeedDeclaration();
+
+ /**
+ * Returns a new object of class '<em>Signal Declaration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Signal Declaration</em>'.
+ * @generated
+ */
+ SignalDeclaration createSignalDeclaration();
+
+ /**
+ * Returns a new object of class '<em>Source Declaration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Source Declaration</em>'.
+ * @generated
+ */
+ SourceDeclaration createSourceDeclaration();
+
+ /**
+ * Returns a new object of class '<em>Destination Declaration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Destination Declaration</em>'.
+ * @generated
+ */
+ DestinationDeclaration createDestinationDeclaration();
+
+ /**
+ * Returns a new object of class '<em>Transition Declaration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Transition Declaration</em>'.
+ * @generated
+ */
+ TransitionDeclaration createTransitionDeclaration();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ FsmtestPackage getFsmtestPackage();
+
+} //FsmtestFactory
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 new file mode 100644 index 000000000..5622320a8 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/FsmtestPackage.java @@ -0,0 +1,1130 @@ +/**
+ */
+package org.eclipse.etrice.generator.fsmtest;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface FsmtestPackage extends EPackage
+{
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "fsmtest";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/etrice/generator/FSMtest";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "fsmtest";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ FsmtestPackage eINSTANCE = org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.generator.fsmtest.impl.ModelImpl <em>Model</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.generator.fsmtest.impl.ModelImpl
+ * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getModel()
+ * @generated
+ */
+ int MODEL = 0;
+
+ /**
+ * The feature id for the '<em><b>Testscripts</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL__TESTSCRIPTS = 0;
+
+ /**
+ * The number of structural features of the '<em>Model</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MODEL_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.generator.fsmtest.impl.TestscriptImpl <em>Testscript</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()
+ * @generated
+ */
+ int TESTSCRIPT = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTSCRIPT__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>State Declaration</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTSCRIPT__STATE_DECLARATION = 1;
+
+ /**
+ * The feature id for the '<em><b>Initial Declaration</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTSCRIPT__INITIAL_DECLARATION = 2;
+
+ /**
+ * The feature id for the '<em><b>Loops Declaration</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTSCRIPT__LOOPS_DECLARATION = 3;
+
+ /**
+ * The feature id for the '<em><b>Seed Declaration</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTSCRIPT__SEED_DECLARATION = 4;
+
+ /**
+ * The feature id for the '<em><b>Transition Declarations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTSCRIPT__TRANSITION_DECLARATIONS = 5;
+
+ /**
+ * The number of structural features of the '<em>Testscript</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTSCRIPT_FEATURE_COUNT = 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.generator.fsmtest.impl.StateImpl <em>State</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()
+ * @generated
+ */
+ int STATE = 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STATE__NAME = 0;
+
+ /**
+ * The number of structural features of the '<em>State</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STATE_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 = 3;
+
+ /**
+ * The feature id for the '<em><b>States</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STATE_DECLARATION__STATES = 0;
+
+ /**
+ * The number of structural features of the '<em>State Declaration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STATE_DECLARATION_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.generator.fsmtest.impl.InitialDeclarationImpl <em>Initial Declaration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.generator.fsmtest.impl.InitialDeclarationImpl
+ * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getInitialDeclaration()
+ * @generated
+ */
+ int INITIAL_DECLARATION = 4;
+
+ /**
+ * The feature id for the '<em><b>Initial</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INITIAL_DECLARATION__INITIAL = 0;
+
+ /**
+ * The number of structural features of the '<em>Initial Declaration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INITIAL_DECLARATION_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id 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.LoopsDeclarationImpl
+ * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getLoopsDeclaration()
+ * @generated
+ */
+ int LOOPS_DECLARATION = 5;
+
+ /**
+ * The feature id for the '<em><b>Val</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOOPS_DECLARATION__VAL = 0;
+
+ /**
+ * The number of structural features of the '<em>Loops Declaration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LOOPS_DECLARATION_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id 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.SeedDeclarationImpl
+ * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getSeedDeclaration()
+ * @generated
+ */
+ int SEED_DECLARATION = 6;
+
+ /**
+ * The feature id for the '<em><b>Val</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEED_DECLARATION__VAL = 0;
+
+ /**
+ * The number of structural features of the '<em>Seed Declaration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SEED_DECLARATION_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id 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
+ */
+ int SIGNAL_DECLARATION = 7;
+
+ /**
+ * The feature id for the '<em><b>Port</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DECLARATION__PORT = 0;
+
+ /**
+ * The feature id for the '<em><b>Signame</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DECLARATION__SIGNAME = 1;
+
+ /**
+ * The feature id for the '<em><b>Int Val</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DECLARATION__INT_VAL = 2;
+
+ /**
+ * The feature id for the '<em><b>Str Val</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SIGNAL_DECLARATION__STR_VAL = 3;
+
+ /**
+ * The number of structural features of the '<em>Signal Declaration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ 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.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.generator.fsmtest.impl.SourceDeclarationImpl
+ * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getSourceDeclaration()
+ * @generated
+ */
+ int SOURCE_DECLARATION = 8;
+
+ /**
+ * The feature id for the '<em><b>Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SOURCE_DECLARATION__REF = 0;
+
+ /**
+ * The number of structural features of the '<em>Source Declaration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SOURCE_DECLARATION_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.generator.fsmtest.impl.DestinationDeclarationImpl <em>Destination 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()
+ * @generated
+ */
+ int DESTINATION_DECLARATION = 9;
+
+ /**
+ * The feature id for the '<em><b>Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESTINATION_DECLARATION__REF = 0;
+
+ /**
+ * The number of structural features of the '<em>Destination Declaration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DESTINATION_DECLARATION_FEATURE_COUNT = 1;
+
+ /**
+ * 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.TransitionDeclarationImpl
+ * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getTransitionDeclaration()
+ * @generated
+ */
+ int TRANSITION_DECLARATION = 10;
+
+ /**
+ * The feature id for the '<em><b>Source</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSITION_DECLARATION__SOURCE = 0;
+
+ /**
+ * The feature id for the '<em><b>In</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSITION_DECLARATION__IN = 1;
+
+ /**
+ * The feature id for the '<em><b>Out</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSITION_DECLARATION__OUT = 2;
+
+ /**
+ * The feature id for the '<em><b>Destination</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TRANSITION_DECLARATION__DESTINATION = 3;
+
+ /**
+ * 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 = 4;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.generator.fsmtest.Model <em>Model</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Model</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.Model
+ * @generated
+ */
+ EClass getModel();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.generator.fsmtest.Model#getTestscripts <em>Testscripts</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()
+ * @generated
+ */
+ EReference getModel_Testscripts();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.generator.fsmtest.Testscript <em>Testscript</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Testscript</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.Testscript
+ * @generated
+ */
+ EClass getTestscript();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.generator.fsmtest.Testscript#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.Testscript#getName()
+ * @see #getTestscript()
+ * @generated
+ */
+ EAttribute getTestscript_Name();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.etrice.generator.fsmtest.Testscript#getStateDeclaration <em>State Declaration</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()
+ * @generated
+ */
+ EReference getTestscript_StateDeclaration();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.etrice.generator.fsmtest.Testscript#getInitialDeclaration <em>Initial Declaration</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()
+ * @generated
+ */
+ EReference getTestscript_InitialDeclaration();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.etrice.generator.fsmtest.Testscript#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.Testscript#getLoopsDeclaration()
+ * @see #getTestscript()
+ * @generated
+ */
+ EReference getTestscript_LoopsDeclaration();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.etrice.generator.fsmtest.Testscript#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.Testscript#getSeedDeclaration()
+ * @see #getTestscript()
+ * @generated
+ */
+ EReference getTestscript_SeedDeclaration();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.generator.fsmtest.Testscript#getTransitionDeclarations <em>Transition Declarations</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()
+ * @generated
+ */
+ EReference getTestscript_TransitionDeclarations();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.generator.fsmtest.State <em>State</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>State</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.State
+ * @generated
+ */
+ EClass getState();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.generator.fsmtest.State#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.State#getName()
+ * @see #getState()
+ * @generated
+ */
+ EAttribute getState_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.generator.fsmtest.StateDeclaration <em>State Declaration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>State Declaration</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.StateDeclaration
+ * @generated
+ */
+ EClass getStateDeclaration();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.generator.fsmtest.StateDeclaration#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.StateDeclaration#getStates()
+ * @see #getStateDeclaration()
+ * @generated
+ */
+ EReference getStateDeclaration_States();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.generator.fsmtest.InitialDeclaration <em>Initial Declaration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Initial Declaration</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.InitialDeclaration
+ * @generated
+ */
+ EClass getInitialDeclaration();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.etrice.generator.fsmtest.InitialDeclaration#getInitial <em>Initial</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()
+ * @generated
+ */
+ EReference getInitialDeclaration_Initial();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.generator.fsmtest.LoopsDeclaration <em>Loops Declaration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Loops Declaration</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.LoopsDeclaration
+ * @generated
+ */
+ EClass getLoopsDeclaration();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.generator.fsmtest.LoopsDeclaration#getVal <em>Val</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Val</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.LoopsDeclaration#getVal()
+ * @see #getLoopsDeclaration()
+ * @generated
+ */
+ EAttribute getLoopsDeclaration_Val();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.generator.fsmtest.SeedDeclaration <em>Seed Declaration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Seed Declaration</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.SeedDeclaration
+ * @generated
+ */
+ EClass getSeedDeclaration();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.generator.fsmtest.SeedDeclaration#getVal <em>Val</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Val</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.SeedDeclaration#getVal()
+ * @see #getSeedDeclaration()
+ * @generated
+ */
+ EAttribute getSeedDeclaration_Val();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.generator.fsmtest.SignalDeclaration <em>Signal Declaration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Signal Declaration</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.SignalDeclaration
+ * @generated
+ */
+ EClass getSignalDeclaration();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.generator.fsmtest.SignalDeclaration#getPort <em>Port</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Port</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.SignalDeclaration#getPort()
+ * @see #getSignalDeclaration()
+ * @generated
+ */
+ EAttribute getSignalDeclaration_Port();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.generator.fsmtest.SignalDeclaration#getSigname <em>Signame</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Signame</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.SignalDeclaration#getSigname()
+ * @see #getSignalDeclaration()
+ * @generated
+ */
+ EAttribute getSignalDeclaration_Signame();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.generator.fsmtest.SignalDeclaration#getIntVal <em>Int Val</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Int Val</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.SignalDeclaration#getIntVal()
+ * @see #getSignalDeclaration()
+ * @generated
+ */
+ EAttribute getSignalDeclaration_IntVal();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.generator.fsmtest.SignalDeclaration#getStrVal <em>Str Val</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Str Val</em>'.
+ * @see org.eclipse.etrice.generator.fsmtest.SignalDeclaration#getStrVal()
+ * @see #getSignalDeclaration()
+ * @generated
+ */
+ 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 -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ FsmtestFactory getFsmtestFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals
+ {
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.generator.fsmtest.impl.ModelImpl <em>Model</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.generator.fsmtest.impl.ModelImpl
+ * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getModel()
+ * @generated
+ */
+ EClass MODEL = eINSTANCE.getModel();
+
+ /**
+ * The meta object literal for the '<em><b>Testscripts</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MODEL__TESTSCRIPTS = eINSTANCE.getModel_Testscripts();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.generator.fsmtest.impl.TestscriptImpl <em>Testscript</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()
+ * @generated
+ */
+ EClass TESTSCRIPT = eINSTANCE.getTestscript();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TESTSCRIPT__NAME = eINSTANCE.getTestscript_Name();
+
+ /**
+ * The meta object literal for the '<em><b>State Declaration</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TESTSCRIPT__STATE_DECLARATION = eINSTANCE.getTestscript_StateDeclaration();
+
+ /**
+ * The meta object literal for the '<em><b>Initial Declaration</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TESTSCRIPT__INITIAL_DECLARATION = eINSTANCE.getTestscript_InitialDeclaration();
+
+ /**
+ * The meta object literal for the '<em><b>Loops Declaration</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TESTSCRIPT__LOOPS_DECLARATION = eINSTANCE.getTestscript_LoopsDeclaration();
+
+ /**
+ * The meta object literal for the '<em><b>Seed Declaration</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TESTSCRIPT__SEED_DECLARATION = eINSTANCE.getTestscript_SeedDeclaration();
+
+ /**
+ * The meta object literal for the '<em><b>Transition Declarations</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TESTSCRIPT__TRANSITION_DECLARATIONS = eINSTANCE.getTestscript_TransitionDeclarations();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.generator.fsmtest.impl.StateImpl <em>State</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()
+ * @generated
+ */
+ EClass STATE = eINSTANCE.getState();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute STATE__NAME = eINSTANCE.getState_Name();
+
+ /**
+ * 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
+ */
+ EClass STATE_DECLARATION = eINSTANCE.getStateDeclaration();
+
+ /**
+ * The meta object literal for the '<em><b>States</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STATE_DECLARATION__STATES = eINSTANCE.getStateDeclaration_States();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.generator.fsmtest.impl.InitialDeclarationImpl <em>Initial Declaration</em>}' class.
+ * <!-- 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();
+
+ /**
+ * The meta object literal for the '<em><b>Initial</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference INITIAL_DECLARATION__INITIAL = eINSTANCE.getInitialDeclaration_Initial();
+
+ /**
+ * 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.LoopsDeclarationImpl
+ * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getLoopsDeclaration()
+ * @generated
+ */
+ EClass LOOPS_DECLARATION = eINSTANCE.getLoopsDeclaration();
+
+ /**
+ * The meta object literal for the '<em><b>Val</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LOOPS_DECLARATION__VAL = eINSTANCE.getLoopsDeclaration_Val();
+
+ /**
+ * 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.SeedDeclarationImpl
+ * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getSeedDeclaration()
+ * @generated
+ */
+ EClass SEED_DECLARATION = eINSTANCE.getSeedDeclaration();
+
+ /**
+ * The meta object literal for the '<em><b>Val</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SEED_DECLARATION__VAL = eINSTANCE.getSeedDeclaration_Val();
+
+ /**
+ * 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
+ */
+ EClass SIGNAL_DECLARATION = eINSTANCE.getSignalDeclaration();
+
+ /**
+ * The meta object literal for the '<em><b>Port</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SIGNAL_DECLARATION__PORT = eINSTANCE.getSignalDeclaration_Port();
+
+ /**
+ * The meta object literal for the '<em><b>Signame</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ 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();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.generator.fsmtest.impl.SourceDeclarationImpl <em>Source Declaration</em>}' class.
+ * <!-- 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();
+
+ /**
+ * The meta object literal for the '<em><b>Ref</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SOURCE_DECLARATION__REF = eINSTANCE.getSourceDeclaration_Ref();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.generator.fsmtest.impl.DestinationDeclarationImpl <em>Destination 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()
+ * @generated
+ */
+ EClass DESTINATION_DECLARATION = eINSTANCE.getDestinationDeclaration();
+
+ /**
+ * The meta object literal for the '<em><b>Ref</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DESTINATION_DECLARATION__REF = eINSTANCE.getDestinationDeclaration_Ref();
+
+ /**
+ * 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.TransitionDeclarationImpl
+ * @see org.eclipse.etrice.generator.fsmtest.impl.FsmtestPackageImpl#getTransitionDeclaration()
+ * @generated
+ */
+ EClass TRANSITION_DECLARATION = eINSTANCE.getTransitionDeclaration();
+
+ /**
+ * The meta object literal for the '<em><b>Source</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TRANSITION_DECLARATION__SOURCE = eINSTANCE.getTransitionDeclaration_Source();
+
+ /**
+ * The meta object literal for the '<em><b>In</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TRANSITION_DECLARATION__IN = eINSTANCE.getTransitionDeclaration_In();
+
+ /**
+ * The meta object literal for the '<em><b>Out</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TRANSITION_DECLARATION__OUT = eINSTANCE.getTransitionDeclaration_Out();
+
+ /**
+ * The meta object literal for the '<em><b>Destination</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TRANSITION_DECLARATION__DESTINATION = eINSTANCE.getTransitionDeclaration_Destination();
+
+ }
+
+} //FsmtestPackage
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 new file mode 100644 index 000000000..8e6588daa --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/InitialDeclaration.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>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/LoopsDeclaration.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/LoopsDeclaration.java new file mode 100644 index 000000000..b123c9480 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/LoopsDeclaration.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>Loops Declaration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.LoopsDeclaration#getVal <em>Val</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getLoopsDeclaration()
+ * @model
+ * @generated
+ */
+public interface LoopsDeclaration extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Val</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Val</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Val</em>' attribute.
+ * @see #setVal(int)
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getLoopsDeclaration_Val()
+ * @model
+ * @generated
+ */
+ int getVal();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.LoopsDeclaration#getVal <em>Val</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Val</em>' attribute.
+ * @see #getVal()
+ * @generated
+ */
+ void setVal(int value);
+
+} // LoopsDeclaration
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 new file mode 100644 index 000000000..a69b334ca --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/Model.java @@ -0,0 +1,43 @@ +/**
+ */
+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>Model</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.Model#getTestscripts <em>Testscripts</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getModel()
+ * @model
+ * @generated
+ */
+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}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Testscripts</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()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Testscript> getTestscripts();
+
+} // Model
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/SeedDeclaration.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/SeedDeclaration.java new file mode 100644 index 000000000..a51bcac5e --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/SeedDeclaration.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>Seed Declaration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.SeedDeclaration#getVal <em>Val</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getSeedDeclaration()
+ * @model
+ * @generated
+ */
+public interface SeedDeclaration extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Val</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Val</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Val</em>' attribute.
+ * @see #setVal(int)
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getSeedDeclaration_Val()
+ * @model
+ * @generated
+ */
+ int getVal();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.SeedDeclaration#getVal <em>Val</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Val</em>' attribute.
+ * @see #getVal()
+ * @generated
+ */
+ void setVal(int value);
+
+} // SeedDeclaration
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/SignalDeclaration.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/SignalDeclaration.java new file mode 100644 index 000000000..0943c8901 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/SignalDeclaration.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>Signal Declaration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.SignalDeclaration#getPort <em>Port</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.SignalDeclaration#getSigname <em>Signame</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.SignalDeclaration#getIntVal <em>Int Val</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.SignalDeclaration#getStrVal <em>Str Val</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getSignalDeclaration()
+ * @model
+ * @generated
+ */
+public interface SignalDeclaration extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Port</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Port</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Port</em>' attribute.
+ * @see #setPort(String)
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getSignalDeclaration_Port()
+ * @model
+ * @generated
+ */
+ String getPort();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.SignalDeclaration#getPort <em>Port</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Port</em>' attribute.
+ * @see #getPort()
+ * @generated
+ */
+ void setPort(String value);
+
+ /**
+ * Returns the value of the '<em><b>Signame</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Signame</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Signame</em>' attribute.
+ * @see #setSigname(String)
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getSignalDeclaration_Signame()
+ * @model
+ * @generated
+ */
+ String getSigname();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.SignalDeclaration#getSigname <em>Signame</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Signame</em>' attribute.
+ * @see #getSigname()
+ * @generated
+ */
+ void setSigname(String value);
+
+ /**
+ * Returns the value of the '<em><b>Int Val</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Int Val</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Int Val</em>' attribute.
+ * @see #setIntVal(int)
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getSignalDeclaration_IntVal()
+ * @model
+ * @generated
+ */
+ int getIntVal();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.SignalDeclaration#getIntVal <em>Int Val</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Int Val</em>' attribute.
+ * @see #getIntVal()
+ * @generated
+ */
+ void setIntVal(int value);
+
+ /**
+ * Returns the value of the '<em><b>Str Val</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Str Val</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Str Val</em>' attribute.
+ * @see #setStrVal(String)
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getSignalDeclaration_StrVal()
+ * @model
+ * @generated
+ */
+ String getStrVal();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.SignalDeclaration#getStrVal <em>Str Val</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Str Val</em>' attribute.
+ * @see #getStrVal()
+ * @generated
+ */
+ void setStrVal(String value);
+
+} // SignalDeclaration
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 new file mode 100644 index 000000000..51d9c2450 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/SourceDeclaration.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>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 new file mode 100644 index 000000000..328a4f584 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/State.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>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 new file mode 100644 index 000000000..747301d3b --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/StateDeclaration.java @@ -0,0 +1,43 @@ +/**
+ */
+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>State Declaration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.StateDeclaration#getStates <em>States</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getStateDeclaration()
+ * @model
+ * @generated
+ */
+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}.
+ * <!-- 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#getStateDeclaration_States()
+ * @model containment="true"
+ * @generated
+ */
+ EList<State> getStates();
+
+} // 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 new file mode 100644 index 000000000..1d2ca567d --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/Testscript.java @@ -0,0 +1,178 @@ +/**
+ */
+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 new file mode 100644 index 000000000..643de4fe7 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/TransitionDeclaration.java @@ -0,0 +1,114 @@ +/**
+ */
+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>Transition Declaration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <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#getDestination <em>Destination</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getTransitionDeclaration()
+ * @model
+ * @generated
+ */
+public interface TransitionDeclaration extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Source</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Source</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>Source</em>' containment reference.
+ * @see #setSource(SourceDeclaration)
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getTransitionDeclaration_Source()
+ * @model containment="true"
+ * @generated
+ */
+ SourceDeclaration getSource();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getSource <em>Source</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Source</em>' containment reference.
+ * @see #getSource()
+ * @generated
+ */
+ void setSource(SourceDeclaration 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}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>In</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>In</em>' containment reference list.
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getTransitionDeclaration_In()
+ * @model containment="true"
+ * @generated
+ */
+ EList<SignalDeclaration> getIn();
+
+ /**
+ * 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}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Out</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()
+ * @model containment="true"
+ * @generated
+ */
+ EList<SignalDeclaration> getOut();
+
+ /**
+ * Returns the value of the '<em><b>Destination</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Destination</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>Destination</em>' containment reference.
+ * @see #setDestination(DestinationDeclaration)
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#getTransitionDeclaration_Destination()
+ * @model containment="true"
+ * @generated
+ */
+ DestinationDeclaration getDestination();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.generator.fsmtest.TransitionDeclaration#getDestination <em>Destination</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Destination</em>' containment reference.
+ * @see #getDestination()
+ * @generated
+ */
+ void setDestination(DestinationDeclaration value);
+
+} // TransitionDeclaration
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 new file mode 100644 index 000000000..b0cf449f6 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/DestinationDeclarationImpl.java @@ -0,0 +1,173 @@ +/**
+ */
+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/FsmtestFactoryImpl.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/FsmtestFactoryImpl.java new file mode 100644 index 000000000..a321d9e25 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/FsmtestFactoryImpl.java @@ -0,0 +1,226 @@ +/**
+ */
+package org.eclipse.etrice.generator.fsmtest.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.etrice.generator.fsmtest.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FsmtestFactoryImpl extends EFactoryImpl implements FsmtestFactory
+{
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static FsmtestFactory init()
+ {
+ try
+ {
+ FsmtestFactory theFsmtestFactory = (FsmtestFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/etrice/generator/FSMtest");
+ if (theFsmtestFactory != null)
+ {
+ return theFsmtestFactory;
+ }
+ }
+ catch (Exception exception)
+ {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new FsmtestFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FsmtestFactoryImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass)
+ {
+ switch (eClass.getClassifierID())
+ {
+ case FsmtestPackage.MODEL: return createModel();
+ case FsmtestPackage.TESTSCRIPT: return createTestscript();
+ case FsmtestPackage.STATE: return createState();
+ 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");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Model createModel()
+ {
+ ModelImpl model = new ModelImpl();
+ return model;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Testscript createTestscript()
+ {
+ TestscriptImpl testscript = new TestscriptImpl();
+ return testscript;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public State createState()
+ {
+ StateImpl state = new StateImpl();
+ return state;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StateDeclaration createStateDeclaration()
+ {
+ StateDeclarationImpl stateDeclaration = new StateDeclarationImpl();
+ return stateDeclaration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InitialDeclaration createInitialDeclaration()
+ {
+ InitialDeclarationImpl initialDeclaration = new InitialDeclarationImpl();
+ return initialDeclaration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public LoopsDeclaration createLoopsDeclaration()
+ {
+ LoopsDeclarationImpl loopsDeclaration = new LoopsDeclarationImpl();
+ return loopsDeclaration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SeedDeclaration createSeedDeclaration()
+ {
+ SeedDeclarationImpl seedDeclaration = new SeedDeclarationImpl();
+ return seedDeclaration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SignalDeclaration createSignalDeclaration()
+ {
+ SignalDeclarationImpl signalDeclaration = new SignalDeclarationImpl();
+ return signalDeclaration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SourceDeclaration createSourceDeclaration()
+ {
+ SourceDeclarationImpl sourceDeclaration = new SourceDeclarationImpl();
+ return sourceDeclaration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DestinationDeclaration createDestinationDeclaration()
+ {
+ DestinationDeclarationImpl destinationDeclaration = new DestinationDeclarationImpl();
+ return destinationDeclaration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TransitionDeclaration createTransitionDeclaration()
+ {
+ TransitionDeclarationImpl transitionDeclaration = new TransitionDeclarationImpl();
+ return transitionDeclaration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FsmtestPackage getFsmtestPackage()
+ {
+ return (FsmtestPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static FsmtestPackage getPackage()
+ {
+ return FsmtestPackage.eINSTANCE;
+ }
+
+} //FsmtestFactoryImpl
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 new file mode 100644 index 000000000..dfccfeeeb --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/FsmtestPackageImpl.java @@ -0,0 +1,658 @@ +/**
+ */
+package org.eclipse.etrice.generator.fsmtest.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.etrice.generator.fsmtest.DestinationDeclaration;
+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.LoopsDeclaration;
+import org.eclipse.etrice.generator.fsmtest.Model;
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FsmtestPackageImpl extends EPackageImpl implements FsmtestPackage
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass modelEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass testscriptEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass stateEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass stateDeclarationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass initialDeclarationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass loopsDeclarationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass seedDeclarationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass signalDeclarationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass sourceDeclarationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass destinationDeclarationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass transitionDeclarationEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private FsmtestPackageImpl()
+ {
+ super(eNS_URI, FsmtestFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link FsmtestPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static FsmtestPackage init()
+ {
+ if (isInited) return (FsmtestPackage)EPackage.Registry.INSTANCE.getEPackage(FsmtestPackage.eNS_URI);
+
+ // Obtain or create and register package
+ FsmtestPackageImpl theFsmtestPackage = (FsmtestPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof FsmtestPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new FsmtestPackageImpl());
+
+ isInited = true;
+
+ // Create package meta-data objects
+ theFsmtestPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theFsmtestPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theFsmtestPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(FsmtestPackage.eNS_URI, theFsmtestPackage);
+ return theFsmtestPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getModel()
+ {
+ return modelEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getModel_Testscripts()
+ {
+ return (EReference)modelEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTestscript()
+ {
+ return testscriptEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTestscript_Name()
+ {
+ return (EAttribute)testscriptEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTestscript_StateDeclaration()
+ {
+ return (EReference)testscriptEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTestscript_InitialDeclaration()
+ {
+ return (EReference)testscriptEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTestscript_LoopsDeclaration()
+ {
+ return (EReference)testscriptEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTestscript_SeedDeclaration()
+ {
+ return (EReference)testscriptEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTestscript_TransitionDeclarations()
+ {
+ return (EReference)testscriptEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getState()
+ {
+ return stateEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getState_Name()
+ {
+ return (EAttribute)stateEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStateDeclaration()
+ {
+ return stateDeclarationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStateDeclaration_States()
+ {
+ return (EReference)stateDeclarationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInitialDeclaration()
+ {
+ return initialDeclarationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInitialDeclaration_Initial()
+ {
+ return (EReference)initialDeclarationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLoopsDeclaration()
+ {
+ return loopsDeclarationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLoopsDeclaration_Val()
+ {
+ return (EAttribute)loopsDeclarationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSeedDeclaration()
+ {
+ 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);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSourceDeclaration()
+ {
+ return sourceDeclarationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSourceDeclaration_Ref()
+ {
+ return (EReference)sourceDeclarationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDestinationDeclaration()
+ {
+ return destinationDeclarationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDestinationDeclaration_Ref()
+ {
+ return (EReference)destinationDeclarationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTransitionDeclaration()
+ {
+ return transitionDeclarationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTransitionDeclaration_Source()
+ {
+ return (EReference)transitionDeclarationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTransitionDeclaration_In()
+ {
+ return (EReference)transitionDeclarationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTransitionDeclaration_Out()
+ {
+ return (EReference)transitionDeclarationEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTransitionDeclaration_Destination()
+ {
+ return (EReference)transitionDeclarationEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FsmtestFactory getFsmtestFactory()
+ {
+ return (FsmtestFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents()
+ {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ modelEClass = createEClass(MODEL);
+ createEReference(modelEClass, MODEL__TESTSCRIPTS);
+
+ 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);
+
+ stateEClass = createEClass(STATE);
+ createEAttribute(stateEClass, STATE__NAME);
+
+ stateDeclarationEClass = createEClass(STATE_DECLARATION);
+ createEReference(stateDeclarationEClass, STATE_DECLARATION__STATES);
+
+ initialDeclarationEClass = createEClass(INITIAL_DECLARATION);
+ createEReference(initialDeclarationEClass, INITIAL_DECLARATION__INITIAL);
+
+ loopsDeclarationEClass = createEClass(LOOPS_DECLARATION);
+ createEAttribute(loopsDeclarationEClass, LOOPS_DECLARATION__VAL);
+
+ seedDeclarationEClass = createEClass(SEED_DECLARATION);
+ createEAttribute(seedDeclarationEClass, SEED_DECLARATION__VAL);
+
+ signalDeclarationEClass = createEClass(SIGNAL_DECLARATION);
+ createEAttribute(signalDeclarationEClass, SIGNAL_DECLARATION__PORT);
+ 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);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents()
+ {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+
+ // 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);
+
+ 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(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(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(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(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);
+
+ initEClass(seedDeclarationEClass, SeedDeclaration.class, "SeedDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSeedDeclaration_Val(), ecorePackage.getEInt(), "val", null, 0, 1, SeedDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(signalDeclarationEClass, SignalDeclaration.class, "SignalDeclaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSignalDeclaration_Port(), ecorePackage.getEString(), "port", null, 0, 1, SignalDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSignalDeclaration_Signame(), ecorePackage.getEString(), "signame", null, 0, 1, SignalDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ 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);
+ }
+
+} //FsmtestPackageImpl
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 new file mode 100644 index 000000000..5a742439e --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/InitialDeclarationImpl.java @@ -0,0 +1,173 @@ +/**
+ */
+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/LoopsDeclarationImpl.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/LoopsDeclarationImpl.java new file mode 100644 index 000000000..73079bff8 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/LoopsDeclarationImpl.java @@ -0,0 +1,177 @@ +/**
+ */
+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.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.etrice.generator.fsmtest.FsmtestPackage;
+import org.eclipse.etrice.generator.fsmtest.LoopsDeclaration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Loops Declaration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.LoopsDeclarationImpl#getVal <em>Val</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class LoopsDeclarationImpl extends MinimalEObjectImpl.Container implements LoopsDeclaration
+{
+ /**
+ * The default value of the '{@link #getVal() <em>Val</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVal()
+ * @generated
+ * @ordered
+ */
+ protected static final int VAL_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getVal() <em>Val</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVal()
+ * @generated
+ * @ordered
+ */
+ protected int val = VAL_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LoopsDeclarationImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return FsmtestPackage.Literals.LOOPS_DECLARATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getVal()
+ {
+ return val;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVal(int newVal)
+ {
+ int oldVal = val;
+ val = newVal;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.LOOPS_DECLARATION__VAL, oldVal, val));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.LOOPS_DECLARATION__VAL:
+ return getVal();
+ }
+ 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.LOOPS_DECLARATION__VAL:
+ setVal((Integer)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.LOOPS_DECLARATION__VAL:
+ setVal(VAL_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.LOOPS_DECLARATION__VAL:
+ return val != VAL_EDEFAULT;
+ }
+ 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(" (val: ");
+ result.append(val);
+ result.append(')');
+ return result.toString();
+ }
+
+} //LoopsDeclarationImpl
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 new file mode 100644 index 000000000..d5bb1cc70 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/ModelImpl.java @@ -0,0 +1,167 @@ +/**
+ */
+package org.eclipse.etrice.generator.fsmtest.impl;
+
+import java.util.Collection;
+
+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.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.Model;
+import org.eclipse.etrice.generator.fsmtest.Testscript;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Model</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.ModelImpl#getTestscripts <em>Testscripts</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ModelImpl extends MinimalEObjectImpl.Container implements Model
+{
+ /**
+ * The cached value of the '{@link #getTestscripts() <em>Testscripts</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTestscripts()
+ * @generated
+ * @ordered
+ */
+ protected EList<Testscript> testscripts;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ModelImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return FsmtestPackage.Literals.MODEL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Testscript> getTestscripts()
+ {
+ if (testscripts == null)
+ {
+ testscripts = new EObjectContainmentEList<Testscript>(Testscript.class, this, FsmtestPackage.MODEL__TESTSCRIPTS);
+ }
+ return testscripts;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.MODEL__TESTSCRIPTS:
+ return ((InternalEList<?>)getTestscripts()).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.MODEL__TESTSCRIPTS:
+ return getTestscripts();
+ }
+ 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.MODEL__TESTSCRIPTS:
+ getTestscripts().clear();
+ getTestscripts().addAll((Collection<? extends Testscript>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.MODEL__TESTSCRIPTS:
+ getTestscripts().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.MODEL__TESTSCRIPTS:
+ return testscripts != null && !testscripts.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ModelImpl
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/SeedDeclarationImpl.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/SeedDeclarationImpl.java new file mode 100644 index 000000000..a2998cbc5 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/SeedDeclarationImpl.java @@ -0,0 +1,177 @@ +/**
+ */
+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.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.etrice.generator.fsmtest.FsmtestPackage;
+import org.eclipse.etrice.generator.fsmtest.SeedDeclaration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Seed Declaration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.SeedDeclarationImpl#getVal <em>Val</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SeedDeclarationImpl extends MinimalEObjectImpl.Container implements SeedDeclaration
+{
+ /**
+ * The default value of the '{@link #getVal() <em>Val</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVal()
+ * @generated
+ * @ordered
+ */
+ protected static final int VAL_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getVal() <em>Val</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVal()
+ * @generated
+ * @ordered
+ */
+ protected int val = VAL_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SeedDeclarationImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return FsmtestPackage.Literals.SEED_DECLARATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getVal()
+ {
+ return val;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVal(int newVal)
+ {
+ int oldVal = val;
+ val = newVal;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.SEED_DECLARATION__VAL, oldVal, val));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.SEED_DECLARATION__VAL:
+ return getVal();
+ }
+ 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.SEED_DECLARATION__VAL:
+ setVal((Integer)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.SEED_DECLARATION__VAL:
+ setVal(VAL_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.SEED_DECLARATION__VAL:
+ return val != VAL_EDEFAULT;
+ }
+ 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(" (val: ");
+ result.append(val);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SeedDeclarationImpl
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/SignalDeclarationImpl.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/SignalDeclarationImpl.java new file mode 100644 index 000000000..1ed54dc7d --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/SignalDeclarationImpl.java @@ -0,0 +1,345 @@ +/**
+ */
+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.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+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>Signal Declaration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.SignalDeclarationImpl#getPort <em>Port</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.SignalDeclarationImpl#getSigname <em>Signame</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.SignalDeclarationImpl#getIntVal <em>Int Val</em>}</li>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.SignalDeclarationImpl#getStrVal <em>Str Val</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SignalDeclarationImpl extends MinimalEObjectImpl.Container implements SignalDeclaration
+{
+ /**
+ * The default value of the '{@link #getPort() <em>Port</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPort()
+ * @generated
+ * @ordered
+ */
+ protected static final String PORT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPort() <em>Port</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPort()
+ * @generated
+ * @ordered
+ */
+ protected String port = PORT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getSigname() <em>Signame</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSigname()
+ * @generated
+ * @ordered
+ */
+ protected static final String SIGNAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSigname() <em>Signame</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSigname()
+ * @generated
+ * @ordered
+ */
+ protected String signame = SIGNAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getIntVal() <em>Int Val</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIntVal()
+ * @generated
+ * @ordered
+ */
+ protected static final int INT_VAL_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getIntVal() <em>Int Val</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIntVal()
+ * @generated
+ * @ordered
+ */
+ protected int intVal = INT_VAL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getStrVal() <em>Str Val</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStrVal()
+ * @generated
+ * @ordered
+ */
+ protected static final String STR_VAL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getStrVal() <em>Str Val</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStrVal()
+ * @generated
+ * @ordered
+ */
+ protected String strVal = STR_VAL_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SignalDeclarationImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return FsmtestPackage.Literals.SIGNAL_DECLARATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getPort()
+ {
+ return port;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPort(String newPort)
+ {
+ String oldPort = port;
+ port = newPort;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.SIGNAL_DECLARATION__PORT, oldPort, port));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getSigname()
+ {
+ return signame;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSigname(String newSigname)
+ {
+ String oldSigname = signame;
+ signame = newSigname;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.SIGNAL_DECLARATION__SIGNAME, oldSigname, signame));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getIntVal()
+ {
+ return intVal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIntVal(int newIntVal)
+ {
+ int oldIntVal = intVal;
+ intVal = newIntVal;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.SIGNAL_DECLARATION__INT_VAL, oldIntVal, intVal));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getStrVal()
+ {
+ return strVal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setStrVal(String newStrVal)
+ {
+ String oldStrVal = strVal;
+ strVal = newStrVal;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.SIGNAL_DECLARATION__STR_VAL, oldStrVal, strVal));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.SIGNAL_DECLARATION__PORT:
+ return getPort();
+ case FsmtestPackage.SIGNAL_DECLARATION__SIGNAME:
+ return getSigname();
+ case FsmtestPackage.SIGNAL_DECLARATION__INT_VAL:
+ return getIntVal();
+ case FsmtestPackage.SIGNAL_DECLARATION__STR_VAL:
+ return getStrVal();
+ }
+ 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.SIGNAL_DECLARATION__PORT:
+ setPort((String)newValue);
+ return;
+ case FsmtestPackage.SIGNAL_DECLARATION__SIGNAME:
+ setSigname((String)newValue);
+ return;
+ case FsmtestPackage.SIGNAL_DECLARATION__INT_VAL:
+ setIntVal((Integer)newValue);
+ return;
+ case FsmtestPackage.SIGNAL_DECLARATION__STR_VAL:
+ setStrVal((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.SIGNAL_DECLARATION__PORT:
+ setPort(PORT_EDEFAULT);
+ return;
+ case FsmtestPackage.SIGNAL_DECLARATION__SIGNAME:
+ setSigname(SIGNAME_EDEFAULT);
+ return;
+ case FsmtestPackage.SIGNAL_DECLARATION__INT_VAL:
+ setIntVal(INT_VAL_EDEFAULT);
+ return;
+ case FsmtestPackage.SIGNAL_DECLARATION__STR_VAL:
+ setStrVal(STR_VAL_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.SIGNAL_DECLARATION__PORT:
+ return PORT_EDEFAULT == null ? port != null : !PORT_EDEFAULT.equals(port);
+ case FsmtestPackage.SIGNAL_DECLARATION__SIGNAME:
+ return SIGNAME_EDEFAULT == null ? signame != null : !SIGNAME_EDEFAULT.equals(signame);
+ case FsmtestPackage.SIGNAL_DECLARATION__INT_VAL:
+ return intVal != INT_VAL_EDEFAULT;
+ case FsmtestPackage.SIGNAL_DECLARATION__STR_VAL:
+ return STR_VAL_EDEFAULT == null ? strVal != null : !STR_VAL_EDEFAULT.equals(strVal);
+ }
+ 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(" (port: ");
+ result.append(port);
+ result.append(", signame: ");
+ result.append(signame);
+ result.append(", intVal: ");
+ result.append(intVal);
+ result.append(", strVal: ");
+ result.append(strVal);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SignalDeclarationImpl
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 new file mode 100644 index 000000000..aecce3237 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/SourceDeclarationImpl.java @@ -0,0 +1,173 @@ +/**
+ */
+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 new file mode 100644 index 000000000..bd37ffeb8 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/StateDeclarationImpl.java @@ -0,0 +1,167 @@ +/**
+ */
+package org.eclipse.etrice.generator.fsmtest.impl;
+
+import java.util.Collection;
+
+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.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.State;
+import org.eclipse.etrice.generator.fsmtest.StateDeclaration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>State Declaration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.generator.fsmtest.impl.StateDeclarationImpl#getStates <em>States</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StateDeclarationImpl extends MinimalEObjectImpl.Container implements StateDeclaration
+{
+ /**
+ * The cached value of the '{@link #getStates() <em>States</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStates()
+ * @generated
+ * @ordered
+ */
+ protected EList<State> states;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StateDeclarationImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return FsmtestPackage.Literals.STATE_DECLARATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<State> getStates()
+ {
+ if (states == null)
+ {
+ states = new EObjectContainmentEList<State>(State.class, this, FsmtestPackage.STATE_DECLARATION__STATES);
+ }
+ return states;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.STATE_DECLARATION__STATES:
+ return ((InternalEList<?>)getStates()).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.STATE_DECLARATION__STATES:
+ return getStates();
+ }
+ 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.STATE_DECLARATION__STATES:
+ getStates().clear();
+ getStates().addAll((Collection<? extends State>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.STATE_DECLARATION__STATES:
+ getStates().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.STATE_DECLARATION__STATES:
+ return states != null && !states.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //StateDeclarationImpl
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/StateImpl.java new file mode 100644 index 000000000..f9d7991d0 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/StateImpl.java @@ -0,0 +1,177 @@ +/**
+ */
+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.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+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>State</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>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StateImpl extends MinimalEObjectImpl.Container implements State
+{
+ /**
+ * 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;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StateImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return FsmtestPackage.Literals.STATE;
+ }
+
+ /**
+ * <!-- 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.STATE__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.STATE__NAME:
+ return getName();
+ }
+ 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.STATE__NAME:
+ setName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.STATE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.STATE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ 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();
+ }
+
+} //StateImpl
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 new file mode 100644 index 000000000..e4e9b4ef5 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/TestscriptImpl.java @@ -0,0 +1,528 @@ +/**
+ */
+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 new file mode 100644 index 000000000..81ca669b7 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/impl/TransitionDeclarationImpl.java @@ -0,0 +1,351 @@ +/**
+ */
+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.DestinationDeclaration;
+import org.eclipse.etrice.generator.fsmtest.FsmtestPackage;
+import org.eclipse.etrice.generator.fsmtest.SignalDeclaration;
+import org.eclipse.etrice.generator.fsmtest.SourceDeclaration;
+import org.eclipse.etrice.generator.fsmtest.TransitionDeclaration;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Transition Declaration</b></em>'.
+ * <!-- end-user-doc -->
+ * <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#getDestination <em>Destination</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TransitionDeclarationImpl extends MinimalEObjectImpl.Container implements TransitionDeclaration
+{
+ /**
+ * The cached value of the '{@link #getSource() <em>Source</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSource()
+ * @generated
+ * @ordered
+ */
+ protected SourceDeclaration source;
+
+ /**
+ * The cached value of the '{@link #getIn() <em>In</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIn()
+ * @generated
+ * @ordered
+ */
+ protected EList<SignalDeclaration> in;
+
+ /**
+ * The cached value of the '{@link #getOut() <em>Out</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOut()
+ * @generated
+ * @ordered
+ */
+ protected EList<SignalDeclaration> out;
+
+ /**
+ * The cached value of the '{@link #getDestination() <em>Destination</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDestination()
+ * @generated
+ * @ordered
+ */
+ protected DestinationDeclaration destination;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TransitionDeclarationImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return FsmtestPackage.Literals.TRANSITION_DECLARATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SourceDeclaration getSource()
+ {
+ return source;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSource(SourceDeclaration newSource, NotificationChain msgs)
+ {
+ SourceDeclaration oldSource = source;
+ source = newSource;
+ 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;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSource(SourceDeclaration newSource)
+ {
+ if (newSource != source)
+ {
+ 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();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.TRANSITION_DECLARATION__SOURCE, newSource, newSource));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<SignalDeclaration> getIn()
+ {
+ if (in == null)
+ {
+ in = new EObjectContainmentEList<SignalDeclaration>(SignalDeclaration.class, this, FsmtestPackage.TRANSITION_DECLARATION__IN);
+ }
+ return in;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<SignalDeclaration> getOut()
+ {
+ if (out == null)
+ {
+ out = new EObjectContainmentEList<SignalDeclaration>(SignalDeclaration.class, this, FsmtestPackage.TRANSITION_DECLARATION__OUT);
+ }
+ return out;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DestinationDeclaration getDestination()
+ {
+ return destination;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetDestination(DestinationDeclaration newDestination, NotificationChain msgs)
+ {
+ DestinationDeclaration oldDestination = destination;
+ destination = newDestination;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, FsmtestPackage.TRANSITION_DECLARATION__DESTINATION, oldDestination, newDestination);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDestination(DestinationDeclaration newDestination)
+ {
+ if (newDestination != destination)
+ {
+ 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 (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, FsmtestPackage.TRANSITION_DECLARATION__DESTINATION, newDestination, newDestination));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ 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);
+ }
+ 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.TRANSITION_DECLARATION__SOURCE:
+ return getSource();
+ case FsmtestPackage.TRANSITION_DECLARATION__IN:
+ return getIn();
+ case FsmtestPackage.TRANSITION_DECLARATION__OUT:
+ return getOut();
+ case FsmtestPackage.TRANSITION_DECLARATION__DESTINATION:
+ return getDestination();
+ }
+ 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.TRANSITION_DECLARATION__SOURCE:
+ setSource((SourceDeclaration)newValue);
+ return;
+ case FsmtestPackage.TRANSITION_DECLARATION__IN:
+ getIn().clear();
+ getIn().addAll((Collection<? extends SignalDeclaration>)newValue);
+ return;
+ case FsmtestPackage.TRANSITION_DECLARATION__OUT:
+ getOut().clear();
+ getOut().addAll((Collection<? extends SignalDeclaration>)newValue);
+ return;
+ case FsmtestPackage.TRANSITION_DECLARATION__DESTINATION:
+ setDestination((DestinationDeclaration)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case FsmtestPackage.TRANSITION_DECLARATION__SOURCE:
+ setSource((SourceDeclaration)null);
+ return;
+ case FsmtestPackage.TRANSITION_DECLARATION__IN:
+ getIn().clear();
+ return;
+ case FsmtestPackage.TRANSITION_DECLARATION__OUT:
+ getOut().clear();
+ return;
+ case FsmtestPackage.TRANSITION_DECLARATION__DESTINATION:
+ setDestination((DestinationDeclaration)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ 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__DESTINATION:
+ return destination != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //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 new file mode 100644 index 000000000..742883b59 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/util/FsmtestAdapterFactory.java @@ -0,0 +1,332 @@ +/**
+ */
+package org.eclipse.etrice.generator.fsmtest.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.etrice.generator.fsmtest.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage
+ * @generated
+ */
+public class FsmtestAdapterFactory extends AdapterFactoryImpl
+{
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static FsmtestPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FsmtestAdapterFactory()
+ {
+ if (modelPackage == null)
+ {
+ modelPackage = FsmtestPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object)
+ {
+ if (object == modelPackage)
+ {
+ return true;
+ }
+ if (object instanceof EObject)
+ {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FsmtestSwitch<Adapter> modelSwitch =
+ new FsmtestSwitch<Adapter>()
+ {
+ @Override
+ public Adapter caseModel(Model object)
+ {
+ return createModelAdapter();
+ }
+ @Override
+ public Adapter caseTestscript(Testscript object)
+ {
+ return createTestscriptAdapter();
+ }
+ @Override
+ public Adapter caseState(State object)
+ {
+ return createStateAdapter();
+ }
+ @Override
+ public Adapter caseStateDeclaration(StateDeclaration object)
+ {
+ return createStateDeclarationAdapter();
+ }
+ @Override
+ public Adapter caseInitialDeclaration(InitialDeclaration object)
+ {
+ return createInitialDeclarationAdapter();
+ }
+ @Override
+ public Adapter caseLoopsDeclaration(LoopsDeclaration object)
+ {
+ return createLoopsDeclarationAdapter();
+ }
+ @Override
+ public Adapter caseSeedDeclaration(SeedDeclaration object)
+ {
+ return createSeedDeclarationAdapter();
+ }
+ @Override
+ public Adapter caseSignalDeclaration(SignalDeclaration object)
+ {
+ return createSignalDeclarationAdapter();
+ }
+ @Override
+ public Adapter caseSourceDeclaration(SourceDeclaration object)
+ {
+ return createSourceDeclarationAdapter();
+ }
+ @Override
+ public Adapter caseDestinationDeclaration(DestinationDeclaration object)
+ {
+ return createDestinationDeclarationAdapter();
+ }
+ @Override
+ public Adapter caseTransitionDeclaration(TransitionDeclaration object)
+ {
+ return createTransitionDeclarationAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object)
+ {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target)
+ {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.generator.fsmtest.Model <em>Model</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.Model
+ * @generated
+ */
+ public Adapter createModelAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.generator.fsmtest.Testscript <em>Testscript</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
+ * @generated
+ */
+ public Adapter createTestscriptAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.generator.fsmtest.State <em>State</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
+ * @generated
+ */
+ public Adapter createStateAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * 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.StateDeclaration
+ * @generated
+ */
+ public Adapter createStateDeclarationAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.generator.fsmtest.InitialDeclaration <em>Initial 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
+ * @generated
+ */
+ public Adapter createInitialDeclarationAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * 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.LoopsDeclaration
+ * @generated
+ */
+ public Adapter createLoopsDeclarationAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * 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.SeedDeclaration
+ * @generated
+ */
+ 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;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.generator.fsmtest.SourceDeclaration <em>Source 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
+ * @generated
+ */
+ public Adapter createSourceDeclarationAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.generator.fsmtest.DestinationDeclaration <em>Destination 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
+ * @generated
+ */
+ public Adapter createDestinationDeclarationAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * 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.TransitionDeclaration
+ * @generated
+ */
+ public Adapter createTransitionDeclarationAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter()
+ {
+ return null;
+ }
+
+} //FsmtestAdapterFactory
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 new file mode 100644 index 000000000..831de1202 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/fsmtest/util/FsmtestSwitch.java @@ -0,0 +1,349 @@ +/**
+ */
+package org.eclipse.etrice.generator.fsmtest.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.etrice.generator.fsmtest.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.generator.fsmtest.FsmtestPackage
+ * @generated
+ */
+public class FsmtestSwitch<T> extends Switch<T>
+{
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static FsmtestPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FsmtestSwitch()
+ {
+ if (modelPackage == null)
+ {
+ modelPackage = FsmtestPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage)
+ {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject)
+ {
+ switch (classifierID)
+ {
+ case FsmtestPackage.MODEL:
+ {
+ Model model = (Model)theEObject;
+ T result = caseModel(model);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FsmtestPackage.TESTSCRIPT:
+ {
+ Testscript testscript = (Testscript)theEObject;
+ T result = caseTestscript(testscript);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FsmtestPackage.STATE:
+ {
+ State state = (State)theEObject;
+ T result = caseState(state);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FsmtestPackage.STATE_DECLARATION:
+ {
+ StateDeclaration stateDeclaration = (StateDeclaration)theEObject;
+ T result = caseStateDeclaration(stateDeclaration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FsmtestPackage.INITIAL_DECLARATION:
+ {
+ InitialDeclaration initialDeclaration = (InitialDeclaration)theEObject;
+ T result = caseInitialDeclaration(initialDeclaration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FsmtestPackage.LOOPS_DECLARATION:
+ {
+ LoopsDeclaration loopsDeclaration = (LoopsDeclaration)theEObject;
+ T result = caseLoopsDeclaration(loopsDeclaration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FsmtestPackage.SEED_DECLARATION:
+ {
+ 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;
+ }
+ case FsmtestPackage.SOURCE_DECLARATION:
+ {
+ SourceDeclaration sourceDeclaration = (SourceDeclaration)theEObject;
+ T result = caseSourceDeclaration(sourceDeclaration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FsmtestPackage.DESTINATION_DECLARATION:
+ {
+ DestinationDeclaration destinationDeclaration = (DestinationDeclaration)theEObject;
+ T result = caseDestinationDeclaration(destinationDeclaration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case FsmtestPackage.TRANSITION_DECLARATION:
+ {
+ TransitionDeclaration transitionDeclaration = (TransitionDeclaration)theEObject;
+ T result = caseTransitionDeclaration(transitionDeclaration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Model</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>Model</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseModel(Model object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Testscript</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>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTestscript(Testscript object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>State</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>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseState(State object)
+ {
+ return null;
+ }
+
+ /**
+ * 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>State Declaration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStateDeclaration(StateDeclaration object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Initial 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>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseInitialDeclaration(InitialDeclaration object)
+ {
+ return null;
+ }
+
+ /**
+ * 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>Loops Declaration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLoopsDeclaration(LoopsDeclaration object)
+ {
+ return null;
+ }
+
+ /**
+ * 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>Seed Declaration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ 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;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Source 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>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSourceDeclaration(SourceDeclaration object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Destination 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>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDestinationDeclaration(DestinationDeclaration object)
+ {
+ return null;
+ }
+
+ /**
+ * 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>Transition Declaration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTransitionDeclaration(TransitionDeclaration object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object)
+ {
+ return null;
+ }
+
+} //FsmtestSwitch
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 new file mode 100644 index 000000000..74958406b --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/FSMtestAntlrTokenFileProvider.java @@ -0,0 +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"); + } +} 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 new file mode 100644 index 000000000..93cd730b2 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/FSMtestParser.java @@ -0,0 +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; + } + +} 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 new file mode 100644 index 000000000..c26df9733 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g @@ -0,0 +1,767 @@ +/* +* 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 : .; + + 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 new file mode 100644 index 000000000..2d0f32706 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.tokens @@ -0,0 +1,33 @@ +RULE_ID=4
+T__23=23
+T__22=22
+RULE_ANY_OTHER=10
+T__21=21
+T__20=20
+RULE_SL_COMMENT=8
+RULE_ML_COMMENT=7
+T__19=19
+RULE_STRING=6
+T__16=16
+T__15=15
+T__18=18
+T__17=17
+T__12=12
+T__11=11
+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
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 new file mode 100644 index 000000000..be9e5da5f --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtestLexer.java @@ -0,0 +1,1198 @@ +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;
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+@SuppressWarnings("all") +public class InternalFSMtestLexer extends Lexer {
+ public static final int RULE_ID=4;
+ public static final int T__23=23;
+ public static final int T__22=22;
+ public static final int RULE_ANY_OTHER=10;
+ public static final int T__21=21;
+ public static final int T__20=20;
+ public static final int EOF=-1;
+ public static final int RULE_SL_COMMENT=8;
+ public static final int RULE_ML_COMMENT=7;
+ public static final int T__19=19;
+ public static final int RULE_STRING=6;
+ public static final int T__16=16;
+ public static final int T__15=15;
+ public static final int T__18=18;
+ public static final int T__17=17;
+ public static final int T__12=12;
+ public static final int T__11=11;
+ public static final int T__14=14;
+ public static final int T__13=13;
+ public static final int RULE_INT=5;
+ public static final int RULE_WS=9;
+
+ // delegates
+ // delegators
+
+ public InternalFSMtestLexer() {;}
+ public InternalFSMtestLexer(CharStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalFSMtestLexer(CharStream input, RecognizerSharedState state) {
+ super(input,state);
+
+ }
+ public String getGrammarFileName() { return "../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g"; }
+
+ // $ANTLR start "T__11"
+ public final void mT__11() throws RecognitionException {
+ 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'
+ {
+ match("fsmtest");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__11"
+
+ // $ANTLR start "T__12"
+ public final void mT__12() throws RecognitionException {
+ try {
+ int _type = T__12;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../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: ';'
+ {
+ match(';');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__12"
+
+ // $ANTLR start "T__13"
+ public final void mT__13() throws RecognitionException {
+ try {
+ int _type = T__13;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../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:'
+ {
+ match("states:");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__13"
+
+ // $ANTLR start "T__14"
+ public final void mT__14() throws RecognitionException {
+ try {
+ int _type = T__14;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../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: ','
+ {
+ match(',');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__14"
+
+ // $ANTLR start "T__15"
+ public final void mT__15() throws RecognitionException {
+ try {
+ int _type = T__15;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../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:'
+ {
+ match("initial:");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__15"
+
+ // $ANTLR start "T__16"
+ public final void mT__16() throws RecognitionException {
+ try {
+ int _type = T__16;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../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:'
+ {
+ match("loops:");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__16"
+
+ // $ANTLR start "T__17"
+ public final void mT__17() throws RecognitionException {
+ try {
+ int _type = T__17;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../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:'
+ {
+ match("randseed:");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__17"
+
+ // $ANTLR start "T__18"
+ public final void mT__18() throws RecognitionException {
+ try {
+ int _type = T__18;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../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: '.'
+ {
+ match('.');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__18"
+
+ // $ANTLR start "T__19"
+ public final void mT__19() throws RecognitionException {
+ try {
+ int _type = T__19;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../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: '='
+ {
+ match('=');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__19"
+
+ // $ANTLR start "T__20"
+ public final void mT__20() throws RecognitionException {
+ try {
+ int _type = T__20;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../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: ':'
+ {
+ match(':');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__20"
+
+ // $ANTLR start "T__21"
+ public final void mT__21() throws RecognitionException {
+ try {
+ int _type = T__21;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../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: '-> '
+ {
+ match("-> ");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__21"
+
+ // $ANTLR start "T__22"
+ public final void mT__22() throws RecognitionException {
+ try {
+ int _type = T__22;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../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:'
+ {
+ match("in:");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__22"
+
+ // $ANTLR start "T__23"
+ public final void mT__23() throws RecognitionException {
+ try {
+ int _type = T__23;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../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:'
+ {
+ match("out:");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__23"
+
+ // $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:753:11: ( '^' )?
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0=='^') ) {
+ alt1=1;
+ }
+ switch (alt1) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:753:11: '^'
+ {
+ match('^');
+
+ }
+ break;
+
+ }
+
+ if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:753:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ loop2:
+ do {
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( ((LA2_0>='0' && LA2_0<='9')||(LA2_0>='A' && LA2_0<='Z')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='z')) ) {
+ alt2=1;
+ }
+
+
+ switch (alt2) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:
+ {
+ if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop2;
+ }
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ID"
+
+ // $ANTLR start "RULE_INT"
+ public final void mRULE_INT() throws RecognitionException {
+ try {
+ int _type = RULE_INT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../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:755:12: ( '0' .. '9' )+
+ int cnt3=0;
+ loop3:
+ do {
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( ((LA3_0>='0' && LA3_0<='9')) ) {
+ alt3=1;
+ }
+
+
+ switch (alt3) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:755:13: '0' .. '9'
+ {
+ matchRange('0','9');
+
+ }
+ break;
+
+ default :
+ if ( cnt3 >= 1 ) break loop3;
+ EarlyExitException eee =
+ new EarlyExitException(3, input);
+ throw eee;
+ }
+ cnt3++;
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_INT"
+
+ // $ANTLR start "RULE_STRING"
+ public final void mRULE_STRING() throws RecognitionException {
+ try {
+ int _type = RULE_STRING;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../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:757:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0=='\"') ) {
+ alt6=1;
+ }
+ else if ( (LA6_0=='\'') ) {
+ alt6=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 6, 0, input);
+
+ throw nvae;
+ }
+ switch (alt6) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:757: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' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
+ loop4:
+ do {
+ int alt4=3;
+ int LA4_0 = input.LA(1);
+
+ if ( (LA4_0=='\\') ) {
+ alt4=1;
+ }
+ else if ( ((LA4_0>='\u0000' && LA4_0<='!')||(LA4_0>='#' && LA4_0<='[')||(LA4_0>=']' && LA4_0<='\uFFFF')) ) {
+ alt4=2;
+ }
+
+
+ switch (alt4) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:757:21: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+ {
+ match('\\');
+ if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:757:66: ~ ( ( '\\\\' | '\"' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop4;
+ }
+ } while (true);
+
+ match('\"');
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:757: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' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
+ loop5:
+ do {
+ int alt5=3;
+ int LA5_0 = input.LA(1);
+
+ if ( (LA5_0=='\\') ) {
+ alt5=1;
+ }
+ else if ( ((LA5_0>='\u0000' && LA5_0<='&')||(LA5_0>='(' && LA5_0<='[')||(LA5_0>=']' && LA5_0<='\uFFFF')) ) {
+ alt5=2;
+ }
+
+
+ switch (alt5) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:757:92: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' )
+ {
+ match('\\');
+ if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||(input.LA(1)>='t' && input.LA(1)<='u') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:757:137: ~ ( ( '\\\\' | '\\'' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop5;
+ }
+ } while (true);
+
+ match('\'');
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_STRING"
+
+ // $ANTLR start "RULE_ML_COMMENT"
+ public final void mRULE_ML_COMMENT() throws RecognitionException {
+ try {
+ int _type = RULE_ML_COMMENT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../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; } : . )* '*/'
+ {
+ match("/*");
+
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:759:24: ( options {greedy=false; } : . )*
+ loop7:
+ do {
+ int alt7=2;
+ int LA7_0 = input.LA(1);
+
+ if ( (LA7_0=='*') ) {
+ int LA7_1 = input.LA(2);
+
+ if ( (LA7_1=='/') ) {
+ alt7=2;
+ }
+ else if ( ((LA7_1>='\u0000' && LA7_1<='.')||(LA7_1>='0' && LA7_1<='\uFFFF')) ) {
+ alt7=1;
+ }
+
+
+ }
+ else if ( ((LA7_0>='\u0000' && LA7_0<=')')||(LA7_0>='+' && LA7_0<='\uFFFF')) ) {
+ alt7=1;
+ }
+
+
+ switch (alt7) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:759:52: .
+ {
+ matchAny();
+
+ }
+ break;
+
+ default :
+ break loop7;
+ }
+ } while (true);
+
+ match("*/");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ML_COMMENT"
+
+ // $ANTLR start "RULE_SL_COMMENT"
+ public final void mRULE_SL_COMMENT() throws RecognitionException {
+ try {
+ int _type = RULE_SL_COMMENT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../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' )?
+ {
+ match("//");
+
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:761:24: (~ ( ( '\\n' | '\\r' ) ) )*
+ loop8:
+ do {
+ int alt8=2;
+ int LA8_0 = input.LA(1);
+
+ if ( ((LA8_0>='\u0000' && LA8_0<='\t')||(LA8_0>='\u000B' && LA8_0<='\f')||(LA8_0>='\u000E' && LA8_0<='\uFFFF')) ) {
+ alt8=1;
+ }
+
+
+ switch (alt8) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:761:24: ~ ( ( '\\n' | '\\r' ) )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop8;
+ }
+ } while (true);
+
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:761:40: ( ( '\\r' )? '\\n' )?
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( (LA10_0=='\n'||LA10_0=='\r') ) {
+ alt10=1;
+ }
+ switch (alt10) {
+ case 1 :
+ // ../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:761:41: ( '\\r' )?
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( (LA9_0=='\r') ) {
+ alt9=1;
+ }
+ switch (alt9) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:761:41: '\\r'
+ {
+ match('\r');
+
+ }
+ break;
+
+ }
+
+ match('\n');
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_SL_COMMENT"
+
+ // $ANTLR start "RULE_WS"
+ public final void mRULE_WS() throws RecognitionException {
+ try {
+ int _type = RULE_WS;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../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:763:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ int cnt11=0;
+ loop11:
+ do {
+ int alt11=2;
+ int LA11_0 = input.LA(1);
+
+ if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {
+ alt11=1;
+ }
+
+
+ switch (alt11) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:
+ {
+ if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ if ( cnt11 >= 1 ) break loop11;
+ EarlyExitException eee =
+ new EarlyExitException(11, input);
+ throw eee;
+ }
+ cnt11++;
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_WS"
+
+ // $ANTLR start "RULE_ANY_OTHER"
+ public final void mRULE_ANY_OTHER() throws RecognitionException {
+ try {
+ int _type = RULE_ANY_OTHER;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../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: .
+ {
+ matchAny();
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $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;
+ alt12 = dfa12.predict(input);
+ switch (alt12) {
+ case 1 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:10: T__11
+ {
+ mT__11();
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:16: T__12
+ {
+ mT__12();
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:22: T__13
+ {
+ mT__13();
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:28: T__14
+ {
+ mT__14();
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:34: T__15
+ {
+ mT__15();
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:40: T__16
+ {
+ mT__16();
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:46: T__17
+ {
+ mT__17();
+
+ }
+ break;
+ case 8 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:52: T__18
+ {
+ mT__18();
+
+ }
+ break;
+ case 9 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:58: T__19
+ {
+ mT__19();
+
+ }
+ break;
+ case 10 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:64: T__20
+ {
+ mT__20();
+
+ }
+ break;
+ case 11 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:70: T__21
+ {
+ mT__21();
+
+ }
+ break;
+ case 12 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:76: T__22
+ {
+ mT__22();
+
+ }
+ break;
+ case 13 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:82: T__23
+ {
+ mT__23();
+
+ }
+ break;
+ case 14 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:88: RULE_ID
+ {
+ mRULE_ID();
+
+ }
+ break;
+ case 15 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:96: RULE_INT
+ {
+ mRULE_INT();
+
+ }
+ break;
+ case 16 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:105: RULE_STRING
+ {
+ mRULE_STRING();
+
+ }
+ break;
+ case 17 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:117: RULE_ML_COMMENT
+ {
+ mRULE_ML_COMMENT();
+
+ }
+ break;
+ case 18 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:133: RULE_SL_COMMENT
+ {
+ mRULE_SL_COMMENT();
+
+ }
+ break;
+ case 19 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:149: RULE_WS
+ {
+ mRULE_WS();
+
+ }
+ break;
+ case 20 :
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:1:157: RULE_ANY_OTHER
+ {
+ mRULE_ANY_OTHER();
+
+ }
+ break;
+
+ }
+
+ }
+
+
+ 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";
+ static final String DFA12_eofS =
+ "\106\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";
+ 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";
+ 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";
+ static final String DFA12_specialS =
+ "\1\1\17\uffff\1\2\1\0\64\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",
+ "\1\25",
+ "",
+ "\1\30",
+ "",
+ "\1\32",
+ "\1\33",
+ "\1\34",
+ "",
+ "",
+ "",
+ "\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",
+ "",
+ "",
+ "\1\50",
+ "",
+ "\1\52\56\uffff\1\51",
+ "\1\53",
+ "\1\54",
+ "",
+ "",
+ "",
+ "",
+ "\1\55",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\56",
+ "\1\57",
+ "\1\60",
+ "",
+ "\1\61",
+ "\1\62",
+ "\1\63",
+ "\1\64",
+ "\1\65",
+ "\1\66",
+ "\1\67",
+ "\1\70",
+ "",
+ "\1\71",
+ "\1\72",
+ "\1\73",
+ "\1\74",
+ "\1\75",
+ "\1\76",
+ "\1\77",
+ "\1\100",
+ "",
+ "\1\101",
+ "\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
+ "",
+ "\1\103",
+ "\1\104",
+ "",
+ "",
+ "\1\105",
+ ""
+ };
+
+ static final short[] DFA12_eot = DFA.unpackEncodedString(DFA12_eotS);
+ static final short[] DFA12_eof = DFA.unpackEncodedString(DFA12_eofS);
+ static final char[] DFA12_min = DFA.unpackEncodedStringToUnsignedChars(DFA12_minS);
+ static final char[] DFA12_max = DFA.unpackEncodedStringToUnsignedChars(DFA12_maxS);
+ static final short[] DFA12_accept = DFA.unpackEncodedString(DFA12_acceptS);
+ static final short[] DFA12_special = DFA.unpackEncodedString(DFA12_specialS);
+ static final short[][] DFA12_transition;
+
+ static {
+ int numStates = DFA12_transitionS.length;
+ DFA12_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA12_transition[i] = DFA.unpackEncodedString(DFA12_transitionS[i]);
+ }
+ }
+
+ class DFA12 extends DFA {
+
+ public DFA12(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 12;
+ this.eot = DFA12_eot;
+ this.eof = DFA12_eof;
+ this.min = DFA12_min;
+ this.max = DFA12_max;
+ this.accept = DFA12_accept;
+ this.special = DFA12_special;
+ this.transition = DFA12_transition;
+ }
+ public String getDescription() {
+ return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | 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);
+
+ s = -1;
+ if ( ((LA12_17>='\u0000' && LA12_17<='\uFFFF')) ) {s = 35;}
+
+ else s = 20;
+
+ if ( s>=0 ) return s;
+ break;
+ case 1 :
+ int LA12_0 = input.LA(1);
+
+ s = -1;
+ if ( (LA12_0=='f') ) {s = 1;}
+
+ else if ( (LA12_0==';') ) {s = 2;}
+
+ else if ( (LA12_0=='s') ) {s = 3;}
+
+ else if ( (LA12_0==',') ) {s = 4;}
+
+ else if ( (LA12_0=='i') ) {s = 5;}
+
+ else if ( (LA12_0=='l') ) {s = 6;}
+
+ else if ( (LA12_0=='r') ) {s = 7;}
+
+ else if ( (LA12_0=='.') ) {s = 8;}
+
+ else if ( (LA12_0=='=') ) {s = 9;}
+
+ else if ( (LA12_0==':') ) {s = 10;}
+
+ else if ( (LA12_0=='-') ) {s = 11;}
+
+ else if ( (LA12_0=='o') ) {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>='0' && LA12_0<='9')) ) {s = 15;}
+
+ else if ( (LA12_0=='\"') ) {s = 16;}
+
+ else if ( (LA12_0=='\'') ) {s = 17;}
+
+ else if ( (LA12_0=='/') ) {s = 18;}
+
+ 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;}
+
+ if ( s>=0 ) return s;
+ break;
+ case 2 :
+ int LA12_16 = input.LA(1);
+
+ s = -1;
+ if ( ((LA12_16>='\u0000' && LA12_16<='\uFFFF')) ) {s = 35;}
+
+ else s = 20;
+
+ if ( s>=0 ) return s;
+ break;
+ }
+ NoViableAltException nvae =
+ new NoViableAltException(getDescription(), 12, _s, input);
+ error(nvae);
+ throw nvae;
+ }
+ }
+
+
+}
\ No newline at end of file diff --git a/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 new file mode 100644 index 000000000..eda7ecbcf --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtestParser.java @@ -0,0 +1,1837 @@ +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;
+
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+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:'"
+ };
+ public static final int RULE_ID=4;
+ public static final int T__23=23;
+ public static final int T__22=22;
+ public static final int RULE_ANY_OTHER=10;
+ public static final int T__21=21;
+ public static final int T__20=20;
+ public static final int RULE_SL_COMMENT=8;
+ public static final int EOF=-1;
+ public static final int RULE_ML_COMMENT=7;
+ public static final int T__19=19;
+ public static final int RULE_STRING=6;
+ public static final int T__16=16;
+ public static final int T__15=15;
+ public static final int T__18=18;
+ public static final int T__17=17;
+ public static final int T__12=12;
+ public static final int T__11=11;
+ public static final int T__14=14;
+ public static final int T__13=13;
+ public static final int RULE_INT=5;
+ public static final int RULE_WS=9;
+
+ // delegates
+ // delegators
+
+
+ public InternalFSMtestParser(TokenStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalFSMtestParser(TokenStream input, RecognizerSharedState state) {
+ super(input, state);
+
+ }
+
+
+ public String[] getTokenNames() { return InternalFSMtestParser.tokenNames; }
+ public String getGrammarFileName() { return "../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g"; }
+
+
+
+ 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;
+ }
+
+
+
+ // $ANTLR start "entryRuleModel"
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:67:1: entryRuleModel returns [EObject current=null] : iv_ruleModel= ruleModel EOF ;
+ public final EObject entryRuleModel() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleModel = null;
+
+
+ try {
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:68:2: (iv_ruleModel= ruleModel EOF )
+ // ../org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/parser/antlr/internal/InternalFSMtest.g:69:2: iv_ruleModel= ruleModel EOF
+ {
+ newCompositeNode(grammarAccess.getModelRule());
+ pushFollow(FOLLOW_ruleModel_in_entryRuleModel75);
+ iv_ruleModel=ruleModel();
+
+ state._fsp--;
+
+ current =iv_ruleModel;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleModel85);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleModel"
+
+
+ // $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 ) )* ;
+ public final EObject ruleModel() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_Testscripts_0_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:80:1: ( (lv_Testscripts_0_0= ruleTestscript ) )*
+ loop1:
+ do {
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0==11) ) {
+ alt1=1;
+ }
+
+
+ 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: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
+ {
+
+ newCompositeNode(grammarAccess.getModelAccess().getTestscriptsTestscriptParserRuleCall_0());
+
+ pushFollow(FOLLOW_ruleTestscript_in_ruleModel130);
+ lv_Testscripts_0_0=ruleTestscript();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getModelRule());
+ }
+ add(
+ current,
+ "Testscripts",
+ lv_Testscripts_0_0,
+ "Testscript");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop1;
+ }
+ } while (true);
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $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 {
+ EObject current = null;
+
+ EObject iv_ruleTestscript = 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
+ {
+ newCompositeNode(grammarAccess.getTestscriptRule());
+ pushFollow(FOLLOW_ruleTestscript_in_entryRuleTestscript166);
+ iv_ruleTestscript=ruleTestscript();
+
+ state._fsp--;
+
+ current =iv_ruleTestscript;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleTestscript176);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleTestscript"
+
+
+ // $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 {
+ 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;
+
+ EObject lv_transitionDeclarations_6_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: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= ';'
+ {
+ otherlv_0=(Token)match(input,11,FOLLOW_11_in_ruleTestscript213);
+
+ newLeafNode(otherlv_0, grammarAccess.getTestscriptAccess().getFsmtestKeyword_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: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
+ {
+ lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleTestscript230);
+
+ 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");
+
+
+ }
+
+
+ }
+
+ // ../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 )
+ {
+ // ../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
+ {
+
+ newCompositeNode(grammarAccess.getTestscriptAccess().getStateDeclarationStateDeclarationParserRuleCall_2_0());
+
+ pushFollow(FOLLOW_ruleStateDeclaration_in_ruleTestscript256);
+ lv_stateDeclaration_2_0=ruleStateDeclaration();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTestscriptRule());
+ }
+ set(
+ current,
+ "stateDeclaration",
+ lv_stateDeclaration_2_0,
+ "StateDeclaration");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../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
+ {
+
+ newCompositeNode(grammarAccess.getTestscriptAccess().getInitialDeclarationInitialDeclarationParserRuleCall_3_0());
+
+ pushFollow(FOLLOW_ruleInitialDeclaration_in_ruleTestscript277);
+ lv_initialDeclaration_3_0=ruleInitialDeclaration();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTestscriptRule());
+ }
+ set(
+ current,
+ "initialDeclaration",
+ lv_initialDeclaration_3_0,
+ "InitialDeclaration");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../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 )
+ {
+ // ../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
+ {
+
+ newCompositeNode(grammarAccess.getTestscriptAccess().getLoopsDeclarationLoopsDeclarationParserRuleCall_4_0());
+
+ pushFollow(FOLLOW_ruleLoopsDeclaration_in_ruleTestscript298);
+ lv_loopsDeclaration_4_0=ruleLoopsDeclaration();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTestscriptRule());
+ }
+ set(
+ current,
+ "loopsDeclaration",
+ lv_loopsDeclaration_4_0,
+ "LoopsDeclaration");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../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);
+
+ if ( (LA2_0==17) ) {
+ alt2=1;
+ }
+ switch (alt2) {
+ 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: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
+ {
+
+ newCompositeNode(grammarAccess.getTestscriptAccess().getSeedDeclarationSeedDeclarationParserRuleCall_5_0());
+
+ pushFollow(FOLLOW_ruleSeedDeclaration_in_ruleTestscript319);
+ lv_seedDeclaration_5_0=ruleSeedDeclaration();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTestscriptRule());
+ }
+ set(
+ current,
+ "seedDeclaration",
+ lv_seedDeclaration_5_0,
+ "SeedDeclaration");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../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();
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop3;
+ }
+ } while (true);
+
+ otherlv_7=(Token)match(input,12,FOLLOW_12_in_ruleTestscript354);
+
+ newLeafNode(otherlv_7, grammarAccess.getTestscriptAccess().getSemicolonKeyword_7());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleTestscript"
+
+
+ // $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 {
+ EObject current = null;
+
+ EObject iv_ruleState = 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
+ {
+ newCompositeNode(grammarAccess.getStateRule());
+ pushFollow(FOLLOW_ruleState_in_entryRuleState390);
+ iv_ruleState=ruleState();
+
+ state._fsp--;
+
+ current =iv_ruleState;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleState400);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleState"
+
+
+ // $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 {
+ EObject current = null;
+
+ Token lv_name_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: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: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
+ {
+ lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleState441);
+
+ newLeafNode(lv_name_0_0, grammarAccess.getStateAccess().getNameIDTerminalRuleCall_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getStateRule());
+ }
+ setWithLastConsumed(
+ current,
+ "name",
+ lv_name_0_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleState"
+
+
+ // $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 {
+ EObject current = null;
+
+ EObject iv_ruleStateDeclaration = 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
+ {
+ newCompositeNode(grammarAccess.getStateDeclarationRule());
+ pushFollow(FOLLOW_ruleStateDeclaration_in_entryRuleStateDeclaration481);
+ iv_ruleStateDeclaration=ruleStateDeclaration();
+
+ state._fsp--;
+
+ current =iv_ruleStateDeclaration;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleStateDeclaration491);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleStateDeclaration"
+
+
+ // $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 {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_2=null;
+ EObject lv_states_1_0 = null;
+
+ EObject lv_states_3_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: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 ) ) )*
+ {
+ otherlv_0=(Token)match(input,13,FOLLOW_13_in_ruleStateDeclaration528);
+
+ newLeafNode(otherlv_0, grammarAccess.getStateDeclarationAccess().getStatesKeyword_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: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
+ {
+
+ newCompositeNode(grammarAccess.getStateDeclarationAccess().getStatesStateParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleState_in_ruleStateDeclaration549);
+ lv_states_1_0=ruleState();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getStateDeclarationRule());
+ }
+ add(
+ current,
+ "states",
+ lv_states_1_0,
+ "State");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../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);
+
+ if ( (LA4_0==14) ) {
+ alt4=1;
+ }
+
+
+ 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--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getStateDeclarationRule());
+ }
+ add(
+ current,
+ "states",
+ lv_states_3_0,
+ "State");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop4;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleStateDeclaration"
+
+
+ // $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 {
+ EObject current = null;
+
+ EObject iv_ruleInitialDeclaration = 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
+ {
+ newCompositeNode(grammarAccess.getInitialDeclarationRule());
+ pushFollow(FOLLOW_ruleInitialDeclaration_in_entryRuleInitialDeclaration621);
+ iv_ruleInitialDeclaration=ruleInitialDeclaration();
+
+ state._fsp--;
+
+ current =iv_ruleInitialDeclaration;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleInitialDeclaration631);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleInitialDeclaration"
+
+
+ // $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 {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_1=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: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 ) )
+ {
+ otherlv_0=(Token)match(input,15,FOLLOW_15_in_ruleInitialDeclaration668);
+
+ newLeafNode(otherlv_0, grammarAccess.getInitialDeclarationAccess().getInitialKeyword_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: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
+ {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getInitialDeclarationRule());
+ }
+
+ otherlv_1=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleInitialDeclaration688);
+
+ newLeafNode(otherlv_1, grammarAccess.getInitialDeclarationAccess().getInitialStateCrossReference_1_0());
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleInitialDeclaration"
+
+
+ // $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 {
+ EObject current = null;
+
+ EObject iv_ruleLoopsDeclaration = 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
+ {
+ newCompositeNode(grammarAccess.getLoopsDeclarationRule());
+ pushFollow(FOLLOW_ruleLoopsDeclaration_in_entryRuleLoopsDeclaration724);
+ iv_ruleLoopsDeclaration=ruleLoopsDeclaration();
+
+ state._fsp--;
+
+ current =iv_ruleLoopsDeclaration;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleLoopsDeclaration734);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleLoopsDeclaration"
+
+
+ // $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 {
+ EObject current = null;
+
+ Token otherlv_0=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: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: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 ) )
+ {
+ otherlv_0=(Token)match(input,16,FOLLOW_16_in_ruleLoopsDeclaration771);
+
+ newLeafNode(otherlv_0, grammarAccess.getLoopsDeclarationAccess().getLoopsKeyword_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: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
+ {
+ lv_val_1_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleLoopsDeclaration788);
+
+ 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");
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleLoopsDeclaration"
+
+
+ // $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 {
+ EObject current = null;
+
+ EObject iv_ruleSeedDeclaration = 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
+ {
+ newCompositeNode(grammarAccess.getSeedDeclarationRule());
+ pushFollow(FOLLOW_ruleSeedDeclaration_in_entryRuleSeedDeclaration829);
+ iv_ruleSeedDeclaration=ruleSeedDeclaration();
+
+ state._fsp--;
+
+ current =iv_ruleSeedDeclaration;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleSeedDeclaration839);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleSeedDeclaration"
+
+
+ // $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 {
+ EObject current = null;
+
+ Token otherlv_0=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: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: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 ) )
+ {
+ otherlv_0=(Token)match(input,17,FOLLOW_17_in_ruleSeedDeclaration876);
+
+ newLeafNode(otherlv_0, grammarAccess.getSeedDeclarationAccess().getRandseedKeyword_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: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
+ {
+ lv_val_1_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleSeedDeclaration893);
+
+ 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");
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleSeedDeclaration"
+
+
+ // $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 {
+ EObject current = null;
+
+ EObject iv_ruleSignalDeclaration = 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
+ {
+ newCompositeNode(grammarAccess.getSignalDeclarationRule());
+ pushFollow(FOLLOW_ruleSignalDeclaration_in_entryRuleSignalDeclaration934);
+ iv_ruleSignalDeclaration=ruleSignalDeclaration();
+
+ state._fsp--;
+
+ current =iv_ruleSignalDeclaration;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleSignalDeclaration944);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleSignalDeclaration"
+
+
+ // $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 {
+ 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_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: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: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: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;
+
+ }
+
+ // ../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 )
+ {
+ // ../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
+ {
+ lv_signame_2_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleSignalDeclaration1023);
+
+ 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");
+
+
+ }
+
+
+ }
+
+ // ../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);
+
+ if ( (LA6_1==RULE_INT) ) {
+ alt6=1;
+ }
+ else if ( (LA6_1==RULE_STRING) ) {
+ alt6=2;
+ }
+ }
+ switch (alt6) {
+ 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 ) )
+ {
+ otherlv_3=(Token)match(input,19,FOLLOW_19_in_ruleSignalDeclaration1042);
+
+ 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: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");
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ 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);
+
+ 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);
+
+ 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");
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleSignalDeclaration"
+
+
+ // $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 {
+ EObject current = null;
+
+ EObject iv_ruleSourceDeclaration = 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
+ {
+ newCompositeNode(grammarAccess.getSourceDeclarationRule());
+ pushFollow(FOLLOW_ruleSourceDeclaration_in_entryRuleSourceDeclaration1145);
+ iv_ruleSourceDeclaration=ruleSourceDeclaration();
+
+ state._fsp--;
+
+ current =iv_ruleSourceDeclaration;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleSourceDeclaration1155);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleSourceDeclaration"
+
+
+ // $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 {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_1=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: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: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 )
+ {
+ // ../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
+ {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getSourceDeclarationRule());
+ }
+
+ otherlv_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleSourceDeclaration1200);
+
+ newLeafNode(otherlv_0, grammarAccess.getSourceDeclarationAccess().getRefStateCrossReference_0_0());
+
+
+ }
+
+
+ }
+
+ otherlv_1=(Token)match(input,20,FOLLOW_20_in_ruleSourceDeclaration1212);
+
+ newLeafNode(otherlv_1, grammarAccess.getSourceDeclarationAccess().getColonKeyword_1());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleSourceDeclaration"
+
+
+ // $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 {
+ EObject current = null;
+
+ EObject iv_ruleDestinationDeclaration = 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
+ {
+ newCompositeNode(grammarAccess.getDestinationDeclarationRule());
+ pushFollow(FOLLOW_ruleDestinationDeclaration_in_entryRuleDestinationDeclaration1248);
+ iv_ruleDestinationDeclaration=ruleDestinationDeclaration();
+
+ state._fsp--;
+
+ current =iv_ruleDestinationDeclaration;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleDestinationDeclaration1258);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleDestinationDeclaration"
+
+
+ // $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 {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_1=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: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 ) )
+ {
+ otherlv_0=(Token)match(input,21,FOLLOW_21_in_ruleDestinationDeclaration1295);
+
+ newLeafNode(otherlv_0, grammarAccess.getDestinationDeclarationAccess().getHyphenMinusGreaterThanSignSpaceKeyword_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: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
+ {
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getDestinationDeclarationRule());
+ }
+
+ otherlv_1=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleDestinationDeclaration1315);
+
+ newLeafNode(otherlv_1, grammarAccess.getDestinationDeclarationAccess().getRefStateCrossReference_1_0());
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleDestinationDeclaration"
+
+
+ // $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 {
+ EObject current = null;
+
+ EObject iv_ruleTransitionDeclaration = 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
+ {
+ newCompositeNode(grammarAccess.getTransitionDeclarationRule());
+ pushFollow(FOLLOW_ruleTransitionDeclaration_in_entryRuleTransitionDeclaration1351);
+ iv_ruleTransitionDeclaration=ruleTransitionDeclaration();
+
+ state._fsp--;
+
+ current =iv_ruleTransitionDeclaration;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleTransitionDeclaration1361);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleTransitionDeclaration"
+
+
+ // $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 {
+ EObject current = null;
+
+ Token otherlv_1=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;
+
+
+ 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: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: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();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTransitionDeclarationRule());
+ }
+ set(
+ current,
+ "source",
+ lv_source_0_0,
+ "SourceDeclaration");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ 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);
+
+ if ( (LA7_0==RULE_ID) ) {
+ alt7=1;
+ }
+
+
+ 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--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTransitionDeclarationRule());
+ }
+ add(
+ current,
+ "in",
+ lv_in_2_0,
+ "SignalDeclaration");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop7;
+ }
+ } while (true);
+
+ otherlv_3=(Token)match(input,23,FOLLOW_23_in_ruleTransitionDeclaration1453);
+
+ 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);
+
+ if ( (LA8_0==RULE_ID) ) {
+ alt8=1;
+ }
+
+
+ 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;
+
+ default :
+ break loop8;
+ }
+ } while (true);
+
+ // ../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();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTransitionDeclarationRule());
+ }
+ set(
+ current,
+ "destination",
+ lv_destination_5_0,
+ "DestinationDeclaration");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleTransitionDeclaration"
+
+ // Delegated rules
+
+
+
+
+ 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});
+
+}
\ 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 new file mode 100644 index 000000000..4ae60bf89 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/serializer/FSMtestSemanticSequencer.java @@ -0,0 +1,254 @@ +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.FsmtestPackage; +import org.eclipse.etrice.generator.fsmtest.InitialDeclaration; +import org.eclipse.etrice.generator.fsmtest.LoopsDeclaration; +import org.eclipse.etrice.generator.fsmtest.Model; +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; +import org.eclipse.xtext.serializer.acceptor.SequenceFeeder; +import org.eclipse.xtext.serializer.diagnostic.ISemanticSequencerDiagnosticProvider; +import org.eclipse.xtext.serializer.diagnostic.ISerializationDiagnostic.Acceptor; +import org.eclipse.xtext.serializer.sequencer.AbstractDelegatingSemanticSequencer; +import org.eclipse.xtext.serializer.sequencer.GenericSequencer; +import org.eclipse.xtext.serializer.sequencer.ISemanticNodeProvider.INodesForEObjectProvider; +import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer; +import org.eclipse.xtext.serializer.sequencer.ITransientValueService; +import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient; + +@SuppressWarnings("all")
+public class FSMtestSemanticSequencer extends AbstractDelegatingSemanticSequencer {
+
+ @Inject
+ private FSMtestGrammarAccess grammarAccess;
+
+ 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);
+ return;
+ }
+ else break;
+ case FsmtestPackage.INITIAL_DECLARATION:
+ if(context == grammarAccess.getInitialDeclarationRule()) {
+ sequence_InitialDeclaration(context, (InitialDeclaration) semanticObject);
+ return;
+ }
+ else break;
+ case FsmtestPackage.LOOPS_DECLARATION:
+ if(context == grammarAccess.getLoopsDeclarationRule()) {
+ sequence_LoopsDeclaration(context, (LoopsDeclaration) semanticObject);
+ return;
+ }
+ else break;
+ case FsmtestPackage.MODEL:
+ if(context == grammarAccess.getModelRule()) {
+ sequence_Model(context, (Model) semanticObject);
+ return;
+ }
+ else break;
+ case FsmtestPackage.SEED_DECLARATION:
+ if(context == grammarAccess.getSeedDeclarationRule()) {
+ sequence_SeedDeclaration(context, (SeedDeclaration) semanticObject);
+ return;
+ }
+ else break;
+ case FsmtestPackage.SIGNAL_DECLARATION:
+ if(context == grammarAccess.getSignalDeclarationRule()) {
+ sequence_SignalDeclaration(context, (SignalDeclaration) semanticObject);
+ return;
+ }
+ else break;
+ case FsmtestPackage.SOURCE_DECLARATION:
+ if(context == grammarAccess.getSourceDeclarationRule()) {
+ sequence_SourceDeclaration(context, (SourceDeclaration) semanticObject);
+ return;
+ }
+ else break;
+ case FsmtestPackage.STATE:
+ if(context == grammarAccess.getStateRule()) {
+ sequence_State(context, (State) semanticObject);
+ return;
+ }
+ else break;
+ case FsmtestPackage.STATE_DECLARATION:
+ if(context == grammarAccess.getStateDeclarationRule()) {
+ sequence_StateDeclaration(context, (StateDeclaration) semanticObject);
+ return;
+ }
+ else break;
+ case FsmtestPackage.TESTSCRIPT:
+ if(context == grammarAccess.getTestscriptRule()) {
+ sequence_Testscript(context, (Testscript) semanticObject);
+ return;
+ }
+ else break;
+ case FsmtestPackage.TRANSITION_DECLARATION:
+ if(context == grammarAccess.getTransitionDeclarationRule()) {
+ sequence_TransitionDeclaration(context, (TransitionDeclaration) semanticObject);
+ return;
+ }
+ else break;
+ }
+ if (errorAcceptor != null) errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
+ }
+
+ /**
+ * Constraint:
+ * ref=[State|ID]
+ */
+ protected void sequence_DestinationDeclaration(EObject context, DestinationDeclaration 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));
+ }
+ INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+ SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ feeder.accept(grammarAccess.getDestinationDeclarationAccess().getRefStateIDTerminalRuleCall_1_0_1(), semanticObject.getRef());
+ feeder.finish();
+ }
+
+
+ /**
+ * Constraint:
+ * initial=[State|ID]
+ */
+ protected void sequence_InitialDeclaration(EObject context, InitialDeclaration 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));
+ }
+ INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+ SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ feeder.accept(grammarAccess.getInitialDeclarationAccess().getInitialStateIDTerminalRuleCall_1_0_1(), semanticObject.getInitial());
+ feeder.finish();
+ }
+
+
+ /**
+ * Constraint:
+ * val=INT
+ */
+ protected void sequence_LoopsDeclaration(EObject context, LoopsDeclaration semanticObject) {
+ if(errorAcceptor != null) {
+ if(transientValues.isValueTransient(semanticObject, FsmtestPackage.Literals.LOOPS_DECLARATION__VAL) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FsmtestPackage.Literals.LOOPS_DECLARATION__VAL));
+ }
+ INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+ SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ feeder.accept(grammarAccess.getLoopsDeclarationAccess().getValINTTerminalRuleCall_1_0(), semanticObject.getVal());
+ feeder.finish();
+ }
+
+
+ /**
+ * Constraint:
+ * Testscripts+=Testscript*
+ */
+ protected void sequence_Model(EObject context, Model semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * val=INT
+ */
+ protected void sequence_SeedDeclaration(EObject context, SeedDeclaration 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));
+ }
+ INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+ SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ feeder.accept(grammarAccess.getSeedDeclarationAccess().getValINTTerminalRuleCall_1_0(), semanticObject.getVal());
+ 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]
+ */
+ protected void sequence_SourceDeclaration(EObject context, SourceDeclaration 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));
+ }
+ INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+ SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ feeder.accept(grammarAccess.getSourceDeclarationAccess().getRefStateIDTerminalRuleCall_0_0_1(), semanticObject.getRef());
+ feeder.finish();
+ }
+
+
+ /**
+ * Constraint:
+ * (states+=State states+=State*)
+ */
+ protected void sequence_StateDeclaration(EObject context, StateDeclaration semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * name=ID
+ */
+ protected void sequence_State(EObject context, State semanticObject) {
+ if(errorAcceptor != null) {
+ if(transientValues.isValueTransient(semanticObject, FsmtestPackage.Literals.STATE__NAME) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, FsmtestPackage.Literals.STATE__NAME));
+ }
+ INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+ SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ feeder.accept(grammarAccess.getStateAccess().getNameIDTerminalRuleCall_0(), semanticObject.getName());
+ feeder.finish();
+ }
+
+
+ /**
+ * Constraint:
+ * (
+ * name=ID
+ * stateDeclaration=StateDeclaration
+ * initialDeclaration=InitialDeclaration
+ * loopsDeclaration=LoopsDeclaration
+ * seedDeclaration=SeedDeclaration?
+ * transitionDeclarations+=TransitionDeclaration*
+ * )
+ */
+ protected void sequence_Testscript(EObject context, Testscript semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * (source=SourceDeclaration in+=SignalDeclaration* out+=SignalDeclaration* destination=DestinationDeclaration)
+ */
+ 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/serializer/FSMtestSyntacticSequencer.java b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/serializer/FSMtestSyntacticSequencer.java new file mode 100644 index 000000000..185fea308 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/serializer/FSMtestSyntacticSequencer.java @@ -0,0 +1,40 @@ +package org.eclipse.etrice.generator.serializer; + +import com.google.inject.Inject; +import java.util.List; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.etrice.generator.services.FSMtestGrammarAccess; +import org.eclipse.xtext.IGrammarAccess; +import org.eclipse.xtext.RuleCall; +import org.eclipse.xtext.nodemodel.INode; +import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias; +import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition; +import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer; + +@SuppressWarnings("all")
+public class FSMtestSyntacticSequencer extends AbstractSyntacticSequencer {
+
+ protected FSMtestGrammarAccess grammarAccess;
+
+ @Inject
+ protected void init(IGrammarAccess access) {
+ grammarAccess = (FSMtestGrammarAccess) access;
+ }
+
+ @Override
+ protected String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node) {
+ return "";
+ }
+
+
+ @Override
+ protected void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) {
+ if (transition.getAmbiguousSyntaxes().isEmpty()) return;
+ List<INode> transitionNodes = collectNodes(fromNode, toNode);
+ for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) {
+ List<INode> syntaxNodes = getNodesFor(transitionNodes, syntax);
+ acceptNodes(getLastNavigableState(), syntaxNodes);
+ }
+ }
+
+}
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 new file mode 100644 index 000000000..9390922f8 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/services/FSMtestGrammarAccess.java @@ -0,0 +1,665 @@ +/* +* 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(); + } +} 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 new file mode 100644 index 000000000..ec2259d42 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src-gen/org/eclipse/etrice/generator/validation/AbstractFSMtestJavaValidator.java @@ -0,0 +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; + } + +} diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src/org/eclipse/etrice/generator/FSMtest.xtext b/plugins/org.eclipse.etrice.generator.fsmtest/src/org/eclipse/etrice/generator/FSMtest.xtext new file mode 100644 index 000000000..44dc91a38 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src/org/eclipse/etrice/generator/FSMtest.xtext @@ -0,0 +1,55 @@ +grammar org.eclipse.etrice.generator.FSMtest with org.eclipse.xtext.common.Terminals
+
+generate fsmtest "http://www.eclipse.org/etrice/generator/FSMtest"
+
+Model:
+ Testscripts+=Testscript*;
+
+Testscript:
+ 'fsmtest' name=ID
+ stateDeclaration = StateDeclaration
+ initialDeclaration = InitialDeclaration
+ loopsDeclaration = LoopsDeclaration
+ (seedDeclaration = SeedDeclaration)?
+ (transitionDeclarations += TransitionDeclaration)*
+ ';'
+;
+
+State:
+ name=ID
+;
+
+StateDeclaration:
+ 'states:' states+=State (',' states+=State)*
+;
+
+InitialDeclaration:
+ "initial:" initial=[State|ID]
+;
+
+LoopsDeclaration:
+ 'loops:' val=INT
+;
+
+SeedDeclaration:
+ 'randseed:' val=INT
+;
+
+SignalDeclaration:
+ (port=ID '.')? signame=ID (('=' intVal=INT) | ('=' strVal=STRING))?
+;
+
+SourceDeclaration:
+ ref=[State|ID] ':'
+;
+
+DestinationDeclaration:
+ '-> ' ref=[State|ID]
+;
+
+TransitionDeclaration:
+ source=SourceDeclaration
+ 'in:' (in+=SignalDeclaration)*
+ 'out:' (out+=SignalDeclaration)*
+ destination=DestinationDeclaration
+;
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src/org/eclipse/etrice/generator/FSMtestRuntimeModule.java b/plugins/org.eclipse.etrice.generator.fsmtest/src/org/eclipse/etrice/generator/FSMtestRuntimeModule.java new file mode 100644 index 000000000..b26aed799 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src/org/eclipse/etrice/generator/FSMtestRuntimeModule.java @@ -0,0 +1,11 @@ +/* + * generated by Xtext + */ +package org.eclipse.etrice.generator; + +/** + * Use this class to register components to be used at runtime / without the Equinox extension registry. + */ +public class FSMtestRuntimeModule extends org.eclipse.etrice.generator.AbstractFSMtestRuntimeModule { + +} diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src/org/eclipse/etrice/generator/FSMtestStandaloneSetup.java b/plugins/org.eclipse.etrice.generator.fsmtest/src/org/eclipse/etrice/generator/FSMtestStandaloneSetup.java new file mode 100644 index 000000000..0e40975bb --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src/org/eclipse/etrice/generator/FSMtestStandaloneSetup.java @@ -0,0 +1,14 @@ + +package org.eclipse.etrice.generator; + +/** + * Initialization support for running Xtext languages + * without equinox extension registry + */ +public class FSMtestStandaloneSetup extends FSMtestStandaloneSetupGenerated{ + + public static void doSetup() { + new FSMtestStandaloneSetup().createInjectorAndDoEMFRegistration(); + } +} + diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src/org/eclipse/etrice/generator/GenerateFSMtest.mwe2 b/plugins/org.eclipse.etrice.generator.fsmtest/src/org/eclipse/etrice/generator/GenerateFSMtest.mwe2 new file mode 100644 index 000000000..f5b3f00ad --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src/org/eclipse/etrice/generator/GenerateFSMtest.mwe2 @@ -0,0 +1,139 @@ +module org.eclipse.etrice.generator.GenerateFSMtest
+
+import org.eclipse.emf.mwe.utils.*
+import org.eclipse.xtext.generator.*
+import org.eclipse.xtext.ui.generator.*
+
+var grammarURI = "classpath:/org/eclipse/etrice/generator/FSMtest.xtext"
+var file.extensions = "fsmtest"
+var projectName = "org.eclipse.etrice.generator.fsmtest"
+var runtimeProject = "../${projectName}"
+
+Workflow {
+ bean = StandaloneSetup {
+ scanClassPath = true
+ platformUri = "${runtimeProject}/.."
+ // The following two lines can be removed, if Xbase is not used.
+ registerGeneratedEPackage = "org.eclipse.xtext.xbase.XbasePackage"
+ registerGenModelFile = "platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel"
+ }
+
+ component = DirectoryCleaner {
+ directory = "${runtimeProject}/src-gen"
+ }
+
+ component = DirectoryCleaner {
+ directory = "${runtimeProject}.ui/src-gen"
+ }
+
+ component = Generator {
+ pathRtProject = runtimeProject
+ pathUiProject = "${runtimeProject}.ui"
+ pathTestProject = "${runtimeProject}.tests"
+ projectNameRt = projectName
+ projectNameUi = "${projectName}.ui"
+ language = {
+ uri = grammarURI
+ fileExtensions = file.extensions
+
+ // Java API to access grammar elements (required by several other fragments)
+ fragment = grammarAccess.GrammarAccessFragment {}
+
+ // generates Java API for the generated EPackages
+ fragment = ecore.EcoreGeneratorFragment {
+ // referencedGenModels = "
+ // platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel,
+ // platform:/resource/org.eclipse.xtext.common.types/model/JavaVMTypes.genmodel
+ // "
+ }
+
+ // Serializer 2.0
+ fragment = serializer.SerializerFragment {
+ generateStub = false
+ }
+
+ // the serialization component (1.0)
+ // fragment = parseTreeConstructor.ParseTreeConstructorFragment {}
+
+ // a custom ResourceFactory for use with EMF
+ fragment = resourceFactory.ResourceFactoryFragment {
+ fileExtensions = file.extensions
+ }
+
+ // The antlr parser generator fragment.
+ fragment = parser.antlr.XtextAntlrGeneratorFragment {
+ // options = {
+ // backtrack = true
+ // }
+ }
+
+ // java-based API for validation
+ fragment = validation.JavaValidatorFragment {
+ // composedCheck = "org.eclipse.xtext.validation.ImportUriValidator"
+ // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
+ }
+
+ // scoping and exporting API
+ // fragment = scoping.ImportURIScopingFragment {}
+ // fragment = exporting.SimpleNamesFragment {}
+
+ // scoping and exporting API
+ fragment = scoping.ImportNamespacesScopingFragment {}
+ fragment = exporting.QualifiedNamesFragment {}
+ fragment = builder.BuilderIntegrationFragment {}
+
+ // generator API
+ fragment = generator.GeneratorFragment {
+ generateMwe = false
+ generateJavaMain = false
+ }
+
+ // formatter API
+ fragment = formatting.FormatterFragment {}
+
+ // labeling API
+ fragment = labeling.LabelProviderFragment {}
+
+ // outline API
+ fragment = outline.OutlineTreeProviderFragment {}
+ fragment = outline.QuickOutlineFragment {}
+
+ // quickfix API
+ fragment = quickfix.QuickfixProviderFragment {}
+
+ // content assist API
+ fragment = contentAssist.JavaBasedContentAssistFragment {}
+
+ // generates a more lightweight Antlr parser and lexer tailored for content assist
+ fragment = parser.antlr.XtextAntlrUiGeneratorFragment {}
+
+ // generates junit test support classes into Generator#pathTestProject
+ fragment = junit.Junit4Fragment {}
+
+ // project wizard (optional)
+ // fragment = projectWizard.SimpleProjectWizardFragment {
+ // generatorProjectName = "${projectName}"
+ // modelFileExtension = file.extensions
+ // }
+
+ // rename refactoring
+ fragment = refactoring.RefactorElementNameFragment {}
+
+ // provides the necessary bindings for java types integration
+ fragment = types.TypesGeneratorFragment {}
+
+ // generates the required bindings only if the grammar inherits from Xbase
+ fragment = xbase.XbaseGeneratorFragment {}
+
+ // provides a preference page for template proposals
+ fragment = templates.CodetemplatesGeneratorFragment {}
+
+ // provides a compare view
+ fragment = compare.CompareFragment {
+ fileExtensions = file.extensions
+ }
+
+ }
+ }
+}
+
diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src/org/eclipse/etrice/generator/formatting/FSMtestFormatter.java b/plugins/org.eclipse.etrice.generator.fsmtest/src/org/eclipse/etrice/generator/formatting/FSMtestFormatter.java new file mode 100644 index 000000000..7abe2f8bd --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src/org/eclipse/etrice/generator/formatting/FSMtestFormatter.java @@ -0,0 +1,65 @@ +/* + * generated by Xtext + */ +package org.eclipse.etrice.generator.formatting; + +import org.eclipse.etrice.generator.services.FSMtestGrammarAccess; +import org.eclipse.xtext.Keyword; +import org.eclipse.xtext.formatting.impl.AbstractDeclarativeFormatter; +import org.eclipse.xtext.formatting.impl.FormattingConfig; + +/** + * This class contains custom formatting description. + * + * see : http://www.eclipse.org/Xtext/documentation/latest/xtext.html#formatting + * on how and when to use it + * + * Also see {@link org.eclipse.xtext.xtext.XtextFormattingTokenSerializer} as an example + */ +public class FSMtestFormatter extends AbstractDeclarativeFormatter { + + @Override + protected void configureFormatting(FormattingConfig c) { + FSMtestGrammarAccess grammarAccess = (FSMtestGrammarAccess) getGrammarAccess(); + c.setLinewrap(0, 1, 2).before(grammarAccess.getSL_COMMENTRule()); + c.setLinewrap(0, 1, 2).before(grammarAccess.getML_COMMENTRule()); + c.setLinewrap(0, 1, 1).after(grammarAccess.getML_COMMENTRule()); + + for (Keyword k: grammarAccess.findKeywords(";")) { + c.setIndentationDecrement().before(k); + c.setLinewrap().before(k); + } + + for (Keyword k: grammarAccess.findKeywords(",", ":")) { + c.setNoSpace().before(k); + } + + for (Keyword k: grammarAccess.findKeywords("in:","out:")) { + c.setLinewrap().before(k); + } + + for (Keyword k: grammarAccess.findKeywords("states:", "initial:", "loops:", "randseed:")) { + c.setLinewrap().before(k); + } + + for (Keyword k: grammarAccess.findKeywords(".")) { + c.setNoSpace().around(k); + } + + for (Keyword k: grammarAccess.findKeywords("fsmtest")) { + c.setLinewrap(2).before(k); + c.setIndentationIncrement().after(k); + } + + c.setLinewrap(2).before(grammarAccess.getSourceDeclarationRule()); + c.setIndentationIncrement().after(grammarAccess.getSourceDeclarationRule()); + + c.setIndentationDecrement().before(grammarAccess.getDestinationDeclarationRule()); + c.setLinewrap(1).before(grammarAccess.getDestinationDeclarationRule()); + + c.setIndentationIncrement().before(grammarAccess.getSignalDeclarationRule()); + c.setLinewrap(1).before(grammarAccess.getSignalDeclarationRule()); + c.setIndentationDecrement().after(grammarAccess.getSignalDeclarationRule()); + + } +} diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src/org/eclipse/etrice/generator/generator/FSMtestGenerator.xtend b/plugins/org.eclipse.etrice.generator.fsmtest/src/org/eclipse/etrice/generator/generator/FSMtestGenerator.xtend new file mode 100644 index 000000000..223f45fde --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src/org/eclipse/etrice/generator/generator/FSMtestGenerator.xtend @@ -0,0 +1,15 @@ +/* + * generated by Xtext + */ +package org.eclipse.etrice.generator.generator + +import org.eclipse.emf.ecore.resource.Resource +import org.eclipse.xtext.generator.IGenerator +import org.eclipse.xtext.generator.IFileSystemAccess + +class FSMtestGenerator implements IGenerator { + + override void doGenerate(Resource resource, IFileSystemAccess fsa) { + //TODO implement me + } +} diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src/org/eclipse/etrice/generator/scoping/FSMtestScopeProvider.java b/plugins/org.eclipse.etrice.generator.fsmtest/src/org/eclipse/etrice/generator/scoping/FSMtestScopeProvider.java new file mode 100644 index 000000000..2b7adfede --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src/org/eclipse/etrice/generator/scoping/FSMtestScopeProvider.java @@ -0,0 +1,17 @@ +/* + * generated by Xtext + */ +package org.eclipse.etrice.generator.scoping; + +import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider; + +/** + * This class contains custom scoping description. + * + * see : http://www.eclipse.org/Xtext/documentation/latest/xtext.html#scoping + * on how and when to use it + * + */ +public class FSMtestScopeProvider extends AbstractDeclarativeScopeProvider { + +} diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/src/org/eclipse/etrice/generator/validation/FSMtestJavaValidator.java b/plugins/org.eclipse.etrice.generator.fsmtest/src/org/eclipse/etrice/generator/validation/FSMtestJavaValidator.java new file mode 100644 index 000000000..3a97287a5 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/src/org/eclipse/etrice/generator/validation/FSMtestJavaValidator.java @@ -0,0 +1,38 @@ +package org.eclipse.etrice.generator.validation; + +import org.eclipse.etrice.generator.fsmtest.FsmtestPackage; +import org.eclipse.etrice.generator.fsmtest.Testscript; +import org.eclipse.etrice.generator.fsmtest.TransitionDeclaration; +import org.eclipse.xtext.validation.Check; + + +public class FSMtestJavaValidator extends AbstractFSMtestJavaValidator { + + + @Check + public void checkState(org.eclipse.etrice.generator.fsmtest.State state) { + if (!canReach(state)) + error("You cannot reach state "+state.getName(), FsmtestPackage.Literals.STATE__NAME); + if (!canLeave(state)) + error("You cannot leave state "+state.getName(), FsmtestPackage.Literals.STATE__NAME); + } + + private boolean canReach(org.eclipse.etrice.generator.fsmtest.State state) { + Testscript s = (Testscript) state.eContainer().eContainer(); + for (TransitionDeclaration t:s.getTransitionDeclarations()) { + if (t.getDestination().getRef()==state) + return true; + } + return false; + } + + private boolean canLeave(org.eclipse.etrice.generator.fsmtest.State state) { + Testscript s = (Testscript) state.eContainer().eContainer(); + for (TransitionDeclaration t:s.getTransitionDeclarations()) { + if (t.getSource().getRef()==state) + return true; + } + return false; + } + +} diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/xtend-gen/org/eclipse/etrice/generator/generator/.FSMtestGenerator.java._trace b/plugins/org.eclipse.etrice.generator.fsmtest/xtend-gen/org/eclipse/etrice/generator/generator/.FSMtestGenerator.java._trace Binary files differnew file mode 100644 index 000000000..bd4df5225 --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/xtend-gen/org/eclipse/etrice/generator/generator/.FSMtestGenerator.java._trace diff --git a/plugins/org.eclipse.etrice.generator.fsmtest/xtend-gen/org/eclipse/etrice/generator/generator/FSMtestGenerator.java b/plugins/org.eclipse.etrice.generator.fsmtest/xtend-gen/org/eclipse/etrice/generator/generator/FSMtestGenerator.java new file mode 100644 index 000000000..85ec4254a --- /dev/null +++ b/plugins/org.eclipse.etrice.generator.fsmtest/xtend-gen/org/eclipse/etrice/generator/generator/FSMtestGenerator.java @@ -0,0 +1,11 @@ +package org.eclipse.etrice.generator.generator;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.xtext.generator.IFileSystemAccess;
+import org.eclipse.xtext.generator.IGenerator;
+
+@SuppressWarnings("all")
+public class FSMtestGenerator implements IGenerator {
+ public void doGenerate(final Resource resource, final IFileSystemAccess fsa) {
+ }
+}
|