diff options
author | Henrik Rentz-Reichert | 2011-03-01 08:34:53 +0000 |
---|---|---|
committer | Henrik Rentz-Reichert | 2011-03-01 08:34:53 +0000 |
commit | e7aca9068c8ceeac4e366af16cfd70b1b6f3639e (patch) | |
tree | 237c3c226c514cec8a70a376d35cedcc15f46e76 | |
parent | 679713127b2e683d8aeebbf68d6ebcf67eafbc3a (diff) | |
parent | ac04515810b806b8e4abdbc7c93c709111e31885 (diff) | |
download | org.eclipse.etrice-e7aca9068c8ceeac4e366af16cfd70b1b6f3639e.tar.gz org.eclipse.etrice-e7aca9068c8ceeac4e366af16cfd70b1b6f3639e.tar.xz org.eclipse.etrice-e7aca9068c8ceeac4e366af16cfd70b1b6f3639e.zip |
Merge branch 'refs/heads/master' of
https://hrentzreich@git.eclipse.org/gitroot/etrice/org.eclipse.etrice.git
into HEAD
38 files changed, 27299 insertions, 27207 deletions
diff --git a/examples/org.eclipse.etrice.example/models/Example_1.room b/examples/org.eclipse.etrice.example/models/Example_1.room deleted file mode 100644 index eb32f18a3..000000000 --- a/examples/org.eclipse.etrice.example/models/Example_1.room +++ /dev/null @@ -1,55 +0,0 @@ -RoomModel Example_1 {
-
- ProtocolClass MyProtocol {
- incoming {
- Message in1 ()
- Message in2 ()
- }
- outgoing {
- Message out1 ()
- }
- }
-
- LogicalSystem SystemMain {
- SubSystemRef subsystem : SubSystemMain
- }
-
- SubSystemClass SubSystemMain {
- ActorRef application : App_SubSystemMain
- }
-
- // automatically inserted App_SubSystemMain
- ActorClass App_SubSystemMain {
- Structure {
- ActorRef actor : MyActor
- }
- }
-
- ActorClass MyActor {
- Interface {
- Port p2 : MyProtocol
- }
- Structure {
- conjugated Port p1 : MyProtocol
- ActorRef sub : SubActor
- Binding p1 and sub.p1
- Binding p2 and sub.p2
- }
- Behavior {
- }
- }
-
- ActorClass SubActor {
- Interface {
- Port p1 : MyProtocol
- Port p2 : MyProtocol
- }
- Structure {
- external Port p1
- external Port p2
- }
- Behavior {
- }
- }
-
-}
diff --git a/plugins/org.eclipse.etrice.core.room.ui/plugin.xml_gen b/plugins/org.eclipse.etrice.core.room.ui/plugin.xml_gen index 3ebe2dd26..70eedda92 100644 --- a/plugins/org.eclipse.etrice.core.room.ui/plugin.xml_gen +++ b/plugins/org.eclipse.etrice.core.room.ui/plugin.xml_gen @@ -1,183 +1,183 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?eclipse version="3.0"?> - -<plugin> - - <extension - point="org.eclipse.ui.editors"> - <editor - class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor" - contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor" - default="true" - extensions="room" - id="org.eclipse.etrice.core.Room" - name="Room Editor"> - </editor> - </extension> - <extension - point="org.eclipse.ui.handlers"> - <handler - class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler" - commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration"> - <activeWhen> - <reference - definitionId="org.eclipse.etrice.core.Room.Editor.opened"> - </reference> - </activeWhen> - </handler> - <handler - class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler" - commandId="org.eclipse.etrice.core.Room.validate"> - <activeWhen> - <reference - definitionId="org.eclipse.etrice.core.Room.Editor.opened"> - </reference> - </activeWhen> - </handler> - </extension> - <extension point="org.eclipse.core.expressions.definitions"> - <definition id="org.eclipse.etrice.core.Room.Editor.opened"> - <and> - <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/> - <with variable="activeEditor"> - <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName" - value="org.eclipse.etrice.core.Room" - forcePluginActivation="true"/> - </with> - </and> - </definition> - </extension> - <extension - point="org.eclipse.ui.preferencePages"> - <page - class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage" - id="org.eclipse.etrice.core.Room" - name="Room"> - <keywordReference id="org.eclipse.etrice.core.ui.keyword_Room"/> - </page> - <page - category="org.eclipse.etrice.core.Room" - class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage" - id="org.eclipse.etrice.core.Room.coloring" - name="Syntax Coloring"> - <keywordReference id="org.eclipse.etrice.core.ui.keyword_Room"/> - </page> - <page - category="org.eclipse.etrice.core.Room" - class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage" - id="org.eclipse.etrice.core.Room.templates" - name="Templates"> - <keywordReference id="org.eclipse.etrice.core.ui.keyword_Room"/> - </page> - </extension> - <extension - point="org.eclipse.ui.keywords"> - <keyword - id="org.eclipse.etrice.core.ui.keyword_Room" - label="Room"/> - </extension> - <extension - point="org.eclipse.ui.commands"> - <command - description="Trigger expensive validation" - id="org.eclipse.etrice.core.Room.validate" - name="Validate"> - </command> - </extension> - <extension point="org.eclipse.ui.menus"> - <menuContribution - locationURI="popup:#TextEditorContext?after=group.edit"> - <command - commandId="org.eclipse.etrice.core.Room.validate" - style="push" - tooltip="Trigger expensive validation"> - <visibleWhen checkEnabled="false"> - <reference - definitionId="org.eclipse.etrice.core.Room.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.core.Room.Editor.opened"> - </reference> - </visibleWhen> - </command> - </menuContribution> - </extension> - <extension point="org.eclipse.ui.handlers"> - <handler - class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler" - commandId="org.eclipse.xtext.ui.editor.FindReferences"> - <activeWhen> - <reference - definitionId="org.eclipse.etrice.core.Room.Editor.opened"> - </reference> - </activeWhen> - </handler> - </extension> - -<!-- adding resource factories --> - - <extension - point="org.eclipse.emf.ecore.extension_parser"> - <parser - class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory" - type="room"> - </parser> - </extension> - <extension point="org.eclipse.xtext.extension_resourceServiceProvider"> - <resourceServiceProvider - class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider" - uriExtension="room"> - </resourceServiceProvider> - </extension> - - - - <!-- Quick Outline --> - <extension - point="org.eclipse.ui.handlers"> - <handler - class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler" - commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"> - <activeWhen> - <reference - definitionId="org.eclipse.etrice.core.Room.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.core.Room.Editor.opened"/> - </visibleWhen> - </command> - </menuContribution> - </extension> - <!-- quickfix marker resolution generator --> - <extension - point="org.eclipse.ui.ide.markerResolution"> - <markerResolutionGenerator - class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"> - </markerResolutionGenerator> - </extension> - -</plugin> +<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<plugin>
+
+ <extension
+ point="org.eclipse.ui.editors">
+ <editor
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
+ contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
+ default="true"
+ extensions="room"
+ id="org.eclipse.etrice.core.Room"
+ name="Room Editor">
+ </editor>
+ </extension>
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
+ commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.etrice.core.Room.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ <handler
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
+ commandId="org.eclipse.etrice.core.Room.validate">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.etrice.core.Room.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+ <extension point="org.eclipse.core.expressions.definitions">
+ <definition id="org.eclipse.etrice.core.Room.Editor.opened">
+ <and>
+ <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
+ <with variable="activeEditor">
+ <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
+ value="org.eclipse.etrice.core.Room"
+ forcePluginActivation="true"/>
+ </with>
+ </and>
+ </definition>
+ </extension>
+ <extension
+ point="org.eclipse.ui.preferencePages">
+ <page
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+ id="org.eclipse.etrice.core.Room"
+ name="Room">
+ <keywordReference id="org.eclipse.etrice.core.ui.keyword_Room"/>
+ </page>
+ <page
+ category="org.eclipse.etrice.core.Room"
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
+ id="org.eclipse.etrice.core.Room.coloring"
+ name="Syntax Coloring">
+ <keywordReference id="org.eclipse.etrice.core.ui.keyword_Room"/>
+ </page>
+ <page
+ category="org.eclipse.etrice.core.Room"
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
+ id="org.eclipse.etrice.core.Room.templates"
+ name="Templates">
+ <keywordReference id="org.eclipse.etrice.core.ui.keyword_Room"/>
+ </page>
+ </extension>
+ <extension
+ point="org.eclipse.ui.keywords">
+ <keyword
+ id="org.eclipse.etrice.core.ui.keyword_Room"
+ label="Room"/>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ description="Trigger expensive validation"
+ id="org.eclipse.etrice.core.Room.validate"
+ name="Validate">
+ </command>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.edit">
+ <command
+ commandId="org.eclipse.etrice.core.Room.validate"
+ style="push"
+ tooltip="Trigger expensive validation">
+ <visibleWhen checkEnabled="false">
+ <reference
+ definitionId="org.eclipse.etrice.core.Room.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.core.Room.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
+ commandId="org.eclipse.xtext.ui.editor.FindReferences">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.etrice.core.Room.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+
+<!-- adding resource factories -->
+
+ <extension
+ point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
+ type="room">
+ </parser>
+ </extension>
+ <extension point="org.eclipse.xtext.extension_resourceServiceProvider">
+ <resourceServiceProvider
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
+ uriExtension="room">
+ </resourceServiceProvider>
+ </extension>
+
+
+
+ <!-- Quick Outline -->
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
+ commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.etrice.core.Room.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.core.Room.Editor.opened"/>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <!-- quickfix marker resolution generator -->
+ <extension
+ point="org.eclipse.ui.ide.markerResolution">
+ <markerResolutionGenerator
+ class="org.eclipse.etrice.core.ui.RoomExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator">
+ </markerResolutionGenerator>
+ </extension>
+
+</plugin>
diff --git a/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/AbstractRoomUiModule.java b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/AbstractRoomUiModule.java index 254757e2f..a0750a756 100644 --- a/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/AbstractRoomUiModule.java +++ b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/AbstractRoomUiModule.java @@ -1,122 +1,122 @@ - -/* - * generated by Xtext - */ -package org.eclipse.etrice.core.ui; - -import org.eclipse.xtext.ui.DefaultUiModule; -import org.eclipse.ui.plugin.AbstractUIPlugin; - -/** - * Manual modifications go to {org.eclipse.etrice.core.ui.RoomUiModule} - */ -@SuppressWarnings("all") -public abstract class AbstractRoomUiModule extends DefaultUiModule { - - public AbstractRoomUiModule(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.core.parser.antlr.internal.InternalRoomLexer.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.editor.contentassist.PrefixMatcher> bindPrefixMatcher() { - return org.eclipse.xtext.ui.editor.contentassist.FQNPrefixMatcher.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.ui.generator.labeling.LabelProviderFragment - public Class<? extends org.eclipse.jface.viewers.ILabelProvider> bindILabelProvider() { - return org.eclipse.etrice.core.ui.labeling.RoomLabelProvider.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.core.ui.labeling.RoomDescriptionLabelProvider.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.core.ui.outline.RoomOutlineTreeProvider.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.core.ui.outline.RoomOutlineTreeProvider.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.core.ui.quickfix.RoomQuickfixProvider.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.core.ui.contentassist.RoomProposalProvider.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.core.ui.contentassist.antlr.RoomParser.class; - } - - // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment - public void configureContentAssistLexerProvider(com.google.inject.Binder binder) { - binder.bind(org.eclipse.etrice.core.ui.contentassist.antlr.internal.InternalRoomLexer.class).toProvider(org.eclipse.xtext.parser.antlr.LexerProvider.create(org.eclipse.etrice.core.ui.contentassist.antlr.internal.InternalRoomLexer.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.core.ui.contentassist.antlr.internal.InternalRoomLexer.class); - } - - -} +
+/*
+ * generated by Xtext
+ */
+package org.eclipse.etrice.core.ui;
+
+import org.eclipse.xtext.ui.DefaultUiModule;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+/**
+ * Manual modifications go to {org.eclipse.etrice.core.ui.RoomUiModule}
+ */
+@SuppressWarnings("all")
+public abstract class AbstractRoomUiModule extends DefaultUiModule {
+
+ public AbstractRoomUiModule(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.core.parser.antlr.internal.InternalRoomLexer.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.editor.contentassist.PrefixMatcher> bindPrefixMatcher() {
+ return org.eclipse.xtext.ui.editor.contentassist.FQNPrefixMatcher.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.ui.generator.labeling.LabelProviderFragment
+ public Class<? extends org.eclipse.jface.viewers.ILabelProvider> bindILabelProvider() {
+ return org.eclipse.etrice.core.ui.labeling.RoomLabelProvider.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.core.ui.labeling.RoomDescriptionLabelProvider.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.core.ui.outline.RoomOutlineTreeProvider.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.core.ui.outline.RoomOutlineTreeProvider.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.core.ui.quickfix.RoomQuickfixProvider.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.core.ui.contentassist.RoomProposalProvider.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.core.ui.contentassist.antlr.RoomParser.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+ public void configureContentAssistLexerProvider(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.etrice.core.ui.contentassist.antlr.internal.InternalRoomLexer.class).toProvider(org.eclipse.xtext.parser.antlr.LexerProvider.create(org.eclipse.etrice.core.ui.contentassist.antlr.internal.InternalRoomLexer.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.core.ui.contentassist.antlr.internal.InternalRoomLexer.class);
+ }
+
+
+}
diff --git a/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/RoomExecutableExtensionFactory.java b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/RoomExecutableExtensionFactory.java index 682c2e3c8..94ec9b465 100644 --- a/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/RoomExecutableExtensionFactory.java +++ b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/RoomExecutableExtensionFactory.java @@ -1,27 +1,27 @@ -/* - * generated by Xtext - */ -package org.eclipse.etrice.core.ui; - -import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory; -import org.osgi.framework.Bundle; - -import com.google.inject.Injector; - -/** - * This class was generated. Customizations should only happen in a newly - * introduced subclass. - */ -public class RoomExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory { - - @Override - protected Bundle getBundle() { - return org.eclipse.etrice.core.ui.internal.RoomActivator.getInstance().getBundle(); - } - - @Override - protected Injector getInjector() { - return org.eclipse.etrice.core.ui.internal.RoomActivator.getInstance().getInjector("org.eclipse.etrice.core.Room"); - } - -} +/*
+ * generated by Xtext
+ */
+package org.eclipse.etrice.core.ui;
+
+import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory;
+import org.osgi.framework.Bundle;
+
+import com.google.inject.Injector;
+
+/**
+ * This class was generated. Customizations should only happen in a newly
+ * introduced subclass.
+ */
+public class RoomExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory {
+
+ @Override
+ protected Bundle getBundle() {
+ return org.eclipse.etrice.core.ui.internal.RoomActivator.getInstance().getBundle();
+ }
+
+ @Override
+ protected Injector getInjector() {
+ return org.eclipse.etrice.core.ui.internal.RoomActivator.getInstance().getInjector("org.eclipse.etrice.core.Room");
+ }
+
+}
diff --git a/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g index 0af2dfa62..92f5f7b50 100644 --- a/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g +++ b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/contentassist/antlr/internal/InternalRoom.g @@ -1,16199 +1,16199 @@ -/* -* generated by Xtext -*/ -grammar InternalRoom; - -options { - superClass=AbstractInternalContentAssistParser; - -} - -@lexer::header { -package org.eclipse.etrice.core.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.core.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.xtext.parsetree.*; -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.core.services.RoomGrammarAccess; - -} - -@parser::members { - - private RoomGrammarAccess grammarAccess; - - public void setGrammarAccess(RoomGrammarAccess grammarAccess) { - this.grammarAccess = grammarAccess; - } - - @Override - protected Grammar getGrammar() { - return grammarAccess.getGrammar(); - } - - @Override - protected String getValueForTokenName(String tokenName) { - return tokenName; - } - -} - - - - -// Entry rule entryRuleRoomModel -entryRuleRoomModel -: -{ before(grammarAccess.getRoomModelRule()); } - ruleRoomModel -{ after(grammarAccess.getRoomModelRule()); } - EOF -; - -// Rule RoomModel -ruleRoomModel - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getRoomModelAccess().getGroup()); } -(rule__RoomModel__Group__0) -{ after(grammarAccess.getRoomModelAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - -// Entry rule entryRuleStructureClass -entryRuleStructureClass -: -{ before(grammarAccess.getStructureClassRule()); } - ruleStructureClass -{ after(grammarAccess.getStructureClassRule()); } - EOF -; - -// Rule StructureClass -ruleStructureClass - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getStructureClassAccess().getAlternatives()); } -(rule__StructureClass__Alternatives) -{ after(grammarAccess.getStructureClassAccess().getAlternatives()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleActorContainerClass -entryRuleActorContainerClass -: -{ before(grammarAccess.getActorContainerClassRule()); } - ruleActorContainerClass -{ after(grammarAccess.getActorContainerClassRule()); } - EOF -; - -// Rule ActorContainerClass -ruleActorContainerClass - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getActorContainerClassAccess().getAlternatives()); } -(rule__ActorContainerClass__Alternatives) -{ after(grammarAccess.getActorContainerClassAccess().getAlternatives()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleTypedID -entryRuleTypedID -: -{ before(grammarAccess.getTypedIDRule()); } - ruleTypedID -{ after(grammarAccess.getTypedIDRule()); } - EOF -; - -// Rule TypedID -ruleTypedID - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getTypedIDAccess().getGroup()); } -(rule__TypedID__Group__0) -{ after(grammarAccess.getTypedIDAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleFreeTypedID -entryRuleFreeTypedID -: -{ before(grammarAccess.getFreeTypedIDRule()); } - ruleFreeTypedID -{ after(grammarAccess.getFreeTypedIDRule()); } - EOF -; - -// Rule FreeTypedID -ruleFreeTypedID - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getFreeTypedIDAccess().getGroup()); } -(rule__FreeTypedID__Group__0) -{ after(grammarAccess.getFreeTypedIDAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleType -entryRuleType -: -{ before(grammarAccess.getTypeRule()); } - ruleType -{ after(grammarAccess.getTypeRule()); } - EOF -; - -// Rule Type -ruleType - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getTypeAccess().getAlternatives()); } -(rule__Type__Alternatives) -{ after(grammarAccess.getTypeAccess().getAlternatives()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleFreeType -entryRuleFreeType -: -{ before(grammarAccess.getFreeTypeRule()); } - ruleFreeType -{ after(grammarAccess.getFreeTypeRule()); } - EOF -; - -// Rule FreeType -ruleFreeType - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getFreeTypeAccess().getAlternatives()); } -(rule__FreeType__Alternatives) -{ after(grammarAccess.getFreeTypeAccess().getAlternatives()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleDataClass -entryRuleDataClass -: -{ before(grammarAccess.getDataClassRule()); } - ruleDataClass -{ after(grammarAccess.getDataClassRule()); } - EOF -; - -// Rule DataClass -ruleDataClass - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getDataClassAccess().getGroup()); } -(rule__DataClass__Group__0) -{ after(grammarAccess.getDataClassAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleAttribute -entryRuleAttribute -: -{ before(grammarAccess.getAttributeRule()); } - ruleAttribute -{ after(grammarAccess.getAttributeRule()); } - EOF -; - -// Rule Attribute -ruleAttribute - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getAttributeAccess().getGroup()); } -(rule__Attribute__Group__0) -{ after(grammarAccess.getAttributeAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleOperation -entryRuleOperation -: -{ before(grammarAccess.getOperationRule()); } - ruleOperation -{ after(grammarAccess.getOperationRule()); } - EOF -; - -// Rule Operation -ruleOperation - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getOperationAccess().getGroup()); } -(rule__Operation__Group__0) -{ after(grammarAccess.getOperationAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleProtocolClass -entryRuleProtocolClass -: -{ before(grammarAccess.getProtocolClassRule()); } - ruleProtocolClass -{ after(grammarAccess.getProtocolClassRule()); } - EOF -; - -// Rule ProtocolClass -ruleProtocolClass - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getProtocolClassAccess().getGroup()); } -(rule__ProtocolClass__Group__0) -{ after(grammarAccess.getProtocolClassAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleMessage -entryRuleMessage -: -{ before(grammarAccess.getMessageRule()); } - ruleMessage -{ after(grammarAccess.getMessageRule()); } - EOF -; - -// Rule Message -ruleMessage - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getMessageAccess().getGroup()); } -(rule__Message__Group__0) -{ after(grammarAccess.getMessageAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRulePortClass -entryRulePortClass -: -{ before(grammarAccess.getPortClassRule()); } - rulePortClass -{ after(grammarAccess.getPortClassRule()); } - EOF -; - -// Rule PortClass -rulePortClass - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getPortClassAccess().getGroup()); } -(rule__PortClass__Group__0) -{ after(grammarAccess.getPortClassAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleMessageHandler -entryRuleMessageHandler -: -{ before(grammarAccess.getMessageHandlerRule()); } - ruleMessageHandler -{ after(grammarAccess.getMessageHandlerRule()); } - EOF -; - -// Rule MessageHandler -ruleMessageHandler - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getMessageHandlerAccess().getGroup()); } -(rule__MessageHandler__Group__0) -{ after(grammarAccess.getMessageHandlerAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleProtocolSemantics -entryRuleProtocolSemantics -: -{ before(grammarAccess.getProtocolSemanticsRule()); } - ruleProtocolSemantics -{ after(grammarAccess.getProtocolSemanticsRule()); } - EOF -; - -// Rule ProtocolSemantics -ruleProtocolSemantics - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getProtocolSemanticsAccess().getGroup()); } -(rule__ProtocolSemantics__Group__0) -{ after(grammarAccess.getProtocolSemanticsAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleSemanticsRule -entryRuleSemanticsRule -: -{ before(grammarAccess.getSemanticsRuleRule()); } - ruleSemanticsRule -{ after(grammarAccess.getSemanticsRuleRule()); } - EOF -; - -// Rule SemanticsRule -ruleSemanticsRule - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getSemanticsRuleAccess().getAlternatives()); } -(rule__SemanticsRule__Alternatives) -{ after(grammarAccess.getSemanticsRuleAccess().getAlternatives()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleSemanticsInRule -entryRuleSemanticsInRule -: -{ before(grammarAccess.getSemanticsInRuleRule()); } - ruleSemanticsInRule -{ after(grammarAccess.getSemanticsInRuleRule()); } - EOF -; - -// Rule SemanticsInRule -ruleSemanticsInRule - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getSemanticsInRuleAccess().getGroup()); } -(rule__SemanticsInRule__Group__0) -{ after(grammarAccess.getSemanticsInRuleAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleSemanticsOutRule -entryRuleSemanticsOutRule -: -{ before(grammarAccess.getSemanticsOutRuleRule()); } - ruleSemanticsOutRule -{ after(grammarAccess.getSemanticsOutRuleRule()); } - EOF -; - -// Rule SemanticsOutRule -ruleSemanticsOutRule - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getSemanticsOutRuleAccess().getGroup()); } -(rule__SemanticsOutRule__Group__0) -{ after(grammarAccess.getSemanticsOutRuleAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleActorClass -entryRuleActorClass -: -{ before(grammarAccess.getActorClassRule()); } - ruleActorClass -{ after(grammarAccess.getActorClassRule()); } - EOF -; - -// Rule ActorClass -ruleActorClass - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getActorClassAccess().getGroup()); } -(rule__ActorClass__Group__0) -{ after(grammarAccess.getActorClassAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - -// Entry rule entryRulePort -entryRulePort -: -{ before(grammarAccess.getPortRule()); } - rulePort -{ after(grammarAccess.getPortRule()); } - EOF -; - -// Rule Port -rulePort - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getPortAccess().getGroup()); } -(rule__Port__Group__0) -{ after(grammarAccess.getPortAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleExternalPort -entryRuleExternalPort -: -{ before(grammarAccess.getExternalPortRule()); } - ruleExternalPort -{ after(grammarAccess.getExternalPortRule()); } - EOF -; - -// Rule ExternalPort -ruleExternalPort - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getExternalPortAccess().getGroup()); } -(rule__ExternalPort__Group__0) -{ after(grammarAccess.getExternalPortAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleSAPRef -entryRuleSAPRef -: -{ before(grammarAccess.getSAPRefRule()); } - ruleSAPRef -{ after(grammarAccess.getSAPRefRule()); } - EOF -; - -// Rule SAPRef -ruleSAPRef - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getSAPRefAccess().getGroup()); } -(rule__SAPRef__Group__0) -{ after(grammarAccess.getSAPRefAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleSPPRef -entryRuleSPPRef -: -{ before(grammarAccess.getSPPRefRule()); } - ruleSPPRef -{ after(grammarAccess.getSPPRefRule()); } - EOF -; - -// Rule SPPRef -ruleSPPRef - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getSPPRefAccess().getGroup()); } -(rule__SPPRef__Group__0) -{ after(grammarAccess.getSPPRefAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleServiceImplementation -entryRuleServiceImplementation -: -{ before(grammarAccess.getServiceImplementationRule()); } - ruleServiceImplementation -{ after(grammarAccess.getServiceImplementationRule()); } - EOF -; - -// Rule ServiceImplementation -ruleServiceImplementation - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getServiceImplementationAccess().getGroup()); } -(rule__ServiceImplementation__Group__0) -{ after(grammarAccess.getServiceImplementationAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleLogicalSystem -entryRuleLogicalSystem -: -{ before(grammarAccess.getLogicalSystemRule()); } - ruleLogicalSystem -{ after(grammarAccess.getLogicalSystemRule()); } - EOF -; - -// Rule LogicalSystem -ruleLogicalSystem - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getLogicalSystemAccess().getGroup()); } -(rule__LogicalSystem__Group__0) -{ after(grammarAccess.getLogicalSystemAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - -// Entry rule entryRuleSubSystemRef -entryRuleSubSystemRef -: -{ before(grammarAccess.getSubSystemRefRule()); } - ruleSubSystemRef -{ after(grammarAccess.getSubSystemRefRule()); } - EOF -; - -// Rule SubSystemRef -ruleSubSystemRef - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getSubSystemRefAccess().getGroup()); } -(rule__SubSystemRef__Group__0) -{ after(grammarAccess.getSubSystemRefAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleSubSystemClass -entryRuleSubSystemClass -: -{ before(grammarAccess.getSubSystemClassRule()); } - ruleSubSystemClass -{ after(grammarAccess.getSubSystemClassRule()); } - EOF -; - -// Rule SubSystemClass -ruleSubSystemClass - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getSubSystemClassAccess().getGroup()); } -(rule__SubSystemClass__Group__0) -{ after(grammarAccess.getSubSystemClassAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleLogicalThread -entryRuleLogicalThread -: -{ before(grammarAccess.getLogicalThreadRule()); } - ruleLogicalThread -{ after(grammarAccess.getLogicalThreadRule()); } - EOF -; - -// Rule LogicalThread -ruleLogicalThread - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getLogicalThreadAccess().getGroup()); } -(rule__LogicalThread__Group__0) -{ after(grammarAccess.getLogicalThreadAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleActorInstancePath -entryRuleActorInstancePath -: -{ before(grammarAccess.getActorInstancePathRule()); } - ruleActorInstancePath -{ after(grammarAccess.getActorInstancePathRule()); } - EOF -; - -// Rule ActorInstancePath -ruleActorInstancePath - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getActorInstancePathAccess().getGroup()); } -(rule__ActorInstancePath__Group__0) -{ after(grammarAccess.getActorInstancePathAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleBinding -entryRuleBinding -: -{ before(grammarAccess.getBindingRule()); } - ruleBinding -{ after(grammarAccess.getBindingRule()); } - EOF -; - -// Rule Binding -ruleBinding - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getBindingAccess().getGroup()); } -(rule__Binding__Group__0) -{ after(grammarAccess.getBindingAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleBindingEndPoint -entryRuleBindingEndPoint -: -{ before(grammarAccess.getBindingEndPointRule()); } - ruleBindingEndPoint -{ after(grammarAccess.getBindingEndPointRule()); } - EOF -; - -// Rule BindingEndPoint -ruleBindingEndPoint - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getBindingEndPointAccess().getGroup()); } -(rule__BindingEndPoint__Group__0) -{ after(grammarAccess.getBindingEndPointAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleLayerConnection -entryRuleLayerConnection -: -{ before(grammarAccess.getLayerConnectionRule()); } - ruleLayerConnection -{ after(grammarAccess.getLayerConnectionRule()); } - EOF -; - -// Rule LayerConnection -ruleLayerConnection - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getLayerConnectionAccess().getGroup()); } -(rule__LayerConnection__Group__0) -{ after(grammarAccess.getLayerConnectionAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleSAPoint -entryRuleSAPoint -: -{ before(grammarAccess.getSAPointRule()); } - ruleSAPoint -{ after(grammarAccess.getSAPointRule()); } - EOF -; - -// Rule SAPoint -ruleSAPoint - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getSAPointAccess().getAlternatives()); } -(rule__SAPoint__Alternatives) -{ after(grammarAccess.getSAPointAccess().getAlternatives()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleRefSAPoint -entryRuleRefSAPoint -: -{ before(grammarAccess.getRefSAPointRule()); } - ruleRefSAPoint -{ after(grammarAccess.getRefSAPointRule()); } - EOF -; - -// Rule RefSAPoint -ruleRefSAPoint - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getRefSAPointAccess().getGroup()); } -(rule__RefSAPoint__Group__0) -{ after(grammarAccess.getRefSAPointAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleRelaySAPoint -entryRuleRelaySAPoint -: -{ before(grammarAccess.getRelaySAPointRule()); } - ruleRelaySAPoint -{ after(grammarAccess.getRelaySAPointRule()); } - EOF -; - -// Rule RelaySAPoint -ruleRelaySAPoint - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getRelaySAPointAccess().getGroup()); } -(rule__RelaySAPoint__Group__0) -{ after(grammarAccess.getRelaySAPointAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleSPPoint -entryRuleSPPoint -: -{ before(grammarAccess.getSPPointRule()); } - ruleSPPoint -{ after(grammarAccess.getSPPointRule()); } - EOF -; - -// Rule SPPoint -ruleSPPoint - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getSPPointAccess().getGroup()); } -(rule__SPPoint__Group__0) -{ after(grammarAccess.getSPPointAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleActorRef -entryRuleActorRef -: -{ before(grammarAccess.getActorRefRule()); } - ruleActorRef -{ after(grammarAccess.getActorRefRule()); } - EOF -; - -// Rule ActorRef -ruleActorRef - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getActorRefAccess().getGroup()); } -(rule__ActorRef__Group__0) -{ after(grammarAccess.getActorRefAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleStateGraphNode -entryRuleStateGraphNode -: -{ before(grammarAccess.getStateGraphNodeRule()); } - ruleStateGraphNode -{ after(grammarAccess.getStateGraphNodeRule()); } - EOF -; - -// Rule StateGraphNode -ruleStateGraphNode - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getStateGraphNodeAccess().getAlternatives()); } -(rule__StateGraphNode__Alternatives) -{ after(grammarAccess.getStateGraphNodeAccess().getAlternatives()); } -) - -; -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().getAlternatives()); } -(rule__State__Alternatives) -{ after(grammarAccess.getStateAccess().getAlternatives()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleStateGraph -entryRuleStateGraph -: -{ before(grammarAccess.getStateGraphRule()); } - ruleStateGraph -{ after(grammarAccess.getStateGraphRule()); } - EOF -; - -// Rule StateGraph -ruleStateGraph - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getStateGraphAccess().getGroup()); } -(rule__StateGraph__Group__0) -{ after(grammarAccess.getStateGraphAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleStateMachine -entryRuleStateMachine -: -{ before(grammarAccess.getStateMachineRule()); } - ruleStateMachine -{ after(grammarAccess.getStateMachineRule()); } - EOF -; - -// Rule StateMachine -ruleStateMachine - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getStateMachineAccess().getGroup()); } -(rule__StateMachine__Group__0) -{ after(grammarAccess.getStateMachineAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleBaseState -entryRuleBaseState -: -{ before(grammarAccess.getBaseStateRule()); } - ruleBaseState -{ after(grammarAccess.getBaseStateRule()); } - EOF -; - -// Rule BaseState -ruleBaseState - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getBaseStateAccess().getGroup()); } -(rule__BaseState__Group__0) -{ after(grammarAccess.getBaseStateAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleRefinedState -entryRuleRefinedState -: -{ before(grammarAccess.getRefinedStateRule()); } - ruleRefinedState -{ after(grammarAccess.getRefinedStateRule()); } - EOF -; - -// Rule RefinedState -ruleRefinedState - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getRefinedStateAccess().getGroup()); } -(rule__RefinedState__Group__0) -{ after(grammarAccess.getRefinedStateAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleDetailCode -entryRuleDetailCode -: -{ before(grammarAccess.getDetailCodeRule()); } - ruleDetailCode -{ after(grammarAccess.getDetailCodeRule()); } - EOF -; - -// Rule DetailCode -ruleDetailCode - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getDetailCodeAccess().getGroup()); } -(rule__DetailCode__Group__0) -{ after(grammarAccess.getDetailCodeAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleTrPoint -entryRuleTrPoint -: -{ before(grammarAccess.getTrPointRule()); } - ruleTrPoint -{ after(grammarAccess.getTrPointRule()); } - EOF -; - -// Rule TrPoint -ruleTrPoint - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getTrPointAccess().getAlternatives()); } -(rule__TrPoint__Alternatives) -{ after(grammarAccess.getTrPointAccess().getAlternatives()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleTransitionPoint -entryRuleTransitionPoint -: -{ before(grammarAccess.getTransitionPointRule()); } - ruleTransitionPoint -{ after(grammarAccess.getTransitionPointRule()); } - EOF -; - -// Rule TransitionPoint -ruleTransitionPoint - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getTransitionPointAccess().getGroup()); } -(rule__TransitionPoint__Group__0) -{ after(grammarAccess.getTransitionPointAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleEntryPoint -entryRuleEntryPoint -: -{ before(grammarAccess.getEntryPointRule()); } - ruleEntryPoint -{ after(grammarAccess.getEntryPointRule()); } - EOF -; - -// Rule EntryPoint -ruleEntryPoint - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getEntryPointAccess().getGroup()); } -(rule__EntryPoint__Group__0) -{ after(grammarAccess.getEntryPointAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleExitPoint -entryRuleExitPoint -: -{ before(grammarAccess.getExitPointRule()); } - ruleExitPoint -{ after(grammarAccess.getExitPointRule()); } - EOF -; - -// Rule ExitPoint -ruleExitPoint - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getExitPointAccess().getGroup()); } -(rule__ExitPoint__Group__0) -{ after(grammarAccess.getExitPointAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleChoicePoint -entryRuleChoicePoint -: -{ before(grammarAccess.getChoicePointRule()); } - ruleChoicePoint -{ after(grammarAccess.getChoicePointRule()); } - EOF -; - -// Rule ChoicePoint -ruleChoicePoint - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getChoicePointAccess().getGroup()); } -(rule__ChoicePoint__Group__0) -{ after(grammarAccess.getChoicePointAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleTransition -entryRuleTransition -: -{ before(grammarAccess.getTransitionRule()); } - ruleTransition -{ after(grammarAccess.getTransitionRule()); } - EOF -; - -// Rule Transition -ruleTransition - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getTransitionAccess().getAlternatives()); } -(rule__Transition__Alternatives) -{ after(grammarAccess.getTransitionAccess().getAlternatives()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleNonInitialTransition -entryRuleNonInitialTransition -: -{ before(grammarAccess.getNonInitialTransitionRule()); } - ruleNonInitialTransition -{ after(grammarAccess.getNonInitialTransitionRule()); } - EOF -; - -// Rule NonInitialTransition -ruleNonInitialTransition - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getNonInitialTransitionAccess().getAlternatives()); } -(rule__NonInitialTransition__Alternatives) -{ after(grammarAccess.getNonInitialTransitionAccess().getAlternatives()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleInitialTransition -entryRuleInitialTransition -: -{ before(grammarAccess.getInitialTransitionRule()); } - ruleInitialTransition -{ after(grammarAccess.getInitialTransitionRule()); } - EOF -; - -// Rule InitialTransition -ruleInitialTransition - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getInitialTransitionAccess().getGroup()); } -(rule__InitialTransition__Group__0) -{ after(grammarAccess.getInitialTransitionAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleContinuationTransition -entryRuleContinuationTransition -: -{ before(grammarAccess.getContinuationTransitionRule()); } - ruleContinuationTransition -{ after(grammarAccess.getContinuationTransitionRule()); } - EOF -; - -// Rule ContinuationTransition -ruleContinuationTransition - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getContinuationTransitionAccess().getGroup()); } -(rule__ContinuationTransition__Group__0) -{ after(grammarAccess.getContinuationTransitionAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleTriggeredTransition -entryRuleTriggeredTransition -: -{ before(grammarAccess.getTriggeredTransitionRule()); } - ruleTriggeredTransition -{ after(grammarAccess.getTriggeredTransitionRule()); } - EOF -; - -// Rule TriggeredTransition -ruleTriggeredTransition - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getTriggeredTransitionAccess().getGroup()); } -(rule__TriggeredTransition__Group__0) -{ after(grammarAccess.getTriggeredTransitionAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleCPBranchTransition -entryRuleCPBranchTransition -: -{ before(grammarAccess.getCPBranchTransitionRule()); } - ruleCPBranchTransition -{ after(grammarAccess.getCPBranchTransitionRule()); } - EOF -; - -// Rule CPBranchTransition -ruleCPBranchTransition - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getCPBranchTransitionAccess().getGroup()); } -(rule__CPBranchTransition__Group__0) -{ after(grammarAccess.getCPBranchTransitionAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleTransitionTerminal -entryRuleTransitionTerminal -: -{ before(grammarAccess.getTransitionTerminalRule()); } - ruleTransitionTerminal -{ after(grammarAccess.getTransitionTerminalRule()); } - EOF -; - -// Rule TransitionTerminal -ruleTransitionTerminal - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getTransitionTerminalAccess().getAlternatives()); } -(rule__TransitionTerminal__Alternatives) -{ after(grammarAccess.getTransitionTerminalAccess().getAlternatives()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleStateTerminal -entryRuleStateTerminal -: -{ before(grammarAccess.getStateTerminalRule()); } - ruleStateTerminal -{ after(grammarAccess.getStateTerminalRule()); } - EOF -; - -// Rule StateTerminal -ruleStateTerminal - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getStateTerminalAccess().getStateAssignment()); } -(rule__StateTerminal__StateAssignment) -{ after(grammarAccess.getStateTerminalAccess().getStateAssignment()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleTrPointTerminal -entryRuleTrPointTerminal -: -{ before(grammarAccess.getTrPointTerminalRule()); } - ruleTrPointTerminal -{ after(grammarAccess.getTrPointTerminalRule()); } - EOF -; - -// Rule TrPointTerminal -ruleTrPointTerminal - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getTrPointTerminalAccess().getGroup()); } -(rule__TrPointTerminal__Group__0) -{ after(grammarAccess.getTrPointTerminalAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleSubStateTrPointTerminal -entryRuleSubStateTrPointTerminal -: -{ before(grammarAccess.getSubStateTrPointTerminalRule()); } - ruleSubStateTrPointTerminal -{ after(grammarAccess.getSubStateTrPointTerminalRule()); } - EOF -; - -// Rule SubStateTrPointTerminal -ruleSubStateTrPointTerminal - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getSubStateTrPointTerminalAccess().getGroup()); } -(rule__SubStateTrPointTerminal__Group__0) -{ after(grammarAccess.getSubStateTrPointTerminalAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleChoicepointTerminal -entryRuleChoicepointTerminal -: -{ before(grammarAccess.getChoicepointTerminalRule()); } - ruleChoicepointTerminal -{ after(grammarAccess.getChoicepointTerminalRule()); } - EOF -; - -// Rule ChoicepointTerminal -ruleChoicepointTerminal - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getChoicepointTerminalAccess().getGroup()); } -(rule__ChoicepointTerminal__Group__0) -{ after(grammarAccess.getChoicepointTerminalAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleTrigger -entryRuleTrigger -: -{ before(grammarAccess.getTriggerRule()); } - ruleTrigger -{ after(grammarAccess.getTriggerRule()); } - EOF -; - -// Rule Trigger -ruleTrigger - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getTriggerAccess().getGroup()); } -(rule__Trigger__Group__0) -{ after(grammarAccess.getTriggerAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleMessageFromIf -entryRuleMessageFromIf -: -{ before(grammarAccess.getMessageFromIfRule()); } - ruleMessageFromIf -{ after(grammarAccess.getMessageFromIfRule()); } - EOF -; - -// Rule MessageFromIf -ruleMessageFromIf - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getMessageFromIfAccess().getGroup()); } -(rule__MessageFromIf__Group__0) -{ after(grammarAccess.getMessageFromIfAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleGuard -entryRuleGuard -: -{ before(grammarAccess.getGuardRule()); } - ruleGuard -{ after(grammarAccess.getGuardRule()); } - EOF -; - -// Rule Guard -ruleGuard - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getGuardAccess().getGroup()); } -(rule__Guard__Group__0) -{ after(grammarAccess.getGuardAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleImport -entryRuleImport -: -{ before(grammarAccess.getImportRule()); } - ruleImport -{ after(grammarAccess.getImportRule()); } - EOF -; - -// Rule Import -ruleImport - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getImportAccess().getGroup()); } -(rule__Import__Group__0) -{ after(grammarAccess.getImportAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleImportedFQN -entryRuleImportedFQN -: -{ before(grammarAccess.getImportedFQNRule()); } - ruleImportedFQN -{ after(grammarAccess.getImportedFQNRule()); } - EOF -; - -// Rule ImportedFQN -ruleImportedFQN - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getImportedFQNAccess().getGroup()); } -(rule__ImportedFQN__Group__0) -{ after(grammarAccess.getImportedFQNAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -// Entry rule entryRuleFQN -entryRuleFQN -: -{ before(grammarAccess.getFQNRule()); } - ruleFQN -{ after(grammarAccess.getFQNRule()); } - EOF -; - -// Rule FQN -ruleFQN - @init { - int stackSize = keepStackSize(); - } - : -( -{ before(grammarAccess.getFQNAccess().getGroup()); } -(rule__FQN__Group__0) -{ after(grammarAccess.getFQNAccess().getGroup()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - -// Rule PrimitiveType -rulePrimitiveType - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getPrimitiveTypeAccess().getAlternatives()); } -(rule__PrimitiveType__Alternatives) -{ after(grammarAccess.getPrimitiveTypeAccess().getAlternatives()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -rule__RoomModel__Alternatives_4 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRoomModelAccess().getDataClassesAssignment_4_0()); } -(rule__RoomModel__DataClassesAssignment_4_0) -{ after(grammarAccess.getRoomModelAccess().getDataClassesAssignment_4_0()); } -) - - |( -{ before(grammarAccess.getRoomModelAccess().getProtocolClassesAssignment_4_1()); } -(rule__RoomModel__ProtocolClassesAssignment_4_1) -{ after(grammarAccess.getRoomModelAccess().getProtocolClassesAssignment_4_1()); } -) - - |( -{ before(grammarAccess.getRoomModelAccess().getActorClassesAssignment_4_2()); } -(rule__RoomModel__ActorClassesAssignment_4_2) -{ after(grammarAccess.getRoomModelAccess().getActorClassesAssignment_4_2()); } -) - - |( -{ before(grammarAccess.getRoomModelAccess().getSubSystemClassesAssignment_4_3()); } -(rule__RoomModel__SubSystemClassesAssignment_4_3) -{ after(grammarAccess.getRoomModelAccess().getSubSystemClassesAssignment_4_3()); } -) - - |( -{ before(grammarAccess.getRoomModelAccess().getSystemsAssignment_4_4()); } -(rule__RoomModel__SystemsAssignment_4_4) -{ after(grammarAccess.getRoomModelAccess().getSystemsAssignment_4_4()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__StructureClass__Alternatives - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getStructureClassAccess().getActorContainerClassParserRuleCall_0()); } - ruleActorContainerClass -{ after(grammarAccess.getStructureClassAccess().getActorContainerClassParserRuleCall_0()); } -) - - |( -{ before(grammarAccess.getStructureClassAccess().getLogicalSystemParserRuleCall_1()); } - ruleLogicalSystem -{ after(grammarAccess.getStructureClassAccess().getLogicalSystemParserRuleCall_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorContainerClass__Alternatives - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorContainerClassAccess().getActorClassParserRuleCall_0()); } - ruleActorClass -{ after(grammarAccess.getActorContainerClassAccess().getActorClassParserRuleCall_0()); } -) - - |( -{ before(grammarAccess.getActorContainerClassAccess().getSubSystemClassParserRuleCall_1()); } - ruleSubSystemClass -{ after(grammarAccess.getActorContainerClassAccess().getSubSystemClassParserRuleCall_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__Type__Alternatives - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTypeAccess().getPrimAssignment_0()); } -(rule__Type__PrimAssignment_0) -{ after(grammarAccess.getTypeAccess().getPrimAssignment_0()); } -) - - |( -{ before(grammarAccess.getTypeAccess().getTypeAssignment_1()); } -(rule__Type__TypeAssignment_1) -{ after(grammarAccess.getTypeAccess().getTypeAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__FreeType__Alternatives - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getFreeTypeAccess().getPrimAssignment_0()); } -(rule__FreeType__PrimAssignment_0) -{ after(grammarAccess.getFreeTypeAccess().getPrimAssignment_0()); } -) - - |( -{ before(grammarAccess.getFreeTypeAccess().getTypeAssignment_1()); } -(rule__FreeType__TypeAssignment_1) -{ after(grammarAccess.getFreeTypeAccess().getTypeAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__PortClass__Alternatives_2 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getPortClassAccess().getAttributesAssignment_2_0()); } -(rule__PortClass__AttributesAssignment_2_0) -{ after(grammarAccess.getPortClassAccess().getAttributesAssignment_2_0()); } -) - - |( -{ before(grammarAccess.getPortClassAccess().getOperationsAssignment_2_1()); } -(rule__PortClass__OperationsAssignment_2_1) -{ after(grammarAccess.getPortClassAccess().getOperationsAssignment_2_1()); } -) - - |( -{ before(grammarAccess.getPortClassAccess().getMsgHandlersAssignment_2_2()); } -(rule__PortClass__MsgHandlersAssignment_2_2) -{ after(grammarAccess.getPortClassAccess().getMsgHandlersAssignment_2_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__SemanticsRule__Alternatives - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSemanticsRuleAccess().getSemanticsInRuleParserRuleCall_0()); } - ruleSemanticsInRule -{ after(grammarAccess.getSemanticsRuleAccess().getSemanticsInRuleParserRuleCall_0()); } -) - - |( -{ before(grammarAccess.getSemanticsRuleAccess().getSemanticsOutRuleParserRuleCall_1()); } - ruleSemanticsOutRule -{ after(grammarAccess.getSemanticsRuleAccess().getSemanticsOutRuleParserRuleCall_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Alternatives_6_4 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getIntPortsAssignment_6_4_0()); } -(rule__ActorClass__IntPortsAssignment_6_4_0) -{ after(grammarAccess.getActorClassAccess().getIntPortsAssignment_6_4_0()); } -) - - |( -{ before(grammarAccess.getActorClassAccess().getExtPortsAssignment_6_4_1()); } -(rule__ActorClass__ExtPortsAssignment_6_4_1) -{ after(grammarAccess.getActorClassAccess().getExtPortsAssignment_6_4_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -rule__SAPoint__Alternatives - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSAPointAccess().getRefSAPointParserRuleCall_0()); } - ruleRefSAPoint -{ after(grammarAccess.getSAPointAccess().getRefSAPointParserRuleCall_0()); } -) - - |( -{ before(grammarAccess.getSAPointAccess().getRelaySAPointParserRuleCall_1()); } - ruleRelaySAPoint -{ after(grammarAccess.getSAPointAccess().getRelaySAPointParserRuleCall_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__StateGraphNode__Alternatives - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getStateGraphNodeAccess().getStateParserRuleCall_0()); } - ruleState -{ after(grammarAccess.getStateGraphNodeAccess().getStateParserRuleCall_0()); } -) - - |( -{ before(grammarAccess.getStateGraphNodeAccess().getChoicePointParserRuleCall_1()); } - ruleChoicePoint -{ after(grammarAccess.getStateGraphNodeAccess().getChoicePointParserRuleCall_1()); } -) - - |( -{ before(grammarAccess.getStateGraphNodeAccess().getTrPointParserRuleCall_2()); } - ruleTrPoint -{ after(grammarAccess.getStateGraphNodeAccess().getTrPointParserRuleCall_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__State__Alternatives - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getStateAccess().getBaseStateParserRuleCall_0()); } - ruleBaseState -{ after(grammarAccess.getStateAccess().getBaseStateParserRuleCall_0()); } -) - - |( -{ before(grammarAccess.getStateAccess().getRefinedStateParserRuleCall_1()); } - ruleRefinedState -{ after(grammarAccess.getStateAccess().getRefinedStateParserRuleCall_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__StateGraph__Alternatives_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getStateGraphAccess().getStatesAssignment_1_0()); } -(rule__StateGraph__StatesAssignment_1_0) -{ after(grammarAccess.getStateGraphAccess().getStatesAssignment_1_0()); } -) - - |( -{ before(grammarAccess.getStateGraphAccess().getTrPointsAssignment_1_1()); } -(rule__StateGraph__TrPointsAssignment_1_1) -{ after(grammarAccess.getStateGraphAccess().getTrPointsAssignment_1_1()); } -) - - |( -{ before(grammarAccess.getStateGraphAccess().getChPointsAssignment_1_2()); } -(rule__StateGraph__ChPointsAssignment_1_2) -{ after(grammarAccess.getStateGraphAccess().getChPointsAssignment_1_2()); } -) - - |( -{ before(grammarAccess.getStateGraphAccess().getTransitionsAssignment_1_3()); } -(rule__StateGraph__TransitionsAssignment_1_3) -{ after(grammarAccess.getStateGraphAccess().getTransitionsAssignment_1_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__StateMachine__Alternatives_2 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getStateMachineAccess().getStatesAssignment_2_0()); } -(rule__StateMachine__StatesAssignment_2_0) -{ after(grammarAccess.getStateMachineAccess().getStatesAssignment_2_0()); } -) - - |( -{ before(grammarAccess.getStateMachineAccess().getTrPointsAssignment_2_1()); } -(rule__StateMachine__TrPointsAssignment_2_1) -{ after(grammarAccess.getStateMachineAccess().getTrPointsAssignment_2_1()); } -) - - |( -{ before(grammarAccess.getStateMachineAccess().getChPointsAssignment_2_2()); } -(rule__StateMachine__ChPointsAssignment_2_2) -{ after(grammarAccess.getStateMachineAccess().getChPointsAssignment_2_2()); } -) - - |( -{ before(grammarAccess.getStateMachineAccess().getTransitionsAssignment_2_3()); } -(rule__StateMachine__TransitionsAssignment_2_3) -{ after(grammarAccess.getStateMachineAccess().getTransitionsAssignment_2_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__TrPoint__Alternatives - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTrPointAccess().getTransitionPointParserRuleCall_0()); } - ruleTransitionPoint -{ after(grammarAccess.getTrPointAccess().getTransitionPointParserRuleCall_0()); } -) - - |( -{ before(grammarAccess.getTrPointAccess().getEntryPointParserRuleCall_1()); } - ruleEntryPoint -{ after(grammarAccess.getTrPointAccess().getEntryPointParserRuleCall_1()); } -) - - |( -{ before(grammarAccess.getTrPointAccess().getExitPointParserRuleCall_2()); } - ruleExitPoint -{ after(grammarAccess.getTrPointAccess().getExitPointParserRuleCall_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__Transition__Alternatives - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTransitionAccess().getInitialTransitionParserRuleCall_0()); } - ruleInitialTransition -{ after(grammarAccess.getTransitionAccess().getInitialTransitionParserRuleCall_0()); } -) - - |( -{ before(grammarAccess.getTransitionAccess().getNonInitialTransitionParserRuleCall_1()); } - ruleNonInitialTransition -{ after(grammarAccess.getTransitionAccess().getNonInitialTransitionParserRuleCall_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__NonInitialTransition__Alternatives - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getNonInitialTransitionAccess().getTriggeredTransitionParserRuleCall_0()); } - ruleTriggeredTransition -{ after(grammarAccess.getNonInitialTransitionAccess().getTriggeredTransitionParserRuleCall_0()); } -) - - |( -{ before(grammarAccess.getNonInitialTransitionAccess().getContinuationTransitionParserRuleCall_1()); } - ruleContinuationTransition -{ after(grammarAccess.getNonInitialTransitionAccess().getContinuationTransitionParserRuleCall_1()); } -) - - |( -{ before(grammarAccess.getNonInitialTransitionAccess().getCPBranchTransitionParserRuleCall_2()); } - ruleCPBranchTransition -{ after(grammarAccess.getNonInitialTransitionAccess().getCPBranchTransitionParserRuleCall_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__TransitionTerminal__Alternatives - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTransitionTerminalAccess().getStateTerminalParserRuleCall_0()); } - ruleStateTerminal -{ after(grammarAccess.getTransitionTerminalAccess().getStateTerminalParserRuleCall_0()); } -) - - |( -{ before(grammarAccess.getTransitionTerminalAccess().getTrPointTerminalParserRuleCall_1()); } - ruleTrPointTerminal -{ after(grammarAccess.getTransitionTerminalAccess().getTrPointTerminalParserRuleCall_1()); } -) - - |( -{ before(grammarAccess.getTransitionTerminalAccess().getSubStateTrPointTerminalParserRuleCall_2()); } - ruleSubStateTrPointTerminal -{ after(grammarAccess.getTransitionTerminalAccess().getSubStateTrPointTerminalParserRuleCall_2()); } -) - - |( -{ before(grammarAccess.getTransitionTerminalAccess().getChoicepointTerminalParserRuleCall_3()); } - ruleChoicepointTerminal -{ after(grammarAccess.getTransitionTerminalAccess().getChoicepointTerminalParserRuleCall_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__PrimitiveType__Alternatives - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getPrimitiveTypeAccess().getVoidEnumLiteralDeclaration_0()); } -( 'void' -) -{ after(grammarAccess.getPrimitiveTypeAccess().getVoidEnumLiteralDeclaration_0()); } -) - - |( -{ before(grammarAccess.getPrimitiveTypeAccess().getInt8EnumLiteralDeclaration_1()); } -( 'int8' -) -{ after(grammarAccess.getPrimitiveTypeAccess().getInt8EnumLiteralDeclaration_1()); } -) - - |( -{ before(grammarAccess.getPrimitiveTypeAccess().getInt16EnumLiteralDeclaration_2()); } -( 'int16' -) -{ after(grammarAccess.getPrimitiveTypeAccess().getInt16EnumLiteralDeclaration_2()); } -) - - |( -{ before(grammarAccess.getPrimitiveTypeAccess().getInt32EnumLiteralDeclaration_3()); } -( 'int32' -) -{ after(grammarAccess.getPrimitiveTypeAccess().getInt32EnumLiteralDeclaration_3()); } -) - - |( -{ before(grammarAccess.getPrimitiveTypeAccess().getUint8EnumLiteralDeclaration_4()); } -( 'uint8' -) -{ after(grammarAccess.getPrimitiveTypeAccess().getUint8EnumLiteralDeclaration_4()); } -) - - |( -{ before(grammarAccess.getPrimitiveTypeAccess().getUint16EnumLiteralDeclaration_5()); } -( 'uint16' -) -{ after(grammarAccess.getPrimitiveTypeAccess().getUint16EnumLiteralDeclaration_5()); } -) - - |( -{ before(grammarAccess.getPrimitiveTypeAccess().getUint32EnumLiteralDeclaration_6()); } -( 'uint32' -) -{ after(grammarAccess.getPrimitiveTypeAccess().getUint32EnumLiteralDeclaration_6()); } -) - - |( -{ before(grammarAccess.getPrimitiveTypeAccess().getFloat32EnumLiteralDeclaration_7()); } -( 'float32' -) -{ after(grammarAccess.getPrimitiveTypeAccess().getFloat32EnumLiteralDeclaration_7()); } -) - - |( -{ before(grammarAccess.getPrimitiveTypeAccess().getFloat64EnumLiteralDeclaration_8()); } -( 'float64' -) -{ after(grammarAccess.getPrimitiveTypeAccess().getFloat64EnumLiteralDeclaration_8()); } -) - - |( -{ before(grammarAccess.getPrimitiveTypeAccess().getBooleanEnumLiteralDeclaration_9()); } -( 'boolean' -) -{ after(grammarAccess.getPrimitiveTypeAccess().getBooleanEnumLiteralDeclaration_9()); } -) - - |( -{ before(grammarAccess.getPrimitiveTypeAccess().getStringEnumLiteralDeclaration_10()); } -( 'string' -) -{ after(grammarAccess.getPrimitiveTypeAccess().getStringEnumLiteralDeclaration_10()); } -) - - |( -{ before(grammarAccess.getPrimitiveTypeAccess().getCharEnumLiteralDeclaration_11()); } -( 'char' -) -{ after(grammarAccess.getPrimitiveTypeAccess().getCharEnumLiteralDeclaration_11()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - -rule__RoomModel__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__RoomModel__Group__0__Impl - rule__RoomModel__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__RoomModel__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRoomModelAccess().getRoomModelKeyword_0()); } - - 'RoomModel' - -{ after(grammarAccess.getRoomModelAccess().getRoomModelKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__RoomModel__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__RoomModel__Group__1__Impl - rule__RoomModel__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__RoomModel__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRoomModelAccess().getNameAssignment_1()); } -(rule__RoomModel__NameAssignment_1) -{ after(grammarAccess.getRoomModelAccess().getNameAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__RoomModel__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__RoomModel__Group__2__Impl - rule__RoomModel__Group__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__RoomModel__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRoomModelAccess().getLeftCurlyBracketKeyword_2()); } - - '{' - -{ after(grammarAccess.getRoomModelAccess().getLeftCurlyBracketKeyword_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__RoomModel__Group__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__RoomModel__Group__3__Impl - rule__RoomModel__Group__4 -; -finally { - restoreStackSize(stackSize); -} - -rule__RoomModel__Group__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRoomModelAccess().getImportsAssignment_3()); } -(rule__RoomModel__ImportsAssignment_3)* -{ after(grammarAccess.getRoomModelAccess().getImportsAssignment_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__RoomModel__Group__4 - @init { - int stackSize = keepStackSize(); - } -: - rule__RoomModel__Group__4__Impl - rule__RoomModel__Group__5 -; -finally { - restoreStackSize(stackSize); -} - -rule__RoomModel__Group__4__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -( -{ before(grammarAccess.getRoomModelAccess().getAlternatives_4()); } -(rule__RoomModel__Alternatives_4) -{ after(grammarAccess.getRoomModelAccess().getAlternatives_4()); } -) -( -{ before(grammarAccess.getRoomModelAccess().getAlternatives_4()); } -(rule__RoomModel__Alternatives_4)* -{ after(grammarAccess.getRoomModelAccess().getAlternatives_4()); } -) -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__RoomModel__Group__5 - @init { - int stackSize = keepStackSize(); - } -: - rule__RoomModel__Group__5__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__RoomModel__Group__5__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRoomModelAccess().getRightCurlyBracketKeyword_5()); } - - '}' - -{ after(grammarAccess.getRoomModelAccess().getRightCurlyBracketKeyword_5()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - - - - - -rule__TypedID__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__TypedID__Group__0__Impl - rule__TypedID__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__TypedID__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTypedIDAccess().getNameAssignment_0()); } -(rule__TypedID__NameAssignment_0) -{ after(grammarAccess.getTypedIDAccess().getNameAssignment_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__TypedID__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__TypedID__Group__1__Impl - rule__TypedID__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__TypedID__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTypedIDAccess().getColonKeyword_1()); } - - ':' - -{ after(grammarAccess.getTypedIDAccess().getColonKeyword_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__TypedID__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__TypedID__Group__2__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__TypedID__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTypedIDAccess().getTypeAssignment_2()); } -(rule__TypedID__TypeAssignment_2) -{ after(grammarAccess.getTypedIDAccess().getTypeAssignment_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - -rule__FreeTypedID__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__FreeTypedID__Group__0__Impl - rule__FreeTypedID__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__FreeTypedID__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getFreeTypedIDAccess().getNameAssignment_0()); } -(rule__FreeTypedID__NameAssignment_0) -{ after(grammarAccess.getFreeTypedIDAccess().getNameAssignment_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__FreeTypedID__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__FreeTypedID__Group__1__Impl - rule__FreeTypedID__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__FreeTypedID__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getFreeTypedIDAccess().getColonKeyword_1()); } - - ':' - -{ after(grammarAccess.getFreeTypedIDAccess().getColonKeyword_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__FreeTypedID__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__FreeTypedID__Group__2__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__FreeTypedID__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getFreeTypedIDAccess().getTypeAssignment_2()); } -(rule__FreeTypedID__TypeAssignment_2) -{ after(grammarAccess.getFreeTypedIDAccess().getTypeAssignment_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - -rule__DataClass__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__DataClass__Group__0__Impl - rule__DataClass__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__DataClass__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getDataClassAccess().getDataClassKeyword_0()); } - - 'DataClass' - -{ after(grammarAccess.getDataClassAccess().getDataClassKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__DataClass__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__DataClass__Group__1__Impl - rule__DataClass__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__DataClass__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getDataClassAccess().getNameAssignment_1()); } -(rule__DataClass__NameAssignment_1) -{ after(grammarAccess.getDataClassAccess().getNameAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__DataClass__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__DataClass__Group__2__Impl - rule__DataClass__Group__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__DataClass__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getDataClassAccess().getGroup_2()); } -(rule__DataClass__Group_2__0)? -{ after(grammarAccess.getDataClassAccess().getGroup_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__DataClass__Group__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__DataClass__Group__3__Impl - rule__DataClass__Group__4 -; -finally { - restoreStackSize(stackSize); -} - -rule__DataClass__Group__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getDataClassAccess().getLeftCurlyBracketKeyword_3()); } - - '{' - -{ after(grammarAccess.getDataClassAccess().getLeftCurlyBracketKeyword_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__DataClass__Group__4 - @init { - int stackSize = keepStackSize(); - } -: - rule__DataClass__Group__4__Impl - rule__DataClass__Group__5 -; -finally { - restoreStackSize(stackSize); -} - -rule__DataClass__Group__4__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getDataClassAccess().getImportsAssignment_4()); } -(rule__DataClass__ImportsAssignment_4)* -{ after(grammarAccess.getDataClassAccess().getImportsAssignment_4()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__DataClass__Group__5 - @init { - int stackSize = keepStackSize(); - } -: - rule__DataClass__Group__5__Impl - rule__DataClass__Group__6 -; -finally { - restoreStackSize(stackSize); -} - -rule__DataClass__Group__5__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -( -{ before(grammarAccess.getDataClassAccess().getAttributesAssignment_5()); } -(rule__DataClass__AttributesAssignment_5) -{ after(grammarAccess.getDataClassAccess().getAttributesAssignment_5()); } -) -( -{ before(grammarAccess.getDataClassAccess().getAttributesAssignment_5()); } -(rule__DataClass__AttributesAssignment_5)* -{ after(grammarAccess.getDataClassAccess().getAttributesAssignment_5()); } -) -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__DataClass__Group__6 - @init { - int stackSize = keepStackSize(); - } -: - rule__DataClass__Group__6__Impl - rule__DataClass__Group__7 -; -finally { - restoreStackSize(stackSize); -} - -rule__DataClass__Group__6__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getDataClassAccess().getOperationsAssignment_6()); } -(rule__DataClass__OperationsAssignment_6)* -{ after(grammarAccess.getDataClassAccess().getOperationsAssignment_6()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__DataClass__Group__7 - @init { - int stackSize = keepStackSize(); - } -: - rule__DataClass__Group__7__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__DataClass__Group__7__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getDataClassAccess().getRightCurlyBracketKeyword_7()); } - - '}' - -{ after(grammarAccess.getDataClassAccess().getRightCurlyBracketKeyword_7()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - - - - - - - - - -rule__DataClass__Group_2__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__DataClass__Group_2__0__Impl - rule__DataClass__Group_2__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__DataClass__Group_2__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getDataClassAccess().getExtendsKeyword_2_0()); } - - 'extends' - -{ after(grammarAccess.getDataClassAccess().getExtendsKeyword_2_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__DataClass__Group_2__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__DataClass__Group_2__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__DataClass__Group_2__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getDataClassAccess().getBaseAssignment_2_1()); } -(rule__DataClass__BaseAssignment_2_1) -{ after(grammarAccess.getDataClassAccess().getBaseAssignment_2_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__Attribute__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__Attribute__Group__0__Impl - rule__Attribute__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__Attribute__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getAttributeAccess().getAttributeKeyword_0()); } - - 'Attribute' - -{ after(grammarAccess.getAttributeAccess().getAttributeKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Attribute__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__Attribute__Group__1__Impl - rule__Attribute__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__Attribute__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getAttributeAccess().getNameAssignment_1()); } -(rule__Attribute__NameAssignment_1) -{ after(grammarAccess.getAttributeAccess().getNameAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Attribute__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__Attribute__Group__2__Impl - rule__Attribute__Group__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__Attribute__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getAttributeAccess().getGroup_2()); } -(rule__Attribute__Group_2__0)? -{ after(grammarAccess.getAttributeAccess().getGroup_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Attribute__Group__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__Attribute__Group__3__Impl - rule__Attribute__Group__4 -; -finally { - restoreStackSize(stackSize); -} - -rule__Attribute__Group__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getAttributeAccess().getColonKeyword_3()); } - - ':' - -{ after(grammarAccess.getAttributeAccess().getColonKeyword_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Attribute__Group__4 - @init { - int stackSize = keepStackSize(); - } -: - rule__Attribute__Group__4__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__Attribute__Group__4__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getAttributeAccess().getTypeAssignment_4()); } -(rule__Attribute__TypeAssignment_4) -{ after(grammarAccess.getAttributeAccess().getTypeAssignment_4()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - - - -rule__Attribute__Group_2__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__Attribute__Group_2__0__Impl - rule__Attribute__Group_2__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__Attribute__Group_2__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getAttributeAccess().getLeftSquareBracketKeyword_2_0()); } - - '[' - -{ after(grammarAccess.getAttributeAccess().getLeftSquareBracketKeyword_2_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Attribute__Group_2__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__Attribute__Group_2__1__Impl - rule__Attribute__Group_2__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__Attribute__Group_2__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getAttributeAccess().getSizeAssignment_2_1()); } -(rule__Attribute__SizeAssignment_2_1) -{ after(grammarAccess.getAttributeAccess().getSizeAssignment_2_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Attribute__Group_2__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__Attribute__Group_2__2__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__Attribute__Group_2__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getAttributeAccess().getRightSquareBracketKeyword_2_2()); } - - ']' - -{ after(grammarAccess.getAttributeAccess().getRightSquareBracketKeyword_2_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - -rule__Operation__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__Operation__Group__0__Impl - rule__Operation__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__Operation__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getOperationAccess().getOperationKeyword_0()); } - - 'Operation' - -{ after(grammarAccess.getOperationAccess().getOperationKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Operation__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__Operation__Group__1__Impl - rule__Operation__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__Operation__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getOperationAccess().getNameAssignment_1()); } -(rule__Operation__NameAssignment_1) -{ after(grammarAccess.getOperationAccess().getNameAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Operation__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__Operation__Group__2__Impl - rule__Operation__Group__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__Operation__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getOperationAccess().getLeftParenthesisKeyword_2()); } - - '(' - -{ after(grammarAccess.getOperationAccess().getLeftParenthesisKeyword_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Operation__Group__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__Operation__Group__3__Impl - rule__Operation__Group__4 -; -finally { - restoreStackSize(stackSize); -} - -rule__Operation__Group__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getOperationAccess().getGroup_3()); } -(rule__Operation__Group_3__0)? -{ after(grammarAccess.getOperationAccess().getGroup_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Operation__Group__4 - @init { - int stackSize = keepStackSize(); - } -: - rule__Operation__Group__4__Impl - rule__Operation__Group__5 -; -finally { - restoreStackSize(stackSize); -} - -rule__Operation__Group__4__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getOperationAccess().getRightParenthesisKeyword_4()); } - - ')' - -{ after(grammarAccess.getOperationAccess().getRightParenthesisKeyword_4()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Operation__Group__5 - @init { - int stackSize = keepStackSize(); - } -: - rule__Operation__Group__5__Impl - rule__Operation__Group__6 -; -finally { - restoreStackSize(stackSize); -} - -rule__Operation__Group__5__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getOperationAccess().getGroup_5()); } -(rule__Operation__Group_5__0)? -{ after(grammarAccess.getOperationAccess().getGroup_5()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Operation__Group__6 - @init { - int stackSize = keepStackSize(); - } -: - rule__Operation__Group__6__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__Operation__Group__6__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getOperationAccess().getDetailCodeAssignment_6()); } -(rule__Operation__DetailCodeAssignment_6) -{ after(grammarAccess.getOperationAccess().getDetailCodeAssignment_6()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - - - - - - - -rule__Operation__Group_3__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__Operation__Group_3__0__Impl - rule__Operation__Group_3__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__Operation__Group_3__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getOperationAccess().getArgumentsAssignment_3_0()); } -(rule__Operation__ArgumentsAssignment_3_0) -{ after(grammarAccess.getOperationAccess().getArgumentsAssignment_3_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Operation__Group_3__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__Operation__Group_3__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__Operation__Group_3__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getOperationAccess().getGroup_3_1()); } -(rule__Operation__Group_3_1__0)* -{ after(grammarAccess.getOperationAccess().getGroup_3_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__Operation__Group_3_1__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__Operation__Group_3_1__0__Impl - rule__Operation__Group_3_1__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__Operation__Group_3_1__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getOperationAccess().getCommaKeyword_3_1_0()); } - - ',' - -{ after(grammarAccess.getOperationAccess().getCommaKeyword_3_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Operation__Group_3_1__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__Operation__Group_3_1__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__Operation__Group_3_1__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getOperationAccess().getArgumentsAssignment_3_1_1()); } -(rule__Operation__ArgumentsAssignment_3_1_1) -{ after(grammarAccess.getOperationAccess().getArgumentsAssignment_3_1_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__Operation__Group_5__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__Operation__Group_5__0__Impl - rule__Operation__Group_5__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__Operation__Group_5__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getOperationAccess().getColonKeyword_5_0()); } - - ':' - -{ after(grammarAccess.getOperationAccess().getColonKeyword_5_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Operation__Group_5__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__Operation__Group_5__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__Operation__Group_5__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getOperationAccess().getReturntypeAssignment_5_1()); } -(rule__Operation__ReturntypeAssignment_5_1) -{ after(grammarAccess.getOperationAccess().getReturntypeAssignment_5_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__ProtocolClass__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolClass__Group__0__Impl - rule__ProtocolClass__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getProtocolClassKeyword_0()); } - - 'ProtocolClass' - -{ after(grammarAccess.getProtocolClassAccess().getProtocolClassKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ProtocolClass__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolClass__Group__1__Impl - rule__ProtocolClass__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getNameAssignment_1()); } -(rule__ProtocolClass__NameAssignment_1) -{ after(grammarAccess.getProtocolClassAccess().getNameAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ProtocolClass__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolClass__Group__2__Impl - rule__ProtocolClass__Group__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getGroup_2()); } -(rule__ProtocolClass__Group_2__0)? -{ after(grammarAccess.getProtocolClassAccess().getGroup_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ProtocolClass__Group__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolClass__Group__3__Impl - rule__ProtocolClass__Group__4 -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__Group__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_3()); } - - '{' - -{ after(grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ProtocolClass__Group__4 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolClass__Group__4__Impl - rule__ProtocolClass__Group__5 -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__Group__4__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getGroup_4()); } -(rule__ProtocolClass__Group_4__0)? -{ after(grammarAccess.getProtocolClassAccess().getGroup_4()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ProtocolClass__Group__5 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolClass__Group__5__Impl - rule__ProtocolClass__Group__6 -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__Group__5__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getGroup_5()); } -(rule__ProtocolClass__Group_5__0)? -{ after(grammarAccess.getProtocolClassAccess().getGroup_5()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ProtocolClass__Group__6 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolClass__Group__6__Impl - rule__ProtocolClass__Group__7 -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__Group__6__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getIncomingKeyword_6()); } - - 'incoming' - -{ after(grammarAccess.getProtocolClassAccess().getIncomingKeyword_6()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ProtocolClass__Group__7 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolClass__Group__7__Impl - rule__ProtocolClass__Group__8 -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__Group__7__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_7()); } - - '{' - -{ after(grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_7()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ProtocolClass__Group__8 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolClass__Group__8__Impl - rule__ProtocolClass__Group__9 -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__Group__8__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getIncomingMessagesAssignment_8()); } -(rule__ProtocolClass__IncomingMessagesAssignment_8)* -{ after(grammarAccess.getProtocolClassAccess().getIncomingMessagesAssignment_8()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ProtocolClass__Group__9 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolClass__Group__9__Impl - rule__ProtocolClass__Group__10 -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__Group__9__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_9()); } - - '}' - -{ after(grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_9()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ProtocolClass__Group__10 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolClass__Group__10__Impl - rule__ProtocolClass__Group__11 -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__Group__10__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getOutgoingKeyword_10()); } - - 'outgoing' - -{ after(grammarAccess.getProtocolClassAccess().getOutgoingKeyword_10()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ProtocolClass__Group__11 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolClass__Group__11__Impl - rule__ProtocolClass__Group__12 -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__Group__11__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_11()); } - - '{' - -{ after(grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_11()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ProtocolClass__Group__12 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolClass__Group__12__Impl - rule__ProtocolClass__Group__13 -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__Group__12__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getOutgoingMessagesAssignment_12()); } -(rule__ProtocolClass__OutgoingMessagesAssignment_12)* -{ after(grammarAccess.getProtocolClassAccess().getOutgoingMessagesAssignment_12()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ProtocolClass__Group__13 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolClass__Group__13__Impl - rule__ProtocolClass__Group__14 -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__Group__13__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_13()); } - - '}' - -{ after(grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_13()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ProtocolClass__Group__14 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolClass__Group__14__Impl - rule__ProtocolClass__Group__15 -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__Group__14__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getGroup_14()); } -(rule__ProtocolClass__Group_14__0)? -{ after(grammarAccess.getProtocolClassAccess().getGroup_14()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ProtocolClass__Group__15 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolClass__Group__15__Impl - rule__ProtocolClass__Group__16 -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__Group__15__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getGroup_15()); } -(rule__ProtocolClass__Group_15__0)? -{ after(grammarAccess.getProtocolClassAccess().getGroup_15()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ProtocolClass__Group__16 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolClass__Group__16__Impl - rule__ProtocolClass__Group__17 -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__Group__16__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getSemanticsAssignment_16()); } -(rule__ProtocolClass__SemanticsAssignment_16)? -{ after(grammarAccess.getProtocolClassAccess().getSemanticsAssignment_16()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ProtocolClass__Group__17 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolClass__Group__17__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__Group__17__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_17()); } - - '}' - -{ after(grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_17()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -rule__ProtocolClass__Group_2__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolClass__Group_2__0__Impl - rule__ProtocolClass__Group_2__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__Group_2__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getExtendsKeyword_2_0()); } - - 'extends' - -{ after(grammarAccess.getProtocolClassAccess().getExtendsKeyword_2_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ProtocolClass__Group_2__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolClass__Group_2__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__Group_2__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getBaseAssignment_2_1()); } -(rule__ProtocolClass__BaseAssignment_2_1) -{ after(grammarAccess.getProtocolClassAccess().getBaseAssignment_2_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__ProtocolClass__Group_4__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolClass__Group_4__0__Impl - rule__ProtocolClass__Group_4__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__Group_4__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getUsercode1Keyword_4_0()); } - - 'usercode1' - -{ after(grammarAccess.getProtocolClassAccess().getUsercode1Keyword_4_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ProtocolClass__Group_4__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolClass__Group_4__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__Group_4__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getUserCode1Assignment_4_1()); } -(rule__ProtocolClass__UserCode1Assignment_4_1) -{ after(grammarAccess.getProtocolClassAccess().getUserCode1Assignment_4_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__ProtocolClass__Group_5__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolClass__Group_5__0__Impl - rule__ProtocolClass__Group_5__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__Group_5__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getUsercode2Keyword_5_0()); } - - 'usercode2' - -{ after(grammarAccess.getProtocolClassAccess().getUsercode2Keyword_5_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ProtocolClass__Group_5__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolClass__Group_5__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__Group_5__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getUserCode2Assignment_5_1()); } -(rule__ProtocolClass__UserCode2Assignment_5_1) -{ after(grammarAccess.getProtocolClassAccess().getUserCode2Assignment_5_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__ProtocolClass__Group_14__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolClass__Group_14__0__Impl - rule__ProtocolClass__Group_14__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__Group_14__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getRegularKeyword_14_0()); } - - 'regular' - -{ after(grammarAccess.getProtocolClassAccess().getRegularKeyword_14_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ProtocolClass__Group_14__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolClass__Group_14__1__Impl - rule__ProtocolClass__Group_14__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__Group_14__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getPortClassKeyword_14_1()); } - - 'PortClass' - -{ after(grammarAccess.getProtocolClassAccess().getPortClassKeyword_14_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ProtocolClass__Group_14__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolClass__Group_14__2__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__Group_14__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getRegularAssignment_14_2()); } -(rule__ProtocolClass__RegularAssignment_14_2) -{ after(grammarAccess.getProtocolClassAccess().getRegularAssignment_14_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - -rule__ProtocolClass__Group_15__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolClass__Group_15__0__Impl - rule__ProtocolClass__Group_15__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__Group_15__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getConjugateKeyword_15_0()); } - - 'conjugate' - -{ after(grammarAccess.getProtocolClassAccess().getConjugateKeyword_15_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ProtocolClass__Group_15__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolClass__Group_15__1__Impl - rule__ProtocolClass__Group_15__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__Group_15__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getPortClassKeyword_15_1()); } - - 'PortClass' - -{ after(grammarAccess.getProtocolClassAccess().getPortClassKeyword_15_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ProtocolClass__Group_15__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolClass__Group_15__2__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__Group_15__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getConjugateAssignment_15_2()); } -(rule__ProtocolClass__ConjugateAssignment_15_2) -{ after(grammarAccess.getProtocolClassAccess().getConjugateAssignment_15_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - -rule__Message__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__Message__Group__0__Impl - rule__Message__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__Message__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getMessageAccess().getMessageKeyword_0()); } - - 'Message' - -{ after(grammarAccess.getMessageAccess().getMessageKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Message__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__Message__Group__1__Impl - rule__Message__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__Message__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getMessageAccess().getNameAssignment_1()); } -(rule__Message__NameAssignment_1) -{ after(grammarAccess.getMessageAccess().getNameAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Message__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__Message__Group__2__Impl - rule__Message__Group__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__Message__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getMessageAccess().getLeftParenthesisKeyword_2()); } - - '(' - -{ after(grammarAccess.getMessageAccess().getLeftParenthesisKeyword_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Message__Group__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__Message__Group__3__Impl - rule__Message__Group__4 -; -finally { - restoreStackSize(stackSize); -} - -rule__Message__Group__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getMessageAccess().getGroup_3()); } -(rule__Message__Group_3__0)? -{ after(grammarAccess.getMessageAccess().getGroup_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Message__Group__4 - @init { - int stackSize = keepStackSize(); - } -: - rule__Message__Group__4__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__Message__Group__4__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getMessageAccess().getRightParenthesisKeyword_4()); } - - ')' - -{ after(grammarAccess.getMessageAccess().getRightParenthesisKeyword_4()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - - - -rule__Message__Group_3__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__Message__Group_3__0__Impl - rule__Message__Group_3__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__Message__Group_3__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getMessageAccess().getArgumentsAssignment_3_0()); } -(rule__Message__ArgumentsAssignment_3_0) -{ after(grammarAccess.getMessageAccess().getArgumentsAssignment_3_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Message__Group_3__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__Message__Group_3__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__Message__Group_3__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getMessageAccess().getGroup_3_1()); } -(rule__Message__Group_3_1__0)* -{ after(grammarAccess.getMessageAccess().getGroup_3_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__Message__Group_3_1__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__Message__Group_3_1__0__Impl - rule__Message__Group_3_1__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__Message__Group_3_1__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getMessageAccess().getCommaKeyword_3_1_0()); } - - ',' - -{ after(grammarAccess.getMessageAccess().getCommaKeyword_3_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Message__Group_3_1__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__Message__Group_3_1__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__Message__Group_3_1__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getMessageAccess().getArgumentsAssignment_3_1_1()); } -(rule__Message__ArgumentsAssignment_3_1_1) -{ after(grammarAccess.getMessageAccess().getArgumentsAssignment_3_1_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__PortClass__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__PortClass__Group__0__Impl - rule__PortClass__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__PortClass__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getPortClassAccess().getLeftCurlyBracketKeyword_0()); } - - '{' - -{ after(grammarAccess.getPortClassAccess().getLeftCurlyBracketKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__PortClass__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__PortClass__Group__1__Impl - rule__PortClass__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__PortClass__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getPortClassAccess().getGroup_1()); } -(rule__PortClass__Group_1__0)? -{ after(grammarAccess.getPortClassAccess().getGroup_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__PortClass__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__PortClass__Group__2__Impl - rule__PortClass__Group__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__PortClass__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -( -{ before(grammarAccess.getPortClassAccess().getAlternatives_2()); } -(rule__PortClass__Alternatives_2) -{ after(grammarAccess.getPortClassAccess().getAlternatives_2()); } -) -( -{ before(grammarAccess.getPortClassAccess().getAlternatives_2()); } -(rule__PortClass__Alternatives_2)* -{ after(grammarAccess.getPortClassAccess().getAlternatives_2()); } -) -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__PortClass__Group__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__PortClass__Group__3__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__PortClass__Group__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getPortClassAccess().getRightCurlyBracketKeyword_3()); } - - '}' - -{ after(grammarAccess.getPortClassAccess().getRightCurlyBracketKeyword_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - -rule__PortClass__Group_1__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__PortClass__Group_1__0__Impl - rule__PortClass__Group_1__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__PortClass__Group_1__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getPortClassAccess().getUsercodeKeyword_1_0()); } - - 'usercode' - -{ after(grammarAccess.getPortClassAccess().getUsercodeKeyword_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__PortClass__Group_1__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__PortClass__Group_1__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__PortClass__Group_1__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getPortClassAccess().getUserCodeAssignment_1_1()); } -(rule__PortClass__UserCodeAssignment_1_1) -{ after(grammarAccess.getPortClassAccess().getUserCodeAssignment_1_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__MessageHandler__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__MessageHandler__Group__0__Impl - rule__MessageHandler__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__MessageHandler__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getMessageHandlerAccess().getHandleKeyword_0()); } - - 'handle' - -{ after(grammarAccess.getMessageHandlerAccess().getHandleKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__MessageHandler__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__MessageHandler__Group__1__Impl - rule__MessageHandler__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__MessageHandler__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getMessageHandlerAccess().getMsgAssignment_1()); } -(rule__MessageHandler__MsgAssignment_1) -{ after(grammarAccess.getMessageHandlerAccess().getMsgAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__MessageHandler__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__MessageHandler__Group__2__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__MessageHandler__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getMessageHandlerAccess().getDetailCodeAssignment_2()); } -(rule__MessageHandler__DetailCodeAssignment_2) -{ after(grammarAccess.getMessageHandlerAccess().getDetailCodeAssignment_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - -rule__ProtocolSemantics__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolSemantics__Group__0__Impl - rule__ProtocolSemantics__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolSemantics__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolSemanticsAccess().getSemanticsKeyword_0()); } - - 'semantics' - -{ after(grammarAccess.getProtocolSemanticsAccess().getSemanticsKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ProtocolSemantics__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolSemantics__Group__1__Impl - rule__ProtocolSemantics__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolSemantics__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolSemanticsAccess().getLeftCurlyBracketKeyword_1()); } - - '{' - -{ after(grammarAccess.getProtocolSemanticsAccess().getLeftCurlyBracketKeyword_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ProtocolSemantics__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolSemantics__Group__2__Impl - rule__ProtocolSemantics__Group__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolSemantics__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -( -{ before(grammarAccess.getProtocolSemanticsAccess().getRulesAssignment_2()); } -(rule__ProtocolSemantics__RulesAssignment_2) -{ after(grammarAccess.getProtocolSemanticsAccess().getRulesAssignment_2()); } -) -( -{ before(grammarAccess.getProtocolSemanticsAccess().getRulesAssignment_2()); } -(rule__ProtocolSemantics__RulesAssignment_2)* -{ after(grammarAccess.getProtocolSemanticsAccess().getRulesAssignment_2()); } -) -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ProtocolSemantics__Group__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__ProtocolSemantics__Group__3__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolSemantics__Group__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolSemanticsAccess().getRightCurlyBracketKeyword_3()); } - - '}' - -{ after(grammarAccess.getProtocolSemanticsAccess().getRightCurlyBracketKeyword_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - -rule__SemanticsInRule__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__SemanticsInRule__Group__0__Impl - rule__SemanticsInRule__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__SemanticsInRule__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSemanticsInRuleAccess().getInKeyword_0()); } - - 'in' - -{ after(grammarAccess.getSemanticsInRuleAccess().getInKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SemanticsInRule__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__SemanticsInRule__Group__1__Impl - rule__SemanticsInRule__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__SemanticsInRule__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSemanticsInRuleAccess().getMsgAssignment_1()); } -(rule__SemanticsInRule__MsgAssignment_1) -{ after(grammarAccess.getSemanticsInRuleAccess().getMsgAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SemanticsInRule__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__SemanticsInRule__Group__2__Impl - rule__SemanticsInRule__Group__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__SemanticsInRule__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSemanticsInRuleAccess().getHyphenMinusGreaterThanSignKeyword_2()); } - - '->' - -{ after(grammarAccess.getSemanticsInRuleAccess().getHyphenMinusGreaterThanSignKeyword_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SemanticsInRule__Group__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__SemanticsInRule__Group__3__Impl - rule__SemanticsInRule__Group__4 -; -finally { - restoreStackSize(stackSize); -} - -rule__SemanticsInRule__Group__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSemanticsInRuleAccess().getLeftCurlyBracketKeyword_3()); } - - '{' - -{ after(grammarAccess.getSemanticsInRuleAccess().getLeftCurlyBracketKeyword_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SemanticsInRule__Group__4 - @init { - int stackSize = keepStackSize(); - } -: - rule__SemanticsInRule__Group__4__Impl - rule__SemanticsInRule__Group__5 -; -finally { - restoreStackSize(stackSize); -} - -rule__SemanticsInRule__Group__4__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSemanticsInRuleAccess().getFollowUpsAssignment_4()); } -(rule__SemanticsInRule__FollowUpsAssignment_4)* -{ after(grammarAccess.getSemanticsInRuleAccess().getFollowUpsAssignment_4()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SemanticsInRule__Group__5 - @init { - int stackSize = keepStackSize(); - } -: - rule__SemanticsInRule__Group__5__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__SemanticsInRule__Group__5__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSemanticsInRuleAccess().getRightCurlyBracketKeyword_5()); } - - '}' - -{ after(grammarAccess.getSemanticsInRuleAccess().getRightCurlyBracketKeyword_5()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - - - - - -rule__SemanticsOutRule__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__SemanticsOutRule__Group__0__Impl - rule__SemanticsOutRule__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__SemanticsOutRule__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSemanticsOutRuleAccess().getOutKeyword_0()); } - - 'out' - -{ after(grammarAccess.getSemanticsOutRuleAccess().getOutKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SemanticsOutRule__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__SemanticsOutRule__Group__1__Impl - rule__SemanticsOutRule__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__SemanticsOutRule__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSemanticsOutRuleAccess().getMsgAssignment_1()); } -(rule__SemanticsOutRule__MsgAssignment_1) -{ after(grammarAccess.getSemanticsOutRuleAccess().getMsgAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SemanticsOutRule__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__SemanticsOutRule__Group__2__Impl - rule__SemanticsOutRule__Group__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__SemanticsOutRule__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSemanticsOutRuleAccess().getHyphenMinusGreaterThanSignKeyword_2()); } - - '->' - -{ after(grammarAccess.getSemanticsOutRuleAccess().getHyphenMinusGreaterThanSignKeyword_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SemanticsOutRule__Group__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__SemanticsOutRule__Group__3__Impl - rule__SemanticsOutRule__Group__4 -; -finally { - restoreStackSize(stackSize); -} - -rule__SemanticsOutRule__Group__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSemanticsOutRuleAccess().getLeftCurlyBracketKeyword_3()); } - - '{' - -{ after(grammarAccess.getSemanticsOutRuleAccess().getLeftCurlyBracketKeyword_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SemanticsOutRule__Group__4 - @init { - int stackSize = keepStackSize(); - } -: - rule__SemanticsOutRule__Group__4__Impl - rule__SemanticsOutRule__Group__5 -; -finally { - restoreStackSize(stackSize); -} - -rule__SemanticsOutRule__Group__4__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSemanticsOutRuleAccess().getFollowUpsAssignment_4()); } -(rule__SemanticsOutRule__FollowUpsAssignment_4)* -{ after(grammarAccess.getSemanticsOutRuleAccess().getFollowUpsAssignment_4()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SemanticsOutRule__Group__5 - @init { - int stackSize = keepStackSize(); - } -: - rule__SemanticsOutRule__Group__5__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__SemanticsOutRule__Group__5__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSemanticsOutRuleAccess().getRightCurlyBracketKeyword_5()); } - - '}' - -{ after(grammarAccess.getSemanticsOutRuleAccess().getRightCurlyBracketKeyword_5()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - - - - - -rule__ActorClass__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group__0__Impl - rule__ActorClass__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getAbstractAssignment_0()); } -(rule__ActorClass__AbstractAssignment_0)? -{ after(grammarAccess.getActorClassAccess().getAbstractAssignment_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorClass__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group__1__Impl - rule__ActorClass__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getActorClassKeyword_1()); } - - 'ActorClass' - -{ after(grammarAccess.getActorClassAccess().getActorClassKeyword_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorClass__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group__2__Impl - rule__ActorClass__Group__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getNameAssignment_2()); } -(rule__ActorClass__NameAssignment_2) -{ after(grammarAccess.getActorClassAccess().getNameAssignment_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorClass__Group__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group__3__Impl - rule__ActorClass__Group__4 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getGroup_3()); } -(rule__ActorClass__Group_3__0)? -{ after(grammarAccess.getActorClassAccess().getGroup_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorClass__Group__4 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group__4__Impl - rule__ActorClass__Group__5 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group__4__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_4()); } - - '{' - -{ after(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_4()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorClass__Group__5 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group__5__Impl - rule__ActorClass__Group__6 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group__5__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getGroup_5()); } -(rule__ActorClass__Group_5__0)? -{ after(grammarAccess.getActorClassAccess().getGroup_5()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorClass__Group__6 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group__6__Impl - rule__ActorClass__Group__7 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group__6__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getGroup_6()); } -(rule__ActorClass__Group_6__0)? -{ after(grammarAccess.getActorClassAccess().getGroup_6()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorClass__Group__7 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group__7__Impl - rule__ActorClass__Group__8 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group__7__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getGroup_7()); } -(rule__ActorClass__Group_7__0)? -{ after(grammarAccess.getActorClassAccess().getGroup_7()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorClass__Group__8 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group__8__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group__8__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_8()); } - - '}' - -{ after(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_8()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - - - - - - - - - - - -rule__ActorClass__Group_3__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group_3__0__Impl - rule__ActorClass__Group_3__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group_3__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getExtendsKeyword_3_0()); } - - 'extends' - -{ after(grammarAccess.getActorClassAccess().getExtendsKeyword_3_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorClass__Group_3__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group_3__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group_3__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getBaseAssignment_3_1()); } -(rule__ActorClass__BaseAssignment_3_1) -{ after(grammarAccess.getActorClassAccess().getBaseAssignment_3_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__ActorClass__Group_5__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group_5__0__Impl - rule__ActorClass__Group_5__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group_5__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getInterfaceKeyword_5_0()); } - - 'Interface' - -{ after(grammarAccess.getActorClassAccess().getInterfaceKeyword_5_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorClass__Group_5__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group_5__1__Impl - rule__ActorClass__Group_5__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group_5__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_5_1()); } - - '{' - -{ after(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_5_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorClass__Group_5__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group_5__2__Impl - rule__ActorClass__Group_5__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group_5__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getIfPortsAssignment_5_2()); } -(rule__ActorClass__IfPortsAssignment_5_2)* -{ after(grammarAccess.getActorClassAccess().getIfPortsAssignment_5_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorClass__Group_5__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group_5__3__Impl - rule__ActorClass__Group_5__4 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group_5__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getIfSPPsAssignment_5_3()); } -(rule__ActorClass__IfSPPsAssignment_5_3)* -{ after(grammarAccess.getActorClassAccess().getIfSPPsAssignment_5_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorClass__Group_5__4 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group_5__4__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group_5__4__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_5_4()); } - - '}' - -{ after(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_5_4()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - - - -rule__ActorClass__Group_6__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group_6__0__Impl - rule__ActorClass__Group_6__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group_6__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getStructureKeyword_6_0()); } - - 'Structure' - -{ after(grammarAccess.getActorClassAccess().getStructureKeyword_6_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorClass__Group_6__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group_6__1__Impl - rule__ActorClass__Group_6__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group_6__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_6_1()); } - - '{' - -{ after(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_6_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorClass__Group_6__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group_6__2__Impl - rule__ActorClass__Group_6__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group_6__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getGroup_6_2()); } -(rule__ActorClass__Group_6_2__0)? -{ after(grammarAccess.getActorClassAccess().getGroup_6_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorClass__Group_6__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group_6__3__Impl - rule__ActorClass__Group_6__4 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group_6__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getGroup_6_3()); } -(rule__ActorClass__Group_6_3__0)? -{ after(grammarAccess.getActorClassAccess().getGroup_6_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorClass__Group_6__4 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group_6__4__Impl - rule__ActorClass__Group_6__5 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group_6__4__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getAlternatives_6_4()); } -(rule__ActorClass__Alternatives_6_4)* -{ after(grammarAccess.getActorClassAccess().getAlternatives_6_4()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorClass__Group_6__5 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group_6__5__Impl - rule__ActorClass__Group_6__6 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group_6__5__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getServiceImplementationsAssignment_6_5()); } -(rule__ActorClass__ServiceImplementationsAssignment_6_5)* -{ after(grammarAccess.getActorClassAccess().getServiceImplementationsAssignment_6_5()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorClass__Group_6__6 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group_6__6__Impl - rule__ActorClass__Group_6__7 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group_6__6__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getStrSAPsAssignment_6_6()); } -(rule__ActorClass__StrSAPsAssignment_6_6)* -{ after(grammarAccess.getActorClassAccess().getStrSAPsAssignment_6_6()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorClass__Group_6__7 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group_6__7__Impl - rule__ActorClass__Group_6__8 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group_6__7__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getAttributesAssignment_6_7()); } -(rule__ActorClass__AttributesAssignment_6_7)* -{ after(grammarAccess.getActorClassAccess().getAttributesAssignment_6_7()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorClass__Group_6__8 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group_6__8__Impl - rule__ActorClass__Group_6__9 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group_6__8__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getActorRefsAssignment_6_8()); } -(rule__ActorClass__ActorRefsAssignment_6_8)* -{ after(grammarAccess.getActorClassAccess().getActorRefsAssignment_6_8()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorClass__Group_6__9 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group_6__9__Impl - rule__ActorClass__Group_6__10 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group_6__9__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getBindingsAssignment_6_9()); } -(rule__ActorClass__BindingsAssignment_6_9)* -{ after(grammarAccess.getActorClassAccess().getBindingsAssignment_6_9()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorClass__Group_6__10 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group_6__10__Impl - rule__ActorClass__Group_6__11 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group_6__10__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getConnectionsAssignment_6_10()); } -(rule__ActorClass__ConnectionsAssignment_6_10)* -{ after(grammarAccess.getActorClassAccess().getConnectionsAssignment_6_10()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorClass__Group_6__11 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group_6__11__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group_6__11__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_6_11()); } - - '}' - -{ after(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_6_11()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - - - - - - - - - - - - - - - - - -rule__ActorClass__Group_6_2__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group_6_2__0__Impl - rule__ActorClass__Group_6_2__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group_6_2__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getUsercode1Keyword_6_2_0()); } - - 'usercode1' - -{ after(grammarAccess.getActorClassAccess().getUsercode1Keyword_6_2_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorClass__Group_6_2__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group_6_2__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group_6_2__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getUserCode1Assignment_6_2_1()); } -(rule__ActorClass__UserCode1Assignment_6_2_1) -{ after(grammarAccess.getActorClassAccess().getUserCode1Assignment_6_2_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__ActorClass__Group_6_3__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group_6_3__0__Impl - rule__ActorClass__Group_6_3__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group_6_3__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getUsercode2Keyword_6_3_0()); } - - 'usercode2' - -{ after(grammarAccess.getActorClassAccess().getUsercode2Keyword_6_3_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorClass__Group_6_3__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group_6_3__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group_6_3__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getUserCode2Assignment_6_3_1()); } -(rule__ActorClass__UserCode2Assignment_6_3_1) -{ after(grammarAccess.getActorClassAccess().getUserCode2Assignment_6_3_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__ActorClass__Group_7__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group_7__0__Impl - rule__ActorClass__Group_7__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group_7__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getBehaviorKeyword_7_0()); } - - 'Behavior' - -{ after(grammarAccess.getActorClassAccess().getBehaviorKeyword_7_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorClass__Group_7__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group_7__1__Impl - rule__ActorClass__Group_7__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group_7__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_7_1()); } - - '{' - -{ after(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_7_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorClass__Group_7__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group_7__2__Impl - rule__ActorClass__Group_7__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group_7__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getOperationsAssignment_7_2()); } -(rule__ActorClass__OperationsAssignment_7_2)* -{ after(grammarAccess.getActorClassAccess().getOperationsAssignment_7_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorClass__Group_7__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group_7__3__Impl - rule__ActorClass__Group_7__4 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group_7__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getStateMachineAssignment_7_3()); } -(rule__ActorClass__StateMachineAssignment_7_3)? -{ after(grammarAccess.getActorClassAccess().getStateMachineAssignment_7_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorClass__Group_7__4 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorClass__Group_7__4__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__Group_7__4__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_7_4()); } - - '}' - -{ after(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_7_4()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - - - -rule__Port__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__Port__Group__0__Impl - rule__Port__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__Port__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getPortAccess().getConjugatedAssignment_0()); } -(rule__Port__ConjugatedAssignment_0)? -{ after(grammarAccess.getPortAccess().getConjugatedAssignment_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Port__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__Port__Group__1__Impl - rule__Port__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__Port__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getPortAccess().getPortKeyword_1()); } - - 'Port' - -{ after(grammarAccess.getPortAccess().getPortKeyword_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Port__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__Port__Group__2__Impl - rule__Port__Group__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__Port__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getPortAccess().getNameAssignment_2()); } -(rule__Port__NameAssignment_2) -{ after(grammarAccess.getPortAccess().getNameAssignment_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Port__Group__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__Port__Group__3__Impl - rule__Port__Group__4 -; -finally { - restoreStackSize(stackSize); -} - -rule__Port__Group__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getPortAccess().getGroup_3()); } -(rule__Port__Group_3__0)? -{ after(grammarAccess.getPortAccess().getGroup_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Port__Group__4 - @init { - int stackSize = keepStackSize(); - } -: - rule__Port__Group__4__Impl - rule__Port__Group__5 -; -finally { - restoreStackSize(stackSize); -} - -rule__Port__Group__4__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getPortAccess().getColonKeyword_4()); } - - ':' - -{ after(grammarAccess.getPortAccess().getColonKeyword_4()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Port__Group__5 - @init { - int stackSize = keepStackSize(); - } -: - rule__Port__Group__5__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__Port__Group__5__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getPortAccess().getProtocolAssignment_5()); } -(rule__Port__ProtocolAssignment_5) -{ after(grammarAccess.getPortAccess().getProtocolAssignment_5()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - - - - - -rule__Port__Group_3__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__Port__Group_3__0__Impl - rule__Port__Group_3__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__Port__Group_3__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getPortAccess().getLeftSquareBracketKeyword_3_0()); } - - '[' - -{ after(grammarAccess.getPortAccess().getLeftSquareBracketKeyword_3_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Port__Group_3__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__Port__Group_3__1__Impl - rule__Port__Group_3__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__Port__Group_3__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getPortAccess().getMultiplicityAssignment_3_1()); } -(rule__Port__MultiplicityAssignment_3_1) -{ after(grammarAccess.getPortAccess().getMultiplicityAssignment_3_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Port__Group_3__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__Port__Group_3__2__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__Port__Group_3__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getPortAccess().getRightSquareBracketKeyword_3_2()); } - - ']' - -{ after(grammarAccess.getPortAccess().getRightSquareBracketKeyword_3_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - -rule__ExternalPort__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__ExternalPort__Group__0__Impl - rule__ExternalPort__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__ExternalPort__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getExternalPortAccess().getExternalKeyword_0()); } - - 'external' - -{ after(grammarAccess.getExternalPortAccess().getExternalKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ExternalPort__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__ExternalPort__Group__1__Impl - rule__ExternalPort__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__ExternalPort__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getExternalPortAccess().getPortKeyword_1()); } - - 'Port' - -{ after(grammarAccess.getExternalPortAccess().getPortKeyword_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ExternalPort__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__ExternalPort__Group__2__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__ExternalPort__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getExternalPortAccess().getIfportAssignment_2()); } -(rule__ExternalPort__IfportAssignment_2) -{ after(grammarAccess.getExternalPortAccess().getIfportAssignment_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - -rule__SAPRef__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__SAPRef__Group__0__Impl - rule__SAPRef__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__SAPRef__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSAPRefAccess().getSAPKeyword_0()); } - - 'SAP' - -{ after(grammarAccess.getSAPRefAccess().getSAPKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SAPRef__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__SAPRef__Group__1__Impl - rule__SAPRef__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__SAPRef__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSAPRefAccess().getNameAssignment_1()); } -(rule__SAPRef__NameAssignment_1) -{ after(grammarAccess.getSAPRefAccess().getNameAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SAPRef__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__SAPRef__Group__2__Impl - rule__SAPRef__Group__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__SAPRef__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSAPRefAccess().getColonKeyword_2()); } - - ':' - -{ after(grammarAccess.getSAPRefAccess().getColonKeyword_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SAPRef__Group__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__SAPRef__Group__3__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__SAPRef__Group__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSAPRefAccess().getProtocolAssignment_3()); } -(rule__SAPRef__ProtocolAssignment_3) -{ after(grammarAccess.getSAPRefAccess().getProtocolAssignment_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - -rule__SPPRef__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__SPPRef__Group__0__Impl - rule__SPPRef__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__SPPRef__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSPPRefAccess().getSPPKeyword_0()); } - - 'SPP' - -{ after(grammarAccess.getSPPRefAccess().getSPPKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SPPRef__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__SPPRef__Group__1__Impl - rule__SPPRef__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__SPPRef__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSPPRefAccess().getNameAssignment_1()); } -(rule__SPPRef__NameAssignment_1) -{ after(grammarAccess.getSPPRefAccess().getNameAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SPPRef__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__SPPRef__Group__2__Impl - rule__SPPRef__Group__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__SPPRef__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSPPRefAccess().getColonKeyword_2()); } - - ':' - -{ after(grammarAccess.getSPPRefAccess().getColonKeyword_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SPPRef__Group__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__SPPRef__Group__3__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__SPPRef__Group__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSPPRefAccess().getProtocolAssignment_3()); } -(rule__SPPRef__ProtocolAssignment_3) -{ after(grammarAccess.getSPPRefAccess().getProtocolAssignment_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - -rule__ServiceImplementation__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__ServiceImplementation__Group__0__Impl - rule__ServiceImplementation__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__ServiceImplementation__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getServiceImplementationAccess().getServiceImplementationKeyword_0()); } - - 'ServiceImplementation' - -{ after(grammarAccess.getServiceImplementationAccess().getServiceImplementationKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ServiceImplementation__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__ServiceImplementation__Group__1__Impl - rule__ServiceImplementation__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__ServiceImplementation__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getServiceImplementationAccess().getOfKeyword_1()); } - - 'of' - -{ after(grammarAccess.getServiceImplementationAccess().getOfKeyword_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ServiceImplementation__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__ServiceImplementation__Group__2__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__ServiceImplementation__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getServiceImplementationAccess().getSppAssignment_2()); } -(rule__ServiceImplementation__SppAssignment_2) -{ after(grammarAccess.getServiceImplementationAccess().getSppAssignment_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - -rule__LogicalSystem__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__LogicalSystem__Group__0__Impl - rule__LogicalSystem__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__LogicalSystem__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getLogicalSystemAccess().getLogicalSystemKeyword_0()); } - - 'LogicalSystem' - -{ after(grammarAccess.getLogicalSystemAccess().getLogicalSystemKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__LogicalSystem__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__LogicalSystem__Group__1__Impl - rule__LogicalSystem__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__LogicalSystem__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getLogicalSystemAccess().getNameAssignment_1()); } -(rule__LogicalSystem__NameAssignment_1) -{ after(grammarAccess.getLogicalSystemAccess().getNameAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__LogicalSystem__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__LogicalSystem__Group__2__Impl - rule__LogicalSystem__Group__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__LogicalSystem__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getLogicalSystemAccess().getLeftCurlyBracketKeyword_2()); } - - '{' - -{ after(grammarAccess.getLogicalSystemAccess().getLeftCurlyBracketKeyword_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__LogicalSystem__Group__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__LogicalSystem__Group__3__Impl - rule__LogicalSystem__Group__4 -; -finally { - restoreStackSize(stackSize); -} - -rule__LogicalSystem__Group__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -( -{ before(grammarAccess.getLogicalSystemAccess().getSubSystemsAssignment_3()); } -(rule__LogicalSystem__SubSystemsAssignment_3) -{ after(grammarAccess.getLogicalSystemAccess().getSubSystemsAssignment_3()); } -) -( -{ before(grammarAccess.getLogicalSystemAccess().getSubSystemsAssignment_3()); } -(rule__LogicalSystem__SubSystemsAssignment_3)* -{ after(grammarAccess.getLogicalSystemAccess().getSubSystemsAssignment_3()); } -) -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__LogicalSystem__Group__4 - @init { - int stackSize = keepStackSize(); - } -: - rule__LogicalSystem__Group__4__Impl - rule__LogicalSystem__Group__5 -; -finally { - restoreStackSize(stackSize); -} - -rule__LogicalSystem__Group__4__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getLogicalSystemAccess().getBindingsAssignment_4()); } -(rule__LogicalSystem__BindingsAssignment_4)* -{ after(grammarAccess.getLogicalSystemAccess().getBindingsAssignment_4()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__LogicalSystem__Group__5 - @init { - int stackSize = keepStackSize(); - } -: - rule__LogicalSystem__Group__5__Impl - rule__LogicalSystem__Group__6 -; -finally { - restoreStackSize(stackSize); -} - -rule__LogicalSystem__Group__5__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getLogicalSystemAccess().getConnectionsAssignment_5()); } -(rule__LogicalSystem__ConnectionsAssignment_5)* -{ after(grammarAccess.getLogicalSystemAccess().getConnectionsAssignment_5()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__LogicalSystem__Group__6 - @init { - int stackSize = keepStackSize(); - } -: - rule__LogicalSystem__Group__6__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__LogicalSystem__Group__6__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getLogicalSystemAccess().getRightCurlyBracketKeyword_6()); } - - '}' - -{ after(grammarAccess.getLogicalSystemAccess().getRightCurlyBracketKeyword_6()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - - - - - - - -rule__SubSystemRef__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__SubSystemRef__Group__0__Impl - rule__SubSystemRef__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__SubSystemRef__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSubSystemRefAccess().getSubSystemRefKeyword_0()); } - - 'SubSystemRef' - -{ after(grammarAccess.getSubSystemRefAccess().getSubSystemRefKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SubSystemRef__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__SubSystemRef__Group__1__Impl - rule__SubSystemRef__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__SubSystemRef__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSubSystemRefAccess().getNameAssignment_1()); } -(rule__SubSystemRef__NameAssignment_1) -{ after(grammarAccess.getSubSystemRefAccess().getNameAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SubSystemRef__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__SubSystemRef__Group__2__Impl - rule__SubSystemRef__Group__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__SubSystemRef__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSubSystemRefAccess().getColonKeyword_2()); } - - ':' - -{ after(grammarAccess.getSubSystemRefAccess().getColonKeyword_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SubSystemRef__Group__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__SubSystemRef__Group__3__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__SubSystemRef__Group__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSubSystemRefAccess().getTypeAssignment_3()); } -(rule__SubSystemRef__TypeAssignment_3) -{ after(grammarAccess.getSubSystemRefAccess().getTypeAssignment_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - -rule__SubSystemClass__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__SubSystemClass__Group__0__Impl - rule__SubSystemClass__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__SubSystemClass__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSubSystemClassAccess().getSubSystemClassKeyword_0()); } - - 'SubSystemClass' - -{ after(grammarAccess.getSubSystemClassAccess().getSubSystemClassKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SubSystemClass__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__SubSystemClass__Group__1__Impl - rule__SubSystemClass__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__SubSystemClass__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSubSystemClassAccess().getNameAssignment_1()); } -(rule__SubSystemClass__NameAssignment_1) -{ after(grammarAccess.getSubSystemClassAccess().getNameAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SubSystemClass__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__SubSystemClass__Group__2__Impl - rule__SubSystemClass__Group__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__SubSystemClass__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSubSystemClassAccess().getLeftCurlyBracketKeyword_2()); } - - '{' - -{ after(grammarAccess.getSubSystemClassAccess().getLeftCurlyBracketKeyword_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SubSystemClass__Group__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__SubSystemClass__Group__3__Impl - rule__SubSystemClass__Group__4 -; -finally { - restoreStackSize(stackSize); -} - -rule__SubSystemClass__Group__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSubSystemClassAccess().getRelayPortsAssignment_3()); } -(rule__SubSystemClass__RelayPortsAssignment_3)* -{ after(grammarAccess.getSubSystemClassAccess().getRelayPortsAssignment_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SubSystemClass__Group__4 - @init { - int stackSize = keepStackSize(); - } -: - rule__SubSystemClass__Group__4__Impl - rule__SubSystemClass__Group__5 -; -finally { - restoreStackSize(stackSize); -} - -rule__SubSystemClass__Group__4__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSubSystemClassAccess().getIfSPPsAssignment_4()); } -(rule__SubSystemClass__IfSPPsAssignment_4)* -{ after(grammarAccess.getSubSystemClassAccess().getIfSPPsAssignment_4()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SubSystemClass__Group__5 - @init { - int stackSize = keepStackSize(); - } -: - rule__SubSystemClass__Group__5__Impl - rule__SubSystemClass__Group__6 -; -finally { - restoreStackSize(stackSize); -} - -rule__SubSystemClass__Group__5__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -( -{ before(grammarAccess.getSubSystemClassAccess().getActorRefsAssignment_5()); } -(rule__SubSystemClass__ActorRefsAssignment_5) -{ after(grammarAccess.getSubSystemClassAccess().getActorRefsAssignment_5()); } -) -( -{ before(grammarAccess.getSubSystemClassAccess().getActorRefsAssignment_5()); } -(rule__SubSystemClass__ActorRefsAssignment_5)* -{ after(grammarAccess.getSubSystemClassAccess().getActorRefsAssignment_5()); } -) -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SubSystemClass__Group__6 - @init { - int stackSize = keepStackSize(); - } -: - rule__SubSystemClass__Group__6__Impl - rule__SubSystemClass__Group__7 -; -finally { - restoreStackSize(stackSize); -} - -rule__SubSystemClass__Group__6__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSubSystemClassAccess().getBindingsAssignment_6()); } -(rule__SubSystemClass__BindingsAssignment_6)* -{ after(grammarAccess.getSubSystemClassAccess().getBindingsAssignment_6()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SubSystemClass__Group__7 - @init { - int stackSize = keepStackSize(); - } -: - rule__SubSystemClass__Group__7__Impl - rule__SubSystemClass__Group__8 -; -finally { - restoreStackSize(stackSize); -} - -rule__SubSystemClass__Group__7__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSubSystemClassAccess().getConnectionsAssignment_7()); } -(rule__SubSystemClass__ConnectionsAssignment_7)* -{ after(grammarAccess.getSubSystemClassAccess().getConnectionsAssignment_7()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SubSystemClass__Group__8 - @init { - int stackSize = keepStackSize(); - } -: - rule__SubSystemClass__Group__8__Impl - rule__SubSystemClass__Group__9 -; -finally { - restoreStackSize(stackSize); -} - -rule__SubSystemClass__Group__8__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSubSystemClassAccess().getThreadsAssignment_8()); } -(rule__SubSystemClass__ThreadsAssignment_8)* -{ after(grammarAccess.getSubSystemClassAccess().getThreadsAssignment_8()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SubSystemClass__Group__9 - @init { - int stackSize = keepStackSize(); - } -: - rule__SubSystemClass__Group__9__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__SubSystemClass__Group__9__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSubSystemClassAccess().getRightCurlyBracketKeyword_9()); } - - '}' - -{ after(grammarAccess.getSubSystemClassAccess().getRightCurlyBracketKeyword_9()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - - - - - - - - - - - - - -rule__LogicalThread__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__LogicalThread__Group__0__Impl - rule__LogicalThread__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__LogicalThread__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getLogicalThreadAccess().getLogicalThreadKeyword_0()); } - - 'LogicalThread' - -{ after(grammarAccess.getLogicalThreadAccess().getLogicalThreadKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__LogicalThread__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__LogicalThread__Group__1__Impl - rule__LogicalThread__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__LogicalThread__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getLogicalThreadAccess().getNameAssignment_1()); } -(rule__LogicalThread__NameAssignment_1) -{ after(grammarAccess.getLogicalThreadAccess().getNameAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__LogicalThread__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__LogicalThread__Group__2__Impl - rule__LogicalThread__Group__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__LogicalThread__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getLogicalThreadAccess().getLeftCurlyBracketKeyword_2()); } - - '{' - -{ after(grammarAccess.getLogicalThreadAccess().getLeftCurlyBracketKeyword_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__LogicalThread__Group__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__LogicalThread__Group__3__Impl - rule__LogicalThread__Group__4 -; -finally { - restoreStackSize(stackSize); -} - -rule__LogicalThread__Group__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getLogicalThreadAccess().getInstancesAssignment_3()); } -(rule__LogicalThread__InstancesAssignment_3) -{ after(grammarAccess.getLogicalThreadAccess().getInstancesAssignment_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__LogicalThread__Group__4 - @init { - int stackSize = keepStackSize(); - } -: - rule__LogicalThread__Group__4__Impl - rule__LogicalThread__Group__5 -; -finally { - restoreStackSize(stackSize); -} - -rule__LogicalThread__Group__4__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getLogicalThreadAccess().getGroup_4()); } -(rule__LogicalThread__Group_4__0)* -{ after(grammarAccess.getLogicalThreadAccess().getGroup_4()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__LogicalThread__Group__5 - @init { - int stackSize = keepStackSize(); - } -: - rule__LogicalThread__Group__5__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__LogicalThread__Group__5__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getLogicalThreadAccess().getRightCurlyBracketKeyword_5()); } - - '}' - -{ after(grammarAccess.getLogicalThreadAccess().getRightCurlyBracketKeyword_5()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - - - - - -rule__LogicalThread__Group_4__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__LogicalThread__Group_4__0__Impl - rule__LogicalThread__Group_4__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__LogicalThread__Group_4__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getLogicalThreadAccess().getCommaKeyword_4_0()); } - - ',' - -{ after(grammarAccess.getLogicalThreadAccess().getCommaKeyword_4_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__LogicalThread__Group_4__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__LogicalThread__Group_4__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__LogicalThread__Group_4__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getLogicalThreadAccess().getInstancesAssignment_4_1()); } -(rule__LogicalThread__InstancesAssignment_4_1) -{ after(grammarAccess.getLogicalThreadAccess().getInstancesAssignment_4_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__ActorInstancePath__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorInstancePath__Group__0__Impl - rule__ActorInstancePath__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorInstancePath__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorInstancePathAccess().getSegmentsAssignment_0()); } -(rule__ActorInstancePath__SegmentsAssignment_0) -{ after(grammarAccess.getActorInstancePathAccess().getSegmentsAssignment_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorInstancePath__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorInstancePath__Group__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorInstancePath__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorInstancePathAccess().getGroup_1()); } -(rule__ActorInstancePath__Group_1__0)* -{ after(grammarAccess.getActorInstancePathAccess().getGroup_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__ActorInstancePath__Group_1__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorInstancePath__Group_1__0__Impl - rule__ActorInstancePath__Group_1__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorInstancePath__Group_1__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorInstancePathAccess().getFullStopKeyword_1_0()); } - - '.' - -{ after(grammarAccess.getActorInstancePathAccess().getFullStopKeyword_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorInstancePath__Group_1__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorInstancePath__Group_1__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorInstancePath__Group_1__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorInstancePathAccess().getSegmentsAssignment_1_1()); } -(rule__ActorInstancePath__SegmentsAssignment_1_1) -{ after(grammarAccess.getActorInstancePathAccess().getSegmentsAssignment_1_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__Binding__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__Binding__Group__0__Impl - rule__Binding__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__Binding__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getBindingAccess().getBindingKeyword_0()); } - - 'Binding' - -{ after(grammarAccess.getBindingAccess().getBindingKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Binding__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__Binding__Group__1__Impl - rule__Binding__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__Binding__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getBindingAccess().getEndpoint1Assignment_1()); } -(rule__Binding__Endpoint1Assignment_1) -{ after(grammarAccess.getBindingAccess().getEndpoint1Assignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Binding__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__Binding__Group__2__Impl - rule__Binding__Group__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__Binding__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getBindingAccess().getAndKeyword_2()); } - - 'and' - -{ after(grammarAccess.getBindingAccess().getAndKeyword_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Binding__Group__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__Binding__Group__3__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__Binding__Group__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getBindingAccess().getEndpoint2Assignment_3()); } -(rule__Binding__Endpoint2Assignment_3) -{ after(grammarAccess.getBindingAccess().getEndpoint2Assignment_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - -rule__BindingEndPoint__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__BindingEndPoint__Group__0__Impl - rule__BindingEndPoint__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__BindingEndPoint__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getBindingEndPointAccess().getGroup_0()); } -(rule__BindingEndPoint__Group_0__0)? -{ after(grammarAccess.getBindingEndPointAccess().getGroup_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__BindingEndPoint__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__BindingEndPoint__Group__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__BindingEndPoint__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getBindingEndPointAccess().getPortAssignment_1()); } -(rule__BindingEndPoint__PortAssignment_1) -{ after(grammarAccess.getBindingEndPointAccess().getPortAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__BindingEndPoint__Group_0__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__BindingEndPoint__Group_0__0__Impl - rule__BindingEndPoint__Group_0__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__BindingEndPoint__Group_0__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getBindingEndPointAccess().getActorRefAssignment_0_0()); } -(rule__BindingEndPoint__ActorRefAssignment_0_0) -{ after(grammarAccess.getBindingEndPointAccess().getActorRefAssignment_0_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__BindingEndPoint__Group_0__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__BindingEndPoint__Group_0__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__BindingEndPoint__Group_0__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getBindingEndPointAccess().getFullStopKeyword_0_1()); } - - '.' - -{ after(grammarAccess.getBindingEndPointAccess().getFullStopKeyword_0_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__LayerConnection__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__LayerConnection__Group__0__Impl - rule__LayerConnection__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__LayerConnection__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getLayerConnectionAccess().getLayerConnectionKeyword_0()); } - - 'LayerConnection' - -{ after(grammarAccess.getLayerConnectionAccess().getLayerConnectionKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__LayerConnection__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__LayerConnection__Group__1__Impl - rule__LayerConnection__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__LayerConnection__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getLayerConnectionAccess().getFromAssignment_1()); } -(rule__LayerConnection__FromAssignment_1) -{ after(grammarAccess.getLayerConnectionAccess().getFromAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__LayerConnection__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__LayerConnection__Group__2__Impl - rule__LayerConnection__Group__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__LayerConnection__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getLayerConnectionAccess().getSatisfied_byKeyword_2()); } - - 'satisfied_by' - -{ after(grammarAccess.getLayerConnectionAccess().getSatisfied_byKeyword_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__LayerConnection__Group__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__LayerConnection__Group__3__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__LayerConnection__Group__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getLayerConnectionAccess().getToAssignment_3()); } -(rule__LayerConnection__ToAssignment_3) -{ after(grammarAccess.getLayerConnectionAccess().getToAssignment_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - -rule__RefSAPoint__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__RefSAPoint__Group__0__Impl - rule__RefSAPoint__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__RefSAPoint__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRefSAPointAccess().getRefKeyword_0()); } - - 'ref' - -{ after(grammarAccess.getRefSAPointAccess().getRefKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__RefSAPoint__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__RefSAPoint__Group__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__RefSAPoint__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRefSAPointAccess().getRefAssignment_1()); } -(rule__RefSAPoint__RefAssignment_1) -{ after(grammarAccess.getRefSAPointAccess().getRefAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__RelaySAPoint__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__RelaySAPoint__Group__0__Impl - rule__RelaySAPoint__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__RelaySAPoint__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRelaySAPointAccess().getRelay_sapKeyword_0()); } - - 'relay_sap' - -{ after(grammarAccess.getRelaySAPointAccess().getRelay_sapKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__RelaySAPoint__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__RelaySAPoint__Group__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__RelaySAPoint__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRelaySAPointAccess().getRelayAssignment_1()); } -(rule__RelaySAPoint__RelayAssignment_1) -{ after(grammarAccess.getRelaySAPointAccess().getRelayAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__SPPoint__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__SPPoint__Group__0__Impl - rule__SPPoint__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__SPPoint__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSPPointAccess().getRefAssignment_0()); } -(rule__SPPoint__RefAssignment_0) -{ after(grammarAccess.getSPPointAccess().getRefAssignment_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SPPoint__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__SPPoint__Group__1__Impl - rule__SPPoint__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__SPPoint__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSPPointAccess().getFullStopKeyword_1()); } - - '.' - -{ after(grammarAccess.getSPPointAccess().getFullStopKeyword_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SPPoint__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__SPPoint__Group__2__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__SPPoint__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSPPointAccess().getServiceAssignment_2()); } -(rule__SPPoint__ServiceAssignment_2) -{ after(grammarAccess.getSPPointAccess().getServiceAssignment_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - -rule__ActorRef__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorRef__Group__0__Impl - rule__ActorRef__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorRef__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorRefAccess().getActorRefKeyword_0()); } - - 'ActorRef' - -{ after(grammarAccess.getActorRefAccess().getActorRefKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorRef__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorRef__Group__1__Impl - rule__ActorRef__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorRef__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorRefAccess().getNameAssignment_1()); } -(rule__ActorRef__NameAssignment_1) -{ after(grammarAccess.getActorRefAccess().getNameAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorRef__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorRef__Group__2__Impl - rule__ActorRef__Group__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorRef__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorRefAccess().getColonKeyword_2()); } - - ':' - -{ after(grammarAccess.getActorRefAccess().getColonKeyword_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ActorRef__Group__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__ActorRef__Group__3__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorRef__Group__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorRefAccess().getTypeAssignment_3()); } -(rule__ActorRef__TypeAssignment_3) -{ after(grammarAccess.getActorRefAccess().getTypeAssignment_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - -rule__StateGraph__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__StateGraph__Group__0__Impl - rule__StateGraph__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__StateGraph__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getStateGraphAccess().getLeftCurlyBracketKeyword_0()); } - - '{' - -{ after(grammarAccess.getStateGraphAccess().getLeftCurlyBracketKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__StateGraph__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__StateGraph__Group__1__Impl - rule__StateGraph__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__StateGraph__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -( -{ before(grammarAccess.getStateGraphAccess().getAlternatives_1()); } -(rule__StateGraph__Alternatives_1) -{ after(grammarAccess.getStateGraphAccess().getAlternatives_1()); } -) -( -{ before(grammarAccess.getStateGraphAccess().getAlternatives_1()); } -(rule__StateGraph__Alternatives_1)* -{ after(grammarAccess.getStateGraphAccess().getAlternatives_1()); } -) -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__StateGraph__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__StateGraph__Group__2__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__StateGraph__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getStateGraphAccess().getRightCurlyBracketKeyword_2()); } - - '}' - -{ after(grammarAccess.getStateGraphAccess().getRightCurlyBracketKeyword_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - -rule__StateMachine__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__StateMachine__Group__0__Impl - rule__StateMachine__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__StateMachine__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getStateMachineAccess().getStateMachineKeyword_0()); } - - 'StateMachine' - -{ after(grammarAccess.getStateMachineAccess().getStateMachineKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__StateMachine__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__StateMachine__Group__1__Impl - rule__StateMachine__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__StateMachine__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getStateMachineAccess().getLeftCurlyBracketKeyword_1()); } - - '{' - -{ after(grammarAccess.getStateMachineAccess().getLeftCurlyBracketKeyword_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__StateMachine__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__StateMachine__Group__2__Impl - rule__StateMachine__Group__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__StateMachine__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -( -{ before(grammarAccess.getStateMachineAccess().getAlternatives_2()); } -(rule__StateMachine__Alternatives_2) -{ after(grammarAccess.getStateMachineAccess().getAlternatives_2()); } -) -( -{ before(grammarAccess.getStateMachineAccess().getAlternatives_2()); } -(rule__StateMachine__Alternatives_2)* -{ after(grammarAccess.getStateMachineAccess().getAlternatives_2()); } -) -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__StateMachine__Group__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__StateMachine__Group__3__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__StateMachine__Group__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getStateMachineAccess().getRightCurlyBracketKeyword_3()); } - - '}' - -{ after(grammarAccess.getStateMachineAccess().getRightCurlyBracketKeyword_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - -rule__BaseState__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__BaseState__Group__0__Impl - rule__BaseState__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__BaseState__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getBaseStateAccess().getStateKeyword_0()); } - - 'State' - -{ after(grammarAccess.getBaseStateAccess().getStateKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__BaseState__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__BaseState__Group__1__Impl - rule__BaseState__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__BaseState__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getBaseStateAccess().getNameAssignment_1()); } -(rule__BaseState__NameAssignment_1) -{ after(grammarAccess.getBaseStateAccess().getNameAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__BaseState__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__BaseState__Group__2__Impl - rule__BaseState__Group__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__BaseState__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getBaseStateAccess().getLeftCurlyBracketKeyword_2()); } - - '{' - -{ after(grammarAccess.getBaseStateAccess().getLeftCurlyBracketKeyword_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__BaseState__Group__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__BaseState__Group__3__Impl - rule__BaseState__Group__4 -; -finally { - restoreStackSize(stackSize); -} - -rule__BaseState__Group__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getBaseStateAccess().getGroup_3()); } -(rule__BaseState__Group_3__0)? -{ after(grammarAccess.getBaseStateAccess().getGroup_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__BaseState__Group__4 - @init { - int stackSize = keepStackSize(); - } -: - rule__BaseState__Group__4__Impl - rule__BaseState__Group__5 -; -finally { - restoreStackSize(stackSize); -} - -rule__BaseState__Group__4__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getBaseStateAccess().getGroup_4()); } -(rule__BaseState__Group_4__0)? -{ after(grammarAccess.getBaseStateAccess().getGroup_4()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__BaseState__Group__5 - @init { - int stackSize = keepStackSize(); - } -: - rule__BaseState__Group__5__Impl - rule__BaseState__Group__6 -; -finally { - restoreStackSize(stackSize); -} - -rule__BaseState__Group__5__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getBaseStateAccess().getGroup_5()); } -(rule__BaseState__Group_5__0)? -{ after(grammarAccess.getBaseStateAccess().getGroup_5()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__BaseState__Group__6 - @init { - int stackSize = keepStackSize(); - } -: - rule__BaseState__Group__6__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__BaseState__Group__6__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getBaseStateAccess().getRightCurlyBracketKeyword_6()); } - - '}' - -{ after(grammarAccess.getBaseStateAccess().getRightCurlyBracketKeyword_6()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - - - - - - - -rule__BaseState__Group_3__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__BaseState__Group_3__0__Impl - rule__BaseState__Group_3__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__BaseState__Group_3__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getBaseStateAccess().getEntryKeyword_3_0()); } - - 'entry' - -{ after(grammarAccess.getBaseStateAccess().getEntryKeyword_3_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__BaseState__Group_3__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__BaseState__Group_3__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__BaseState__Group_3__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getBaseStateAccess().getEntryCodeAssignment_3_1()); } -(rule__BaseState__EntryCodeAssignment_3_1) -{ after(grammarAccess.getBaseStateAccess().getEntryCodeAssignment_3_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__BaseState__Group_4__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__BaseState__Group_4__0__Impl - rule__BaseState__Group_4__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__BaseState__Group_4__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getBaseStateAccess().getExitKeyword_4_0()); } - - 'exit' - -{ after(grammarAccess.getBaseStateAccess().getExitKeyword_4_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__BaseState__Group_4__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__BaseState__Group_4__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__BaseState__Group_4__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getBaseStateAccess().getExitCodeAssignment_4_1()); } -(rule__BaseState__ExitCodeAssignment_4_1) -{ after(grammarAccess.getBaseStateAccess().getExitCodeAssignment_4_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__BaseState__Group_5__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__BaseState__Group_5__0__Impl - rule__BaseState__Group_5__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__BaseState__Group_5__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getBaseStateAccess().getSubgraphKeyword_5_0()); } - - 'subgraph' - -{ after(grammarAccess.getBaseStateAccess().getSubgraphKeyword_5_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__BaseState__Group_5__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__BaseState__Group_5__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__BaseState__Group_5__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getBaseStateAccess().getSubgraphAssignment_5_1()); } -(rule__BaseState__SubgraphAssignment_5_1) -{ after(grammarAccess.getBaseStateAccess().getSubgraphAssignment_5_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__RefinedState__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__RefinedState__Group__0__Impl - rule__RefinedState__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__RefinedState__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRefinedStateAccess().getRefinedStateKeyword_0()); } - - 'RefinedState' - -{ after(grammarAccess.getRefinedStateAccess().getRefinedStateKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__RefinedState__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__RefinedState__Group__1__Impl - rule__RefinedState__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__RefinedState__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRefinedStateAccess().getBaseAssignment_1()); } -(rule__RefinedState__BaseAssignment_1) -{ after(grammarAccess.getRefinedStateAccess().getBaseAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__RefinedState__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__RefinedState__Group__2__Impl - rule__RefinedState__Group__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__RefinedState__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRefinedStateAccess().getLeftCurlyBracketKeyword_2()); } - - '{' - -{ after(grammarAccess.getRefinedStateAccess().getLeftCurlyBracketKeyword_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__RefinedState__Group__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__RefinedState__Group__3__Impl - rule__RefinedState__Group__4 -; -finally { - restoreStackSize(stackSize); -} - -rule__RefinedState__Group__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRefinedStateAccess().getGroup_3()); } -(rule__RefinedState__Group_3__0)? -{ after(grammarAccess.getRefinedStateAccess().getGroup_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__RefinedState__Group__4 - @init { - int stackSize = keepStackSize(); - } -: - rule__RefinedState__Group__4__Impl - rule__RefinedState__Group__5 -; -finally { - restoreStackSize(stackSize); -} - -rule__RefinedState__Group__4__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRefinedStateAccess().getGroup_4()); } -(rule__RefinedState__Group_4__0)? -{ after(grammarAccess.getRefinedStateAccess().getGroup_4()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__RefinedState__Group__5 - @init { - int stackSize = keepStackSize(); - } -: - rule__RefinedState__Group__5__Impl - rule__RefinedState__Group__6 -; -finally { - restoreStackSize(stackSize); -} - -rule__RefinedState__Group__5__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRefinedStateAccess().getGroup_5()); } -(rule__RefinedState__Group_5__0)? -{ after(grammarAccess.getRefinedStateAccess().getGroup_5()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__RefinedState__Group__6 - @init { - int stackSize = keepStackSize(); - } -: - rule__RefinedState__Group__6__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__RefinedState__Group__6__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRefinedStateAccess().getRightCurlyBracketKeyword_6()); } - - '}' - -{ after(grammarAccess.getRefinedStateAccess().getRightCurlyBracketKeyword_6()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - - - - - - - -rule__RefinedState__Group_3__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__RefinedState__Group_3__0__Impl - rule__RefinedState__Group_3__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__RefinedState__Group_3__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRefinedStateAccess().getEntryKeyword_3_0()); } - - 'entry' - -{ after(grammarAccess.getRefinedStateAccess().getEntryKeyword_3_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__RefinedState__Group_3__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__RefinedState__Group_3__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__RefinedState__Group_3__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRefinedStateAccess().getEntryCodeAssignment_3_1()); } -(rule__RefinedState__EntryCodeAssignment_3_1) -{ after(grammarAccess.getRefinedStateAccess().getEntryCodeAssignment_3_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__RefinedState__Group_4__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__RefinedState__Group_4__0__Impl - rule__RefinedState__Group_4__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__RefinedState__Group_4__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRefinedStateAccess().getExitKeyword_4_0()); } - - 'exit' - -{ after(grammarAccess.getRefinedStateAccess().getExitKeyword_4_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__RefinedState__Group_4__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__RefinedState__Group_4__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__RefinedState__Group_4__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRefinedStateAccess().getExitCodeAssignment_4_1()); } -(rule__RefinedState__ExitCodeAssignment_4_1) -{ after(grammarAccess.getRefinedStateAccess().getExitCodeAssignment_4_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__RefinedState__Group_5__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__RefinedState__Group_5__0__Impl - rule__RefinedState__Group_5__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__RefinedState__Group_5__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRefinedStateAccess().getSubgraphKeyword_5_0()); } - - 'subgraph' - -{ after(grammarAccess.getRefinedStateAccess().getSubgraphKeyword_5_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__RefinedState__Group_5__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__RefinedState__Group_5__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__RefinedState__Group_5__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRefinedStateAccess().getSubgraphAssignment_5_1()); } -(rule__RefinedState__SubgraphAssignment_5_1) -{ after(grammarAccess.getRefinedStateAccess().getSubgraphAssignment_5_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__DetailCode__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__DetailCode__Group__0__Impl - rule__DetailCode__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__DetailCode__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getDetailCodeAccess().getLeftCurlyBracketKeyword_0()); } - - '{' - -{ after(grammarAccess.getDetailCodeAccess().getLeftCurlyBracketKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__DetailCode__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__DetailCode__Group__1__Impl - rule__DetailCode__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__DetailCode__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -( -{ before(grammarAccess.getDetailCodeAccess().getCommandsAssignment_1()); } -(rule__DetailCode__CommandsAssignment_1) -{ after(grammarAccess.getDetailCodeAccess().getCommandsAssignment_1()); } -) -( -{ before(grammarAccess.getDetailCodeAccess().getCommandsAssignment_1()); } -(rule__DetailCode__CommandsAssignment_1)* -{ after(grammarAccess.getDetailCodeAccess().getCommandsAssignment_1()); } -) -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__DetailCode__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__DetailCode__Group__2__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__DetailCode__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getDetailCodeAccess().getRightCurlyBracketKeyword_2()); } - - '}' - -{ after(grammarAccess.getDetailCodeAccess().getRightCurlyBracketKeyword_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - -rule__TransitionPoint__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__TransitionPoint__Group__0__Impl - rule__TransitionPoint__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__TransitionPoint__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTransitionPointAccess().getHandlerAssignment_0()); } -(rule__TransitionPoint__HandlerAssignment_0)? -{ after(grammarAccess.getTransitionPointAccess().getHandlerAssignment_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__TransitionPoint__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__TransitionPoint__Group__1__Impl - rule__TransitionPoint__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__TransitionPoint__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTransitionPointAccess().getTransitionPointKeyword_1()); } - - 'TransitionPoint' - -{ after(grammarAccess.getTransitionPointAccess().getTransitionPointKeyword_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__TransitionPoint__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__TransitionPoint__Group__2__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__TransitionPoint__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTransitionPointAccess().getNameAssignment_2()); } -(rule__TransitionPoint__NameAssignment_2) -{ after(grammarAccess.getTransitionPointAccess().getNameAssignment_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - -rule__EntryPoint__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__EntryPoint__Group__0__Impl - rule__EntryPoint__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__EntryPoint__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getEntryPointAccess().getEntryPointKeyword_0()); } - - 'EntryPoint' - -{ after(grammarAccess.getEntryPointAccess().getEntryPointKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__EntryPoint__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__EntryPoint__Group__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__EntryPoint__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getEntryPointAccess().getNameAssignment_1()); } -(rule__EntryPoint__NameAssignment_1) -{ after(grammarAccess.getEntryPointAccess().getNameAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__ExitPoint__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__ExitPoint__Group__0__Impl - rule__ExitPoint__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__ExitPoint__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getExitPointAccess().getExitPointKeyword_0()); } - - 'ExitPoint' - -{ after(grammarAccess.getExitPointAccess().getExitPointKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ExitPoint__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__ExitPoint__Group__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__ExitPoint__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getExitPointAccess().getNameAssignment_1()); } -(rule__ExitPoint__NameAssignment_1) -{ after(grammarAccess.getExitPointAccess().getNameAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__ChoicePoint__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__ChoicePoint__Group__0__Impl - rule__ChoicePoint__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__ChoicePoint__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getChoicePointAccess().getChoicePointKeyword_0()); } - - 'ChoicePoint' - -{ after(grammarAccess.getChoicePointAccess().getChoicePointKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ChoicePoint__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__ChoicePoint__Group__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__ChoicePoint__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getChoicePointAccess().getNameAssignment_1()); } -(rule__ChoicePoint__NameAssignment_1) -{ after(grammarAccess.getChoicePointAccess().getNameAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__InitialTransition__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__InitialTransition__Group__0__Impl - rule__InitialTransition__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__InitialTransition__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getInitialTransitionAccess().getTransitionKeyword_0()); } - - 'Transition' - -{ after(grammarAccess.getInitialTransitionAccess().getTransitionKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__InitialTransition__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__InitialTransition__Group__1__Impl - rule__InitialTransition__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__InitialTransition__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getInitialTransitionAccess().getNameAssignment_1()); } -(rule__InitialTransition__NameAssignment_1)? -{ after(grammarAccess.getInitialTransitionAccess().getNameAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__InitialTransition__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__InitialTransition__Group__2__Impl - rule__InitialTransition__Group__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__InitialTransition__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getInitialTransitionAccess().getColonKeyword_2()); } - - ':' - -{ after(grammarAccess.getInitialTransitionAccess().getColonKeyword_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__InitialTransition__Group__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__InitialTransition__Group__3__Impl - rule__InitialTransition__Group__4 -; -finally { - restoreStackSize(stackSize); -} - -rule__InitialTransition__Group__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getInitialTransitionAccess().getInitialKeyword_3()); } - - 'initial' - -{ after(grammarAccess.getInitialTransitionAccess().getInitialKeyword_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__InitialTransition__Group__4 - @init { - int stackSize = keepStackSize(); - } -: - rule__InitialTransition__Group__4__Impl - rule__InitialTransition__Group__5 -; -finally { - restoreStackSize(stackSize); -} - -rule__InitialTransition__Group__4__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getInitialTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); } - - '->' - -{ after(grammarAccess.getInitialTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__InitialTransition__Group__5 - @init { - int stackSize = keepStackSize(); - } -: - rule__InitialTransition__Group__5__Impl - rule__InitialTransition__Group__6 -; -finally { - restoreStackSize(stackSize); -} - -rule__InitialTransition__Group__5__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getInitialTransitionAccess().getToAssignment_5()); } -(rule__InitialTransition__ToAssignment_5) -{ after(grammarAccess.getInitialTransitionAccess().getToAssignment_5()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__InitialTransition__Group__6 - @init { - int stackSize = keepStackSize(); - } -: - rule__InitialTransition__Group__6__Impl - rule__InitialTransition__Group__7 -; -finally { - restoreStackSize(stackSize); -} - -rule__InitialTransition__Group__6__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getInitialTransitionAccess().getLeftCurlyBracketKeyword_6()); } - - '{' - -{ after(grammarAccess.getInitialTransitionAccess().getLeftCurlyBracketKeyword_6()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__InitialTransition__Group__7 - @init { - int stackSize = keepStackSize(); - } -: - rule__InitialTransition__Group__7__Impl - rule__InitialTransition__Group__8 -; -finally { - restoreStackSize(stackSize); -} - -rule__InitialTransition__Group__7__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getInitialTransitionAccess().getGroup_7()); } -(rule__InitialTransition__Group_7__0)? -{ after(grammarAccess.getInitialTransitionAccess().getGroup_7()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__InitialTransition__Group__8 - @init { - int stackSize = keepStackSize(); - } -: - rule__InitialTransition__Group__8__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__InitialTransition__Group__8__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getInitialTransitionAccess().getRightCurlyBracketKeyword_8()); } - - '}' - -{ after(grammarAccess.getInitialTransitionAccess().getRightCurlyBracketKeyword_8()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - - - - - - - - - - - -rule__InitialTransition__Group_7__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__InitialTransition__Group_7__0__Impl - rule__InitialTransition__Group_7__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__InitialTransition__Group_7__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getInitialTransitionAccess().getActionKeyword_7_0()); } - - 'action' - -{ after(grammarAccess.getInitialTransitionAccess().getActionKeyword_7_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__InitialTransition__Group_7__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__InitialTransition__Group_7__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__InitialTransition__Group_7__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getInitialTransitionAccess().getActionAssignment_7_1()); } -(rule__InitialTransition__ActionAssignment_7_1) -{ after(grammarAccess.getInitialTransitionAccess().getActionAssignment_7_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__ContinuationTransition__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__ContinuationTransition__Group__0__Impl - rule__ContinuationTransition__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__ContinuationTransition__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getContinuationTransitionAccess().getTransitionKeyword_0()); } - - 'Transition' - -{ after(grammarAccess.getContinuationTransitionAccess().getTransitionKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ContinuationTransition__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__ContinuationTransition__Group__1__Impl - rule__ContinuationTransition__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__ContinuationTransition__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getContinuationTransitionAccess().getNameAssignment_1()); } -(rule__ContinuationTransition__NameAssignment_1)? -{ after(grammarAccess.getContinuationTransitionAccess().getNameAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ContinuationTransition__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__ContinuationTransition__Group__2__Impl - rule__ContinuationTransition__Group__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__ContinuationTransition__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getContinuationTransitionAccess().getColonKeyword_2()); } - - ':' - -{ after(grammarAccess.getContinuationTransitionAccess().getColonKeyword_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ContinuationTransition__Group__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__ContinuationTransition__Group__3__Impl - rule__ContinuationTransition__Group__4 -; -finally { - restoreStackSize(stackSize); -} - -rule__ContinuationTransition__Group__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getContinuationTransitionAccess().getFromAssignment_3()); } -(rule__ContinuationTransition__FromAssignment_3) -{ after(grammarAccess.getContinuationTransitionAccess().getFromAssignment_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ContinuationTransition__Group__4 - @init { - int stackSize = keepStackSize(); - } -: - rule__ContinuationTransition__Group__4__Impl - rule__ContinuationTransition__Group__5 -; -finally { - restoreStackSize(stackSize); -} - -rule__ContinuationTransition__Group__4__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getContinuationTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); } - - '->' - -{ after(grammarAccess.getContinuationTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ContinuationTransition__Group__5 - @init { - int stackSize = keepStackSize(); - } -: - rule__ContinuationTransition__Group__5__Impl - rule__ContinuationTransition__Group__6 -; -finally { - restoreStackSize(stackSize); -} - -rule__ContinuationTransition__Group__5__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getContinuationTransitionAccess().getToAssignment_5()); } -(rule__ContinuationTransition__ToAssignment_5) -{ after(grammarAccess.getContinuationTransitionAccess().getToAssignment_5()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ContinuationTransition__Group__6 - @init { - int stackSize = keepStackSize(); - } -: - rule__ContinuationTransition__Group__6__Impl - rule__ContinuationTransition__Group__7 -; -finally { - restoreStackSize(stackSize); -} - -rule__ContinuationTransition__Group__6__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getContinuationTransitionAccess().getLeftCurlyBracketKeyword_6()); } - - '{' - -{ after(grammarAccess.getContinuationTransitionAccess().getLeftCurlyBracketKeyword_6()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ContinuationTransition__Group__7 - @init { - int stackSize = keepStackSize(); - } -: - rule__ContinuationTransition__Group__7__Impl - rule__ContinuationTransition__Group__8 -; -finally { - restoreStackSize(stackSize); -} - -rule__ContinuationTransition__Group__7__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getContinuationTransitionAccess().getGroup_7()); } -(rule__ContinuationTransition__Group_7__0)? -{ after(grammarAccess.getContinuationTransitionAccess().getGroup_7()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ContinuationTransition__Group__8 - @init { - int stackSize = keepStackSize(); - } -: - rule__ContinuationTransition__Group__8__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__ContinuationTransition__Group__8__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getContinuationTransitionAccess().getRightCurlyBracketKeyword_8()); } - - '}' - -{ after(grammarAccess.getContinuationTransitionAccess().getRightCurlyBracketKeyword_8()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - - - - - - - - - - - -rule__ContinuationTransition__Group_7__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__ContinuationTransition__Group_7__0__Impl - rule__ContinuationTransition__Group_7__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__ContinuationTransition__Group_7__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getContinuationTransitionAccess().getActionKeyword_7_0()); } - - 'action' - -{ after(grammarAccess.getContinuationTransitionAccess().getActionKeyword_7_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ContinuationTransition__Group_7__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__ContinuationTransition__Group_7__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__ContinuationTransition__Group_7__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getContinuationTransitionAccess().getActionAssignment_7_1()); } -(rule__ContinuationTransition__ActionAssignment_7_1) -{ after(grammarAccess.getContinuationTransitionAccess().getActionAssignment_7_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__TriggeredTransition__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__TriggeredTransition__Group__0__Impl - rule__TriggeredTransition__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__TriggeredTransition__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggeredTransitionAccess().getTransitionKeyword_0()); } - - 'Transition' - -{ after(grammarAccess.getTriggeredTransitionAccess().getTransitionKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__TriggeredTransition__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__TriggeredTransition__Group__1__Impl - rule__TriggeredTransition__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__TriggeredTransition__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggeredTransitionAccess().getNameAssignment_1()); } -(rule__TriggeredTransition__NameAssignment_1)? -{ after(grammarAccess.getTriggeredTransitionAccess().getNameAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__TriggeredTransition__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__TriggeredTransition__Group__2__Impl - rule__TriggeredTransition__Group__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__TriggeredTransition__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggeredTransitionAccess().getColonKeyword_2()); } - - ':' - -{ after(grammarAccess.getTriggeredTransitionAccess().getColonKeyword_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__TriggeredTransition__Group__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__TriggeredTransition__Group__3__Impl - rule__TriggeredTransition__Group__4 -; -finally { - restoreStackSize(stackSize); -} - -rule__TriggeredTransition__Group__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggeredTransitionAccess().getFromAssignment_3()); } -(rule__TriggeredTransition__FromAssignment_3) -{ after(grammarAccess.getTriggeredTransitionAccess().getFromAssignment_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__TriggeredTransition__Group__4 - @init { - int stackSize = keepStackSize(); - } -: - rule__TriggeredTransition__Group__4__Impl - rule__TriggeredTransition__Group__5 -; -finally { - restoreStackSize(stackSize); -} - -rule__TriggeredTransition__Group__4__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggeredTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); } - - '->' - -{ after(grammarAccess.getTriggeredTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__TriggeredTransition__Group__5 - @init { - int stackSize = keepStackSize(); - } -: - rule__TriggeredTransition__Group__5__Impl - rule__TriggeredTransition__Group__6 -; -finally { - restoreStackSize(stackSize); -} - -rule__TriggeredTransition__Group__5__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggeredTransitionAccess().getToAssignment_5()); } -(rule__TriggeredTransition__ToAssignment_5) -{ after(grammarAccess.getTriggeredTransitionAccess().getToAssignment_5()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__TriggeredTransition__Group__6 - @init { - int stackSize = keepStackSize(); - } -: - rule__TriggeredTransition__Group__6__Impl - rule__TriggeredTransition__Group__7 -; -finally { - restoreStackSize(stackSize); -} - -rule__TriggeredTransition__Group__6__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggeredTransitionAccess().getLeftCurlyBracketKeyword_6()); } - - '{' - -{ after(grammarAccess.getTriggeredTransitionAccess().getLeftCurlyBracketKeyword_6()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__TriggeredTransition__Group__7 - @init { - int stackSize = keepStackSize(); - } -: - rule__TriggeredTransition__Group__7__Impl - rule__TriggeredTransition__Group__8 -; -finally { - restoreStackSize(stackSize); -} - -rule__TriggeredTransition__Group__7__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggeredTransitionAccess().getTriggersKeyword_7()); } - - 'triggers' - -{ after(grammarAccess.getTriggeredTransitionAccess().getTriggersKeyword_7()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__TriggeredTransition__Group__8 - @init { - int stackSize = keepStackSize(); - } -: - rule__TriggeredTransition__Group__8__Impl - rule__TriggeredTransition__Group__9 -; -finally { - restoreStackSize(stackSize); -} - -rule__TriggeredTransition__Group__8__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggeredTransitionAccess().getLeftCurlyBracketKeyword_8()); } - - '{' - -{ after(grammarAccess.getTriggeredTransitionAccess().getLeftCurlyBracketKeyword_8()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__TriggeredTransition__Group__9 - @init { - int stackSize = keepStackSize(); - } -: - rule__TriggeredTransition__Group__9__Impl - rule__TriggeredTransition__Group__10 -; -finally { - restoreStackSize(stackSize); -} - -rule__TriggeredTransition__Group__9__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggeredTransitionAccess().getTriggersAssignment_9()); } -(rule__TriggeredTransition__TriggersAssignment_9) -{ after(grammarAccess.getTriggeredTransitionAccess().getTriggersAssignment_9()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__TriggeredTransition__Group__10 - @init { - int stackSize = keepStackSize(); - } -: - rule__TriggeredTransition__Group__10__Impl - rule__TriggeredTransition__Group__11 -; -finally { - restoreStackSize(stackSize); -} - -rule__TriggeredTransition__Group__10__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggeredTransitionAccess().getGroup_10()); } -(rule__TriggeredTransition__Group_10__0)* -{ after(grammarAccess.getTriggeredTransitionAccess().getGroup_10()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__TriggeredTransition__Group__11 - @init { - int stackSize = keepStackSize(); - } -: - rule__TriggeredTransition__Group__11__Impl - rule__TriggeredTransition__Group__12 -; -finally { - restoreStackSize(stackSize); -} - -rule__TriggeredTransition__Group__11__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggeredTransitionAccess().getRightCurlyBracketKeyword_11()); } - - '}' - -{ after(grammarAccess.getTriggeredTransitionAccess().getRightCurlyBracketKeyword_11()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__TriggeredTransition__Group__12 - @init { - int stackSize = keepStackSize(); - } -: - rule__TriggeredTransition__Group__12__Impl - rule__TriggeredTransition__Group__13 -; -finally { - restoreStackSize(stackSize); -} - -rule__TriggeredTransition__Group__12__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggeredTransitionAccess().getGroup_12()); } -(rule__TriggeredTransition__Group_12__0)? -{ after(grammarAccess.getTriggeredTransitionAccess().getGroup_12()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__TriggeredTransition__Group__13 - @init { - int stackSize = keepStackSize(); - } -: - rule__TriggeredTransition__Group__13__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__TriggeredTransition__Group__13__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggeredTransitionAccess().getRightCurlyBracketKeyword_13()); } - - '}' - -{ after(grammarAccess.getTriggeredTransitionAccess().getRightCurlyBracketKeyword_13()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -rule__TriggeredTransition__Group_10__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__TriggeredTransition__Group_10__0__Impl - rule__TriggeredTransition__Group_10__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__TriggeredTransition__Group_10__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggeredTransitionAccess().getOrKeyword_10_0()); } - - 'or' - -{ after(grammarAccess.getTriggeredTransitionAccess().getOrKeyword_10_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__TriggeredTransition__Group_10__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__TriggeredTransition__Group_10__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__TriggeredTransition__Group_10__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggeredTransitionAccess().getTriggersAssignment_10_1()); } -(rule__TriggeredTransition__TriggersAssignment_10_1) -{ after(grammarAccess.getTriggeredTransitionAccess().getTriggersAssignment_10_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__TriggeredTransition__Group_12__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__TriggeredTransition__Group_12__0__Impl - rule__TriggeredTransition__Group_12__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__TriggeredTransition__Group_12__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggeredTransitionAccess().getActionKeyword_12_0()); } - - 'action' - -{ after(grammarAccess.getTriggeredTransitionAccess().getActionKeyword_12_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__TriggeredTransition__Group_12__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__TriggeredTransition__Group_12__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__TriggeredTransition__Group_12__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggeredTransitionAccess().getActionAssignment_12_1()); } -(rule__TriggeredTransition__ActionAssignment_12_1) -{ after(grammarAccess.getTriggeredTransitionAccess().getActionAssignment_12_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__CPBranchTransition__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__CPBranchTransition__Group__0__Impl - rule__CPBranchTransition__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__CPBranchTransition__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getCPBranchTransitionAccess().getTransitionKeyword_0()); } - - 'Transition' - -{ after(grammarAccess.getCPBranchTransitionAccess().getTransitionKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__CPBranchTransition__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__CPBranchTransition__Group__1__Impl - rule__CPBranchTransition__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__CPBranchTransition__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getCPBranchTransitionAccess().getNameAssignment_1()); } -(rule__CPBranchTransition__NameAssignment_1)? -{ after(grammarAccess.getCPBranchTransitionAccess().getNameAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__CPBranchTransition__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__CPBranchTransition__Group__2__Impl - rule__CPBranchTransition__Group__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__CPBranchTransition__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getCPBranchTransitionAccess().getColonKeyword_2()); } - - ':' - -{ after(grammarAccess.getCPBranchTransitionAccess().getColonKeyword_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__CPBranchTransition__Group__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__CPBranchTransition__Group__3__Impl - rule__CPBranchTransition__Group__4 -; -finally { - restoreStackSize(stackSize); -} - -rule__CPBranchTransition__Group__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getCPBranchTransitionAccess().getFromAssignment_3()); } -(rule__CPBranchTransition__FromAssignment_3) -{ after(grammarAccess.getCPBranchTransitionAccess().getFromAssignment_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__CPBranchTransition__Group__4 - @init { - int stackSize = keepStackSize(); - } -: - rule__CPBranchTransition__Group__4__Impl - rule__CPBranchTransition__Group__5 -; -finally { - restoreStackSize(stackSize); -} - -rule__CPBranchTransition__Group__4__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getCPBranchTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); } - - '->' - -{ after(grammarAccess.getCPBranchTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__CPBranchTransition__Group__5 - @init { - int stackSize = keepStackSize(); - } -: - rule__CPBranchTransition__Group__5__Impl - rule__CPBranchTransition__Group__6 -; -finally { - restoreStackSize(stackSize); -} - -rule__CPBranchTransition__Group__5__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getCPBranchTransitionAccess().getToAssignment_5()); } -(rule__CPBranchTransition__ToAssignment_5) -{ after(grammarAccess.getCPBranchTransitionAccess().getToAssignment_5()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__CPBranchTransition__Group__6 - @init { - int stackSize = keepStackSize(); - } -: - rule__CPBranchTransition__Group__6__Impl - rule__CPBranchTransition__Group__7 -; -finally { - restoreStackSize(stackSize); -} - -rule__CPBranchTransition__Group__6__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getCPBranchTransitionAccess().getLeftCurlyBracketKeyword_6()); } - - '{' - -{ after(grammarAccess.getCPBranchTransitionAccess().getLeftCurlyBracketKeyword_6()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__CPBranchTransition__Group__7 - @init { - int stackSize = keepStackSize(); - } -: - rule__CPBranchTransition__Group__7__Impl - rule__CPBranchTransition__Group__8 -; -finally { - restoreStackSize(stackSize); -} - -rule__CPBranchTransition__Group__7__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getCPBranchTransitionAccess().getCondKeyword_7()); } - - 'cond' - -{ after(grammarAccess.getCPBranchTransitionAccess().getCondKeyword_7()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__CPBranchTransition__Group__8 - @init { - int stackSize = keepStackSize(); - } -: - rule__CPBranchTransition__Group__8__Impl - rule__CPBranchTransition__Group__9 -; -finally { - restoreStackSize(stackSize); -} - -rule__CPBranchTransition__Group__8__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getCPBranchTransitionAccess().getConditionAssignment_8()); } -(rule__CPBranchTransition__ConditionAssignment_8) -{ after(grammarAccess.getCPBranchTransitionAccess().getConditionAssignment_8()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__CPBranchTransition__Group__9 - @init { - int stackSize = keepStackSize(); - } -: - rule__CPBranchTransition__Group__9__Impl - rule__CPBranchTransition__Group__10 -; -finally { - restoreStackSize(stackSize); -} - -rule__CPBranchTransition__Group__9__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getCPBranchTransitionAccess().getGroup_9()); } -(rule__CPBranchTransition__Group_9__0)? -{ after(grammarAccess.getCPBranchTransitionAccess().getGroup_9()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__CPBranchTransition__Group__10 - @init { - int stackSize = keepStackSize(); - } -: - rule__CPBranchTransition__Group__10__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__CPBranchTransition__Group__10__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getCPBranchTransitionAccess().getRightCurlyBracketKeyword_10()); } - - '}' - -{ after(grammarAccess.getCPBranchTransitionAccess().getRightCurlyBracketKeyword_10()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - - - - - - - - - - - - - - - -rule__CPBranchTransition__Group_9__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__CPBranchTransition__Group_9__0__Impl - rule__CPBranchTransition__Group_9__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__CPBranchTransition__Group_9__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getCPBranchTransitionAccess().getActionKeyword_9_0()); } - - 'action' - -{ after(grammarAccess.getCPBranchTransitionAccess().getActionKeyword_9_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__CPBranchTransition__Group_9__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__CPBranchTransition__Group_9__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__CPBranchTransition__Group_9__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getCPBranchTransitionAccess().getActionAssignment_9_1()); } -(rule__CPBranchTransition__ActionAssignment_9_1) -{ after(grammarAccess.getCPBranchTransitionAccess().getActionAssignment_9_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__TrPointTerminal__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__TrPointTerminal__Group__0__Impl - rule__TrPointTerminal__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__TrPointTerminal__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTrPointTerminalAccess().getMyKeyword_0()); } - - 'my' - -{ after(grammarAccess.getTrPointTerminalAccess().getMyKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__TrPointTerminal__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__TrPointTerminal__Group__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__TrPointTerminal__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTrPointTerminalAccess().getTrPointAssignment_1()); } -(rule__TrPointTerminal__TrPointAssignment_1) -{ after(grammarAccess.getTrPointTerminalAccess().getTrPointAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__SubStateTrPointTerminal__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__SubStateTrPointTerminal__Group__0__Impl - rule__SubStateTrPointTerminal__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__SubStateTrPointTerminal__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSubStateTrPointTerminalAccess().getTrPointAssignment_0()); } -(rule__SubStateTrPointTerminal__TrPointAssignment_0) -{ after(grammarAccess.getSubStateTrPointTerminalAccess().getTrPointAssignment_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SubStateTrPointTerminal__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__SubStateTrPointTerminal__Group__1__Impl - rule__SubStateTrPointTerminal__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__SubStateTrPointTerminal__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSubStateTrPointTerminalAccess().getOfKeyword_1()); } - - 'of' - -{ after(grammarAccess.getSubStateTrPointTerminalAccess().getOfKeyword_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__SubStateTrPointTerminal__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__SubStateTrPointTerminal__Group__2__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__SubStateTrPointTerminal__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSubStateTrPointTerminalAccess().getStateAssignment_2()); } -(rule__SubStateTrPointTerminal__StateAssignment_2) -{ after(grammarAccess.getSubStateTrPointTerminalAccess().getStateAssignment_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - -rule__ChoicepointTerminal__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__ChoicepointTerminal__Group__0__Impl - rule__ChoicepointTerminal__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__ChoicepointTerminal__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getChoicepointTerminalAccess().getCpKeyword_0()); } - - 'cp' - -{ after(grammarAccess.getChoicepointTerminalAccess().getCpKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ChoicepointTerminal__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__ChoicepointTerminal__Group__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__ChoicepointTerminal__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getChoicepointTerminalAccess().getCpAssignment_1()); } -(rule__ChoicepointTerminal__CpAssignment_1) -{ after(grammarAccess.getChoicepointTerminalAccess().getCpAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__Trigger__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__Trigger__Group__0__Impl - rule__Trigger__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__Trigger__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggerAccess().getLessThanSignKeyword_0()); } - - '<' - -{ after(grammarAccess.getTriggerAccess().getLessThanSignKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Trigger__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__Trigger__Group__1__Impl - rule__Trigger__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__Trigger__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggerAccess().getMsgFromIfPairsAssignment_1()); } -(rule__Trigger__MsgFromIfPairsAssignment_1) -{ after(grammarAccess.getTriggerAccess().getMsgFromIfPairsAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Trigger__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__Trigger__Group__2__Impl - rule__Trigger__Group__3 -; -finally { - restoreStackSize(stackSize); -} - -rule__Trigger__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggerAccess().getGroup_2()); } -(rule__Trigger__Group_2__0)* -{ after(grammarAccess.getTriggerAccess().getGroup_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Trigger__Group__3 - @init { - int stackSize = keepStackSize(); - } -: - rule__Trigger__Group__3__Impl - rule__Trigger__Group__4 -; -finally { - restoreStackSize(stackSize); -} - -rule__Trigger__Group__3__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggerAccess().getGuardAssignment_3()); } -(rule__Trigger__GuardAssignment_3)? -{ after(grammarAccess.getTriggerAccess().getGuardAssignment_3()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Trigger__Group__4 - @init { - int stackSize = keepStackSize(); - } -: - rule__Trigger__Group__4__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__Trigger__Group__4__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggerAccess().getGreaterThanSignKeyword_4()); } - - '>' - -{ after(grammarAccess.getTriggerAccess().getGreaterThanSignKeyword_4()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - - - - - -rule__Trigger__Group_2__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__Trigger__Group_2__0__Impl - rule__Trigger__Group_2__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__Trigger__Group_2__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggerAccess().getVerticalLineKeyword_2_0()); } - - '|' - -{ after(grammarAccess.getTriggerAccess().getVerticalLineKeyword_2_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Trigger__Group_2__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__Trigger__Group_2__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__Trigger__Group_2__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggerAccess().getMsgFromIfPairsAssignment_2_1()); } -(rule__Trigger__MsgFromIfPairsAssignment_2_1) -{ after(grammarAccess.getTriggerAccess().getMsgFromIfPairsAssignment_2_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__MessageFromIf__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__MessageFromIf__Group__0__Impl - rule__MessageFromIf__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__MessageFromIf__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getMessageFromIfAccess().getMessageAssignment_0()); } -(rule__MessageFromIf__MessageAssignment_0) -{ after(grammarAccess.getMessageFromIfAccess().getMessageAssignment_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__MessageFromIf__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__MessageFromIf__Group__1__Impl - rule__MessageFromIf__Group__2 -; -finally { - restoreStackSize(stackSize); -} - -rule__MessageFromIf__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getMessageFromIfAccess().getColonKeyword_1()); } - - ':' - -{ after(grammarAccess.getMessageFromIfAccess().getColonKeyword_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__MessageFromIf__Group__2 - @init { - int stackSize = keepStackSize(); - } -: - rule__MessageFromIf__Group__2__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__MessageFromIf__Group__2__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getMessageFromIfAccess().getFromAssignment_2()); } -(rule__MessageFromIf__FromAssignment_2) -{ after(grammarAccess.getMessageFromIfAccess().getFromAssignment_2()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - - -rule__Guard__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__Guard__Group__0__Impl - rule__Guard__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__Guard__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getGuardAccess().getGuardKeyword_0()); } - - 'guard' - -{ after(grammarAccess.getGuardAccess().getGuardKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Guard__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__Guard__Group__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__Guard__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getGuardAccess().getGuardAssignment_1()); } -(rule__Guard__GuardAssignment_1) -{ after(grammarAccess.getGuardAccess().getGuardAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__Import__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__Import__Group__0__Impl - rule__Import__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__Import__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getImportAccess().getImportKeyword_0()); } - - 'import' - -{ after(grammarAccess.getImportAccess().getImportKeyword_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__Import__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__Import__Group__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__Import__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getImportAccess().getImportedNamespaceAssignment_1()); } -(rule__Import__ImportedNamespaceAssignment_1) -{ after(grammarAccess.getImportAccess().getImportedNamespaceAssignment_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__ImportedFQN__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__ImportedFQN__Group__0__Impl - rule__ImportedFQN__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__ImportedFQN__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getImportedFQNAccess().getFQNParserRuleCall_0()); } - ruleFQN -{ after(grammarAccess.getImportedFQNAccess().getFQNParserRuleCall_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ImportedFQN__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__ImportedFQN__Group__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__ImportedFQN__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getImportedFQNAccess().getGroup_1()); } -(rule__ImportedFQN__Group_1__0)? -{ after(grammarAccess.getImportedFQNAccess().getGroup_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__ImportedFQN__Group_1__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__ImportedFQN__Group_1__0__Impl - rule__ImportedFQN__Group_1__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__ImportedFQN__Group_1__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getImportedFQNAccess().getFullStopKeyword_1_0()); } - - '.' - -{ after(grammarAccess.getImportedFQNAccess().getFullStopKeyword_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__ImportedFQN__Group_1__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__ImportedFQN__Group_1__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__ImportedFQN__Group_1__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getImportedFQNAccess().getAsteriskKeyword_1_1()); } - - '*' - -{ after(grammarAccess.getImportedFQNAccess().getAsteriskKeyword_1_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__FQN__Group__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__FQN__Group__0__Impl - rule__FQN__Group__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__FQN__Group__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getFQNAccess().getIDTerminalRuleCall_0()); } - RULE_ID -{ after(grammarAccess.getFQNAccess().getIDTerminalRuleCall_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__FQN__Group__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__FQN__Group__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__FQN__Group__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getFQNAccess().getGroup_1()); } -(rule__FQN__Group_1__0)* -{ after(grammarAccess.getFQNAccess().getGroup_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - -rule__FQN__Group_1__0 - @init { - int stackSize = keepStackSize(); - } -: - rule__FQN__Group_1__0__Impl - rule__FQN__Group_1__1 -; -finally { - restoreStackSize(stackSize); -} - -rule__FQN__Group_1__0__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getFQNAccess().getFullStopKeyword_1_0()); } - - '.' - -{ after(grammarAccess.getFQNAccess().getFullStopKeyword_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - -rule__FQN__Group_1__1 - @init { - int stackSize = keepStackSize(); - } -: - rule__FQN__Group_1__1__Impl -; -finally { - restoreStackSize(stackSize); -} - -rule__FQN__Group_1__1__Impl - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getFQNAccess().getIDTerminalRuleCall_1_1()); } - RULE_ID -{ after(grammarAccess.getFQNAccess().getIDTerminalRuleCall_1_1()); } -) - -; -finally { - restoreStackSize(stackSize); -} - - - - - - - -rule__RoomModel__NameAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRoomModelAccess().getNameFQNParserRuleCall_1_0()); } - ruleFQN{ after(grammarAccess.getRoomModelAccess().getNameFQNParserRuleCall_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__RoomModel__ImportsAssignment_3 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRoomModelAccess().getImportsImportParserRuleCall_3_0()); } - ruleImport{ after(grammarAccess.getRoomModelAccess().getImportsImportParserRuleCall_3_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__RoomModel__DataClassesAssignment_4_0 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRoomModelAccess().getDataClassesDataClassParserRuleCall_4_0_0()); } - ruleDataClass{ after(grammarAccess.getRoomModelAccess().getDataClassesDataClassParserRuleCall_4_0_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__RoomModel__ProtocolClassesAssignment_4_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRoomModelAccess().getProtocolClassesProtocolClassParserRuleCall_4_1_0()); } - ruleProtocolClass{ after(grammarAccess.getRoomModelAccess().getProtocolClassesProtocolClassParserRuleCall_4_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__RoomModel__ActorClassesAssignment_4_2 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRoomModelAccess().getActorClassesActorClassParserRuleCall_4_2_0()); } - ruleActorClass{ after(grammarAccess.getRoomModelAccess().getActorClassesActorClassParserRuleCall_4_2_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__RoomModel__SubSystemClassesAssignment_4_3 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRoomModelAccess().getSubSystemClassesSubSystemClassParserRuleCall_4_3_0()); } - ruleSubSystemClass{ after(grammarAccess.getRoomModelAccess().getSubSystemClassesSubSystemClassParserRuleCall_4_3_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__RoomModel__SystemsAssignment_4_4 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRoomModelAccess().getSystemsLogicalSystemParserRuleCall_4_4_0()); } - ruleLogicalSystem{ after(grammarAccess.getRoomModelAccess().getSystemsLogicalSystemParserRuleCall_4_4_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__TypedID__NameAssignment_0 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTypedIDAccess().getNameIDTerminalRuleCall_0_0()); } - RULE_ID{ after(grammarAccess.getTypedIDAccess().getNameIDTerminalRuleCall_0_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__TypedID__TypeAssignment_2 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTypedIDAccess().getTypeTypeParserRuleCall_2_0()); } - ruleType{ after(grammarAccess.getTypedIDAccess().getTypeTypeParserRuleCall_2_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__FreeTypedID__NameAssignment_0 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getFreeTypedIDAccess().getNameIDTerminalRuleCall_0_0()); } - RULE_ID{ after(grammarAccess.getFreeTypedIDAccess().getNameIDTerminalRuleCall_0_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__FreeTypedID__TypeAssignment_2 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getFreeTypedIDAccess().getTypeFreeTypeParserRuleCall_2_0()); } - ruleFreeType{ after(grammarAccess.getFreeTypedIDAccess().getTypeFreeTypeParserRuleCall_2_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__Type__PrimAssignment_0 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTypeAccess().getPrimPrimitiveTypeEnumRuleCall_0_0()); } - rulePrimitiveType{ after(grammarAccess.getTypeAccess().getPrimPrimitiveTypeEnumRuleCall_0_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__Type__TypeAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTypeAccess().getTypeDataClassCrossReference_1_0()); } -( -{ before(grammarAccess.getTypeAccess().getTypeDataClassFQNParserRuleCall_1_0_1()); } - ruleFQN{ after(grammarAccess.getTypeAccess().getTypeDataClassFQNParserRuleCall_1_0_1()); } -) -{ after(grammarAccess.getTypeAccess().getTypeDataClassCrossReference_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__FreeType__PrimAssignment_0 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getFreeTypeAccess().getPrimPrimitiveTypeEnumRuleCall_0_0()); } - rulePrimitiveType{ after(grammarAccess.getFreeTypeAccess().getPrimPrimitiveTypeEnumRuleCall_0_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__FreeType__TypeAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getFreeTypeAccess().getTypeIDTerminalRuleCall_1_0()); } - RULE_ID{ after(grammarAccess.getFreeTypeAccess().getTypeIDTerminalRuleCall_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__DataClass__NameAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getDataClassAccess().getNameIDTerminalRuleCall_1_0()); } - RULE_ID{ after(grammarAccess.getDataClassAccess().getNameIDTerminalRuleCall_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__DataClass__BaseAssignment_2_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getDataClassAccess().getBaseDataClassCrossReference_2_1_0()); } -( -{ before(grammarAccess.getDataClassAccess().getBaseDataClassFQNParserRuleCall_2_1_0_1()); } - ruleFQN{ after(grammarAccess.getDataClassAccess().getBaseDataClassFQNParserRuleCall_2_1_0_1()); } -) -{ after(grammarAccess.getDataClassAccess().getBaseDataClassCrossReference_2_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__DataClass__ImportsAssignment_4 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getDataClassAccess().getImportsImportParserRuleCall_4_0()); } - ruleImport{ after(grammarAccess.getDataClassAccess().getImportsImportParserRuleCall_4_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__DataClass__AttributesAssignment_5 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getDataClassAccess().getAttributesAttributeParserRuleCall_5_0()); } - ruleAttribute{ after(grammarAccess.getDataClassAccess().getAttributesAttributeParserRuleCall_5_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__DataClass__OperationsAssignment_6 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getDataClassAccess().getOperationsOperationParserRuleCall_6_0()); } - ruleOperation{ after(grammarAccess.getDataClassAccess().getOperationsOperationParserRuleCall_6_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__Attribute__NameAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getAttributeAccess().getNameIDTerminalRuleCall_1_0()); } - RULE_ID{ after(grammarAccess.getAttributeAccess().getNameIDTerminalRuleCall_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__Attribute__SizeAssignment_2_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getAttributeAccess().getSizeINTTerminalRuleCall_2_1_0()); } - RULE_INT{ after(grammarAccess.getAttributeAccess().getSizeINTTerminalRuleCall_2_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__Attribute__TypeAssignment_4 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getAttributeAccess().getTypeTypeParserRuleCall_4_0()); } - ruleType{ after(grammarAccess.getAttributeAccess().getTypeTypeParserRuleCall_4_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__Operation__NameAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getOperationAccess().getNameIDTerminalRuleCall_1_0()); } - RULE_ID{ after(grammarAccess.getOperationAccess().getNameIDTerminalRuleCall_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__Operation__ArgumentsAssignment_3_0 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getOperationAccess().getArgumentsFreeTypedIDParserRuleCall_3_0_0()); } - ruleFreeTypedID{ after(grammarAccess.getOperationAccess().getArgumentsFreeTypedIDParserRuleCall_3_0_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__Operation__ArgumentsAssignment_3_1_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getOperationAccess().getArgumentsFreeTypedIDParserRuleCall_3_1_1_0()); } - ruleFreeTypedID{ after(grammarAccess.getOperationAccess().getArgumentsFreeTypedIDParserRuleCall_3_1_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__Operation__ReturntypeAssignment_5_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getOperationAccess().getReturntypeFreeTypeParserRuleCall_5_1_0()); } - ruleFreeType{ after(grammarAccess.getOperationAccess().getReturntypeFreeTypeParserRuleCall_5_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__Operation__DetailCodeAssignment_6 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getOperationAccess().getDetailCodeDetailCodeParserRuleCall_6_0()); } - ruleDetailCode{ after(grammarAccess.getOperationAccess().getDetailCodeDetailCodeParserRuleCall_6_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__NameAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getNameIDTerminalRuleCall_1_0()); } - RULE_ID{ after(grammarAccess.getProtocolClassAccess().getNameIDTerminalRuleCall_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__BaseAssignment_2_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getBaseProtocolClassCrossReference_2_1_0()); } -( -{ before(grammarAccess.getProtocolClassAccess().getBaseProtocolClassFQNParserRuleCall_2_1_0_1()); } - ruleFQN{ after(grammarAccess.getProtocolClassAccess().getBaseProtocolClassFQNParserRuleCall_2_1_0_1()); } -) -{ after(grammarAccess.getProtocolClassAccess().getBaseProtocolClassCrossReference_2_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__UserCode1Assignment_4_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getUserCode1DetailCodeParserRuleCall_4_1_0()); } - ruleDetailCode{ after(grammarAccess.getProtocolClassAccess().getUserCode1DetailCodeParserRuleCall_4_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__UserCode2Assignment_5_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getUserCode2DetailCodeParserRuleCall_5_1_0()); } - ruleDetailCode{ after(grammarAccess.getProtocolClassAccess().getUserCode2DetailCodeParserRuleCall_5_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__IncomingMessagesAssignment_8 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getIncomingMessagesMessageParserRuleCall_8_0()); } - ruleMessage{ after(grammarAccess.getProtocolClassAccess().getIncomingMessagesMessageParserRuleCall_8_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__OutgoingMessagesAssignment_12 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getOutgoingMessagesMessageParserRuleCall_12_0()); } - ruleMessage{ after(grammarAccess.getProtocolClassAccess().getOutgoingMessagesMessageParserRuleCall_12_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__RegularAssignment_14_2 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getRegularPortClassParserRuleCall_14_2_0()); } - rulePortClass{ after(grammarAccess.getProtocolClassAccess().getRegularPortClassParserRuleCall_14_2_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__ConjugateAssignment_15_2 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getConjugatePortClassParserRuleCall_15_2_0()); } - rulePortClass{ after(grammarAccess.getProtocolClassAccess().getConjugatePortClassParserRuleCall_15_2_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolClass__SemanticsAssignment_16 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolClassAccess().getSemanticsProtocolSemanticsParserRuleCall_16_0()); } - ruleProtocolSemantics{ after(grammarAccess.getProtocolClassAccess().getSemanticsProtocolSemanticsParserRuleCall_16_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__Message__NameAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getMessageAccess().getNameIDTerminalRuleCall_1_0()); } - RULE_ID{ after(grammarAccess.getMessageAccess().getNameIDTerminalRuleCall_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__Message__ArgumentsAssignment_3_0 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getMessageAccess().getArgumentsTypedIDParserRuleCall_3_0_0()); } - ruleTypedID{ after(grammarAccess.getMessageAccess().getArgumentsTypedIDParserRuleCall_3_0_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__Message__ArgumentsAssignment_3_1_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getMessageAccess().getArgumentsTypedIDParserRuleCall_3_1_1_0()); } - ruleTypedID{ after(grammarAccess.getMessageAccess().getArgumentsTypedIDParserRuleCall_3_1_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__PortClass__UserCodeAssignment_1_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getPortClassAccess().getUserCodeDetailCodeParserRuleCall_1_1_0()); } - ruleDetailCode{ after(grammarAccess.getPortClassAccess().getUserCodeDetailCodeParserRuleCall_1_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__PortClass__AttributesAssignment_2_0 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getPortClassAccess().getAttributesAttributeParserRuleCall_2_0_0()); } - ruleAttribute{ after(grammarAccess.getPortClassAccess().getAttributesAttributeParserRuleCall_2_0_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__PortClass__OperationsAssignment_2_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getPortClassAccess().getOperationsOperationParserRuleCall_2_1_0()); } - ruleOperation{ after(grammarAccess.getPortClassAccess().getOperationsOperationParserRuleCall_2_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__PortClass__MsgHandlersAssignment_2_2 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getPortClassAccess().getMsgHandlersMessageHandlerParserRuleCall_2_2_0()); } - ruleMessageHandler{ after(grammarAccess.getPortClassAccess().getMsgHandlersMessageHandlerParserRuleCall_2_2_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__MessageHandler__MsgAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getMessageHandlerAccess().getMsgMessageCrossReference_1_0()); } -( -{ before(grammarAccess.getMessageHandlerAccess().getMsgMessageIDTerminalRuleCall_1_0_1()); } - RULE_ID{ after(grammarAccess.getMessageHandlerAccess().getMsgMessageIDTerminalRuleCall_1_0_1()); } -) -{ after(grammarAccess.getMessageHandlerAccess().getMsgMessageCrossReference_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__MessageHandler__DetailCodeAssignment_2 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getMessageHandlerAccess().getDetailCodeDetailCodeParserRuleCall_2_0()); } - ruleDetailCode{ after(grammarAccess.getMessageHandlerAccess().getDetailCodeDetailCodeParserRuleCall_2_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ProtocolSemantics__RulesAssignment_2 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getProtocolSemanticsAccess().getRulesSemanticsRuleParserRuleCall_2_0()); } - ruleSemanticsRule{ after(grammarAccess.getProtocolSemanticsAccess().getRulesSemanticsRuleParserRuleCall_2_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__SemanticsInRule__MsgAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSemanticsInRuleAccess().getMsgMessageCrossReference_1_0()); } -( -{ before(grammarAccess.getSemanticsInRuleAccess().getMsgMessageIDTerminalRuleCall_1_0_1()); } - RULE_ID{ after(grammarAccess.getSemanticsInRuleAccess().getMsgMessageIDTerminalRuleCall_1_0_1()); } -) -{ after(grammarAccess.getSemanticsInRuleAccess().getMsgMessageCrossReference_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__SemanticsInRule__FollowUpsAssignment_4 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSemanticsInRuleAccess().getFollowUpsSemanticsRuleParserRuleCall_4_0()); } - ruleSemanticsRule{ after(grammarAccess.getSemanticsInRuleAccess().getFollowUpsSemanticsRuleParserRuleCall_4_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__SemanticsOutRule__MsgAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSemanticsOutRuleAccess().getMsgMessageCrossReference_1_0()); } -( -{ before(grammarAccess.getSemanticsOutRuleAccess().getMsgMessageIDTerminalRuleCall_1_0_1()); } - RULE_ID{ after(grammarAccess.getSemanticsOutRuleAccess().getMsgMessageIDTerminalRuleCall_1_0_1()); } -) -{ after(grammarAccess.getSemanticsOutRuleAccess().getMsgMessageCrossReference_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__SemanticsOutRule__FollowUpsAssignment_4 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSemanticsOutRuleAccess().getFollowUpsSemanticsRuleParserRuleCall_4_0()); } - ruleSemanticsRule{ after(grammarAccess.getSemanticsOutRuleAccess().getFollowUpsSemanticsRuleParserRuleCall_4_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__AbstractAssignment_0 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getAbstractAbstractKeyword_0_0()); } -( -{ before(grammarAccess.getActorClassAccess().getAbstractAbstractKeyword_0_0()); } - - 'abstract' - -{ after(grammarAccess.getActorClassAccess().getAbstractAbstractKeyword_0_0()); } -) - -{ after(grammarAccess.getActorClassAccess().getAbstractAbstractKeyword_0_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__NameAssignment_2 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getNameIDTerminalRuleCall_2_0()); } - RULE_ID{ after(grammarAccess.getActorClassAccess().getNameIDTerminalRuleCall_2_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__BaseAssignment_3_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getBaseActorClassCrossReference_3_1_0()); } -( -{ before(grammarAccess.getActorClassAccess().getBaseActorClassFQNParserRuleCall_3_1_0_1()); } - ruleFQN{ after(grammarAccess.getActorClassAccess().getBaseActorClassFQNParserRuleCall_3_1_0_1()); } -) -{ after(grammarAccess.getActorClassAccess().getBaseActorClassCrossReference_3_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__IfPortsAssignment_5_2 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getIfPortsPortParserRuleCall_5_2_0()); } - rulePort{ after(grammarAccess.getActorClassAccess().getIfPortsPortParserRuleCall_5_2_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__IfSPPsAssignment_5_3 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getIfSPPsSPPRefParserRuleCall_5_3_0()); } - ruleSPPRef{ after(grammarAccess.getActorClassAccess().getIfSPPsSPPRefParserRuleCall_5_3_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__UserCode1Assignment_6_2_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getUserCode1DetailCodeParserRuleCall_6_2_1_0()); } - ruleDetailCode{ after(grammarAccess.getActorClassAccess().getUserCode1DetailCodeParserRuleCall_6_2_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__UserCode2Assignment_6_3_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getUserCode2DetailCodeParserRuleCall_6_3_1_0()); } - ruleDetailCode{ after(grammarAccess.getActorClassAccess().getUserCode2DetailCodeParserRuleCall_6_3_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__IntPortsAssignment_6_4_0 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getIntPortsPortParserRuleCall_6_4_0_0()); } - rulePort{ after(grammarAccess.getActorClassAccess().getIntPortsPortParserRuleCall_6_4_0_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__ExtPortsAssignment_6_4_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getExtPortsExternalPortParserRuleCall_6_4_1_0()); } - ruleExternalPort{ after(grammarAccess.getActorClassAccess().getExtPortsExternalPortParserRuleCall_6_4_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__ServiceImplementationsAssignment_6_5 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getServiceImplementationsServiceImplementationParserRuleCall_6_5_0()); } - ruleServiceImplementation{ after(grammarAccess.getActorClassAccess().getServiceImplementationsServiceImplementationParserRuleCall_6_5_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__StrSAPsAssignment_6_6 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getStrSAPsSAPRefParserRuleCall_6_6_0()); } - ruleSAPRef{ after(grammarAccess.getActorClassAccess().getStrSAPsSAPRefParserRuleCall_6_6_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__AttributesAssignment_6_7 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getAttributesAttributeParserRuleCall_6_7_0()); } - ruleAttribute{ after(grammarAccess.getActorClassAccess().getAttributesAttributeParserRuleCall_6_7_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__ActorRefsAssignment_6_8 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getActorRefsActorRefParserRuleCall_6_8_0()); } - ruleActorRef{ after(grammarAccess.getActorClassAccess().getActorRefsActorRefParserRuleCall_6_8_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__BindingsAssignment_6_9 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getBindingsBindingParserRuleCall_6_9_0()); } - ruleBinding{ after(grammarAccess.getActorClassAccess().getBindingsBindingParserRuleCall_6_9_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__ConnectionsAssignment_6_10 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getConnectionsLayerConnectionParserRuleCall_6_10_0()); } - ruleLayerConnection{ after(grammarAccess.getActorClassAccess().getConnectionsLayerConnectionParserRuleCall_6_10_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__OperationsAssignment_7_2 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getOperationsOperationParserRuleCall_7_2_0()); } - ruleOperation{ after(grammarAccess.getActorClassAccess().getOperationsOperationParserRuleCall_7_2_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorClass__StateMachineAssignment_7_3 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorClassAccess().getStateMachineStateMachineParserRuleCall_7_3_0()); } - ruleStateMachine{ after(grammarAccess.getActorClassAccess().getStateMachineStateMachineParserRuleCall_7_3_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__Port__ConjugatedAssignment_0 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getPortAccess().getConjugatedConjugatedKeyword_0_0()); } -( -{ before(grammarAccess.getPortAccess().getConjugatedConjugatedKeyword_0_0()); } - - 'conjugated' - -{ after(grammarAccess.getPortAccess().getConjugatedConjugatedKeyword_0_0()); } -) - -{ after(grammarAccess.getPortAccess().getConjugatedConjugatedKeyword_0_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__Port__NameAssignment_2 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getPortAccess().getNameIDTerminalRuleCall_2_0()); } - RULE_ID{ after(grammarAccess.getPortAccess().getNameIDTerminalRuleCall_2_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__Port__MultiplicityAssignment_3_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getPortAccess().getMultiplicityINTTerminalRuleCall_3_1_0()); } - RULE_INT{ after(grammarAccess.getPortAccess().getMultiplicityINTTerminalRuleCall_3_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__Port__ProtocolAssignment_5 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getPortAccess().getProtocolProtocolClassCrossReference_5_0()); } -( -{ before(grammarAccess.getPortAccess().getProtocolProtocolClassFQNParserRuleCall_5_0_1()); } - ruleFQN{ after(grammarAccess.getPortAccess().getProtocolProtocolClassFQNParserRuleCall_5_0_1()); } -) -{ after(grammarAccess.getPortAccess().getProtocolProtocolClassCrossReference_5_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ExternalPort__IfportAssignment_2 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getExternalPortAccess().getIfportPortCrossReference_2_0()); } -( -{ before(grammarAccess.getExternalPortAccess().getIfportPortIDTerminalRuleCall_2_0_1()); } - RULE_ID{ after(grammarAccess.getExternalPortAccess().getIfportPortIDTerminalRuleCall_2_0_1()); } -) -{ after(grammarAccess.getExternalPortAccess().getIfportPortCrossReference_2_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__SAPRef__NameAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSAPRefAccess().getNameIDTerminalRuleCall_1_0()); } - RULE_ID{ after(grammarAccess.getSAPRefAccess().getNameIDTerminalRuleCall_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__SAPRef__ProtocolAssignment_3 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSAPRefAccess().getProtocolProtocolClassCrossReference_3_0()); } -( -{ before(grammarAccess.getSAPRefAccess().getProtocolProtocolClassFQNParserRuleCall_3_0_1()); } - ruleFQN{ after(grammarAccess.getSAPRefAccess().getProtocolProtocolClassFQNParserRuleCall_3_0_1()); } -) -{ after(grammarAccess.getSAPRefAccess().getProtocolProtocolClassCrossReference_3_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__SPPRef__NameAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSPPRefAccess().getNameIDTerminalRuleCall_1_0()); } - RULE_ID{ after(grammarAccess.getSPPRefAccess().getNameIDTerminalRuleCall_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__SPPRef__ProtocolAssignment_3 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSPPRefAccess().getProtocolProtocolClassCrossReference_3_0()); } -( -{ before(grammarAccess.getSPPRefAccess().getProtocolProtocolClassFQNParserRuleCall_3_0_1()); } - ruleFQN{ after(grammarAccess.getSPPRefAccess().getProtocolProtocolClassFQNParserRuleCall_3_0_1()); } -) -{ after(grammarAccess.getSPPRefAccess().getProtocolProtocolClassCrossReference_3_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ServiceImplementation__SppAssignment_2 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getServiceImplementationAccess().getSppSPPRefCrossReference_2_0()); } -( -{ before(grammarAccess.getServiceImplementationAccess().getSppSPPRefIDTerminalRuleCall_2_0_1()); } - RULE_ID{ after(grammarAccess.getServiceImplementationAccess().getSppSPPRefIDTerminalRuleCall_2_0_1()); } -) -{ after(grammarAccess.getServiceImplementationAccess().getSppSPPRefCrossReference_2_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__LogicalSystem__NameAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getLogicalSystemAccess().getNameIDTerminalRuleCall_1_0()); } - RULE_ID{ after(grammarAccess.getLogicalSystemAccess().getNameIDTerminalRuleCall_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__LogicalSystem__SubSystemsAssignment_3 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getLogicalSystemAccess().getSubSystemsSubSystemRefParserRuleCall_3_0()); } - ruleSubSystemRef{ after(grammarAccess.getLogicalSystemAccess().getSubSystemsSubSystemRefParserRuleCall_3_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__LogicalSystem__BindingsAssignment_4 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getLogicalSystemAccess().getBindingsBindingParserRuleCall_4_0()); } - ruleBinding{ after(grammarAccess.getLogicalSystemAccess().getBindingsBindingParserRuleCall_4_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__LogicalSystem__ConnectionsAssignment_5 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getLogicalSystemAccess().getConnectionsLayerConnectionParserRuleCall_5_0()); } - ruleLayerConnection{ after(grammarAccess.getLogicalSystemAccess().getConnectionsLayerConnectionParserRuleCall_5_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__SubSystemRef__NameAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSubSystemRefAccess().getNameIDTerminalRuleCall_1_0()); } - RULE_ID{ after(grammarAccess.getSubSystemRefAccess().getNameIDTerminalRuleCall_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__SubSystemRef__TypeAssignment_3 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSubSystemRefAccess().getTypeSubSystemClassCrossReference_3_0()); } -( -{ before(grammarAccess.getSubSystemRefAccess().getTypeSubSystemClassFQNParserRuleCall_3_0_1()); } - ruleFQN{ after(grammarAccess.getSubSystemRefAccess().getTypeSubSystemClassFQNParserRuleCall_3_0_1()); } -) -{ after(grammarAccess.getSubSystemRefAccess().getTypeSubSystemClassCrossReference_3_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__SubSystemClass__NameAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSubSystemClassAccess().getNameIDTerminalRuleCall_1_0()); } - RULE_ID{ after(grammarAccess.getSubSystemClassAccess().getNameIDTerminalRuleCall_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__SubSystemClass__RelayPortsAssignment_3 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSubSystemClassAccess().getRelayPortsPortParserRuleCall_3_0()); } - rulePort{ after(grammarAccess.getSubSystemClassAccess().getRelayPortsPortParserRuleCall_3_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__SubSystemClass__IfSPPsAssignment_4 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSubSystemClassAccess().getIfSPPsSPPRefParserRuleCall_4_0()); } - ruleSPPRef{ after(grammarAccess.getSubSystemClassAccess().getIfSPPsSPPRefParserRuleCall_4_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__SubSystemClass__ActorRefsAssignment_5 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSubSystemClassAccess().getActorRefsActorRefParserRuleCall_5_0()); } - ruleActorRef{ after(grammarAccess.getSubSystemClassAccess().getActorRefsActorRefParserRuleCall_5_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__SubSystemClass__BindingsAssignment_6 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSubSystemClassAccess().getBindingsBindingParserRuleCall_6_0()); } - ruleBinding{ after(grammarAccess.getSubSystemClassAccess().getBindingsBindingParserRuleCall_6_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__SubSystemClass__ConnectionsAssignment_7 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSubSystemClassAccess().getConnectionsLayerConnectionParserRuleCall_7_0()); } - ruleLayerConnection{ after(grammarAccess.getSubSystemClassAccess().getConnectionsLayerConnectionParserRuleCall_7_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__SubSystemClass__ThreadsAssignment_8 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSubSystemClassAccess().getThreadsLogicalThreadParserRuleCall_8_0()); } - ruleLogicalThread{ after(grammarAccess.getSubSystemClassAccess().getThreadsLogicalThreadParserRuleCall_8_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__LogicalThread__NameAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getLogicalThreadAccess().getNameIDTerminalRuleCall_1_0()); } - RULE_ID{ after(grammarAccess.getLogicalThreadAccess().getNameIDTerminalRuleCall_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__LogicalThread__InstancesAssignment_3 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getLogicalThreadAccess().getInstancesActorInstancePathParserRuleCall_3_0()); } - ruleActorInstancePath{ after(grammarAccess.getLogicalThreadAccess().getInstancesActorInstancePathParserRuleCall_3_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__LogicalThread__InstancesAssignment_4_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getLogicalThreadAccess().getInstancesActorInstancePathParserRuleCall_4_1_0()); } - ruleActorInstancePath{ after(grammarAccess.getLogicalThreadAccess().getInstancesActorInstancePathParserRuleCall_4_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorInstancePath__SegmentsAssignment_0 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorInstancePathAccess().getSegmentsIDTerminalRuleCall_0_0()); } - RULE_ID{ after(grammarAccess.getActorInstancePathAccess().getSegmentsIDTerminalRuleCall_0_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorInstancePath__SegmentsAssignment_1_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorInstancePathAccess().getSegmentsIDTerminalRuleCall_1_1_0()); } - RULE_ID{ after(grammarAccess.getActorInstancePathAccess().getSegmentsIDTerminalRuleCall_1_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__Binding__Endpoint1Assignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getBindingAccess().getEndpoint1BindingEndPointParserRuleCall_1_0()); } - ruleBindingEndPoint{ after(grammarAccess.getBindingAccess().getEndpoint1BindingEndPointParserRuleCall_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__Binding__Endpoint2Assignment_3 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getBindingAccess().getEndpoint2BindingEndPointParserRuleCall_3_0()); } - ruleBindingEndPoint{ after(grammarAccess.getBindingAccess().getEndpoint2BindingEndPointParserRuleCall_3_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__BindingEndPoint__ActorRefAssignment_0_0 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getBindingEndPointAccess().getActorRefActorContainerRefCrossReference_0_0_0()); } -( -{ before(grammarAccess.getBindingEndPointAccess().getActorRefActorContainerRefIDTerminalRuleCall_0_0_0_1()); } - RULE_ID{ after(grammarAccess.getBindingEndPointAccess().getActorRefActorContainerRefIDTerminalRuleCall_0_0_0_1()); } -) -{ after(grammarAccess.getBindingEndPointAccess().getActorRefActorContainerRefCrossReference_0_0_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__BindingEndPoint__PortAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getBindingEndPointAccess().getPortPortCrossReference_1_0()); } -( -{ before(grammarAccess.getBindingEndPointAccess().getPortPortIDTerminalRuleCall_1_0_1()); } - RULE_ID{ after(grammarAccess.getBindingEndPointAccess().getPortPortIDTerminalRuleCall_1_0_1()); } -) -{ after(grammarAccess.getBindingEndPointAccess().getPortPortCrossReference_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__LayerConnection__FromAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getLayerConnectionAccess().getFromSAPointParserRuleCall_1_0()); } - ruleSAPoint{ after(grammarAccess.getLayerConnectionAccess().getFromSAPointParserRuleCall_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__LayerConnection__ToAssignment_3 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getLayerConnectionAccess().getToSPPointParserRuleCall_3_0()); } - ruleSPPoint{ after(grammarAccess.getLayerConnectionAccess().getToSPPointParserRuleCall_3_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__RefSAPoint__RefAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRefSAPointAccess().getRefActorContainerRefCrossReference_1_0()); } -( -{ before(grammarAccess.getRefSAPointAccess().getRefActorContainerRefIDTerminalRuleCall_1_0_1()); } - RULE_ID{ after(grammarAccess.getRefSAPointAccess().getRefActorContainerRefIDTerminalRuleCall_1_0_1()); } -) -{ after(grammarAccess.getRefSAPointAccess().getRefActorContainerRefCrossReference_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__RelaySAPoint__RelayAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRelaySAPointAccess().getRelaySPPRefCrossReference_1_0()); } -( -{ before(grammarAccess.getRelaySAPointAccess().getRelaySPPRefIDTerminalRuleCall_1_0_1()); } - RULE_ID{ after(grammarAccess.getRelaySAPointAccess().getRelaySPPRefIDTerminalRuleCall_1_0_1()); } -) -{ after(grammarAccess.getRelaySAPointAccess().getRelaySPPRefCrossReference_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__SPPoint__RefAssignment_0 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSPPointAccess().getRefActorContainerRefCrossReference_0_0()); } -( -{ before(grammarAccess.getSPPointAccess().getRefActorContainerRefIDTerminalRuleCall_0_0_1()); } - RULE_ID{ after(grammarAccess.getSPPointAccess().getRefActorContainerRefIDTerminalRuleCall_0_0_1()); } -) -{ after(grammarAccess.getSPPointAccess().getRefActorContainerRefCrossReference_0_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__SPPoint__ServiceAssignment_2 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSPPointAccess().getServiceSPPRefCrossReference_2_0()); } -( -{ before(grammarAccess.getSPPointAccess().getServiceSPPRefIDTerminalRuleCall_2_0_1()); } - RULE_ID{ after(grammarAccess.getSPPointAccess().getServiceSPPRefIDTerminalRuleCall_2_0_1()); } -) -{ after(grammarAccess.getSPPointAccess().getServiceSPPRefCrossReference_2_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorRef__NameAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorRefAccess().getNameIDTerminalRuleCall_1_0()); } - RULE_ID{ after(grammarAccess.getActorRefAccess().getNameIDTerminalRuleCall_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ActorRef__TypeAssignment_3 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getActorRefAccess().getTypeActorClassCrossReference_3_0()); } -( -{ before(grammarAccess.getActorRefAccess().getTypeActorClassFQNParserRuleCall_3_0_1()); } - ruleFQN{ after(grammarAccess.getActorRefAccess().getTypeActorClassFQNParserRuleCall_3_0_1()); } -) -{ after(grammarAccess.getActorRefAccess().getTypeActorClassCrossReference_3_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__StateGraph__StatesAssignment_1_0 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getStateGraphAccess().getStatesStateParserRuleCall_1_0_0()); } - ruleState{ after(grammarAccess.getStateGraphAccess().getStatesStateParserRuleCall_1_0_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__StateGraph__TrPointsAssignment_1_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getStateGraphAccess().getTrPointsTrPointParserRuleCall_1_1_0()); } - ruleTrPoint{ after(grammarAccess.getStateGraphAccess().getTrPointsTrPointParserRuleCall_1_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__StateGraph__ChPointsAssignment_1_2 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getStateGraphAccess().getChPointsChoicePointParserRuleCall_1_2_0()); } - ruleChoicePoint{ after(grammarAccess.getStateGraphAccess().getChPointsChoicePointParserRuleCall_1_2_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__StateGraph__TransitionsAssignment_1_3 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getStateGraphAccess().getTransitionsTransitionParserRuleCall_1_3_0()); } - ruleTransition{ after(grammarAccess.getStateGraphAccess().getTransitionsTransitionParserRuleCall_1_3_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__StateMachine__StatesAssignment_2_0 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getStateMachineAccess().getStatesStateParserRuleCall_2_0_0()); } - ruleState{ after(grammarAccess.getStateMachineAccess().getStatesStateParserRuleCall_2_0_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__StateMachine__TrPointsAssignment_2_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getStateMachineAccess().getTrPointsTrPointParserRuleCall_2_1_0()); } - ruleTrPoint{ after(grammarAccess.getStateMachineAccess().getTrPointsTrPointParserRuleCall_2_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__StateMachine__ChPointsAssignment_2_2 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getStateMachineAccess().getChPointsChoicePointParserRuleCall_2_2_0()); } - ruleChoicePoint{ after(grammarAccess.getStateMachineAccess().getChPointsChoicePointParserRuleCall_2_2_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__StateMachine__TransitionsAssignment_2_3 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getStateMachineAccess().getTransitionsTransitionParserRuleCall_2_3_0()); } - ruleTransition{ after(grammarAccess.getStateMachineAccess().getTransitionsTransitionParserRuleCall_2_3_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__BaseState__NameAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getBaseStateAccess().getNameIDTerminalRuleCall_1_0()); } - RULE_ID{ after(grammarAccess.getBaseStateAccess().getNameIDTerminalRuleCall_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__BaseState__EntryCodeAssignment_3_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getBaseStateAccess().getEntryCodeDetailCodeParserRuleCall_3_1_0()); } - ruleDetailCode{ after(grammarAccess.getBaseStateAccess().getEntryCodeDetailCodeParserRuleCall_3_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__BaseState__ExitCodeAssignment_4_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getBaseStateAccess().getExitCodeDetailCodeParserRuleCall_4_1_0()); } - ruleDetailCode{ after(grammarAccess.getBaseStateAccess().getExitCodeDetailCodeParserRuleCall_4_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__BaseState__SubgraphAssignment_5_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getBaseStateAccess().getSubgraphStateGraphParserRuleCall_5_1_0()); } - ruleStateGraph{ after(grammarAccess.getBaseStateAccess().getSubgraphStateGraphParserRuleCall_5_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__RefinedState__BaseAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRefinedStateAccess().getBaseBaseStateCrossReference_1_0()); } -( -{ before(grammarAccess.getRefinedStateAccess().getBaseBaseStateFQNParserRuleCall_1_0_1()); } - ruleFQN{ after(grammarAccess.getRefinedStateAccess().getBaseBaseStateFQNParserRuleCall_1_0_1()); } -) -{ after(grammarAccess.getRefinedStateAccess().getBaseBaseStateCrossReference_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__RefinedState__EntryCodeAssignment_3_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRefinedStateAccess().getEntryCodeDetailCodeParserRuleCall_3_1_0()); } - ruleDetailCode{ after(grammarAccess.getRefinedStateAccess().getEntryCodeDetailCodeParserRuleCall_3_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__RefinedState__ExitCodeAssignment_4_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRefinedStateAccess().getExitCodeDetailCodeParserRuleCall_4_1_0()); } - ruleDetailCode{ after(grammarAccess.getRefinedStateAccess().getExitCodeDetailCodeParserRuleCall_4_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__RefinedState__SubgraphAssignment_5_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getRefinedStateAccess().getSubgraphStateGraphParserRuleCall_5_1_0()); } - ruleStateGraph{ after(grammarAccess.getRefinedStateAccess().getSubgraphStateGraphParserRuleCall_5_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__DetailCode__CommandsAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getDetailCodeAccess().getCommandsSTRINGTerminalRuleCall_1_0()); } - RULE_STRING{ after(grammarAccess.getDetailCodeAccess().getCommandsSTRINGTerminalRuleCall_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__TransitionPoint__HandlerAssignment_0 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTransitionPointAccess().getHandlerHandlerKeyword_0_0()); } -( -{ before(grammarAccess.getTransitionPointAccess().getHandlerHandlerKeyword_0_0()); } - - 'handler' - -{ after(grammarAccess.getTransitionPointAccess().getHandlerHandlerKeyword_0_0()); } -) - -{ after(grammarAccess.getTransitionPointAccess().getHandlerHandlerKeyword_0_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__TransitionPoint__NameAssignment_2 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTransitionPointAccess().getNameIDTerminalRuleCall_2_0()); } - RULE_ID{ after(grammarAccess.getTransitionPointAccess().getNameIDTerminalRuleCall_2_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__EntryPoint__NameAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getEntryPointAccess().getNameIDTerminalRuleCall_1_0()); } - RULE_ID{ after(grammarAccess.getEntryPointAccess().getNameIDTerminalRuleCall_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ExitPoint__NameAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getExitPointAccess().getNameIDTerminalRuleCall_1_0()); } - RULE_ID{ after(grammarAccess.getExitPointAccess().getNameIDTerminalRuleCall_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ChoicePoint__NameAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getChoicePointAccess().getNameIDTerminalRuleCall_1_0()); } - RULE_ID{ after(grammarAccess.getChoicePointAccess().getNameIDTerminalRuleCall_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__InitialTransition__NameAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getInitialTransitionAccess().getNameIDTerminalRuleCall_1_0()); } - RULE_ID{ after(grammarAccess.getInitialTransitionAccess().getNameIDTerminalRuleCall_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__InitialTransition__ToAssignment_5 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getInitialTransitionAccess().getToTransitionTerminalParserRuleCall_5_0()); } - ruleTransitionTerminal{ after(grammarAccess.getInitialTransitionAccess().getToTransitionTerminalParserRuleCall_5_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__InitialTransition__ActionAssignment_7_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getInitialTransitionAccess().getActionDetailCodeParserRuleCall_7_1_0()); } - ruleDetailCode{ after(grammarAccess.getInitialTransitionAccess().getActionDetailCodeParserRuleCall_7_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ContinuationTransition__NameAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getContinuationTransitionAccess().getNameIDTerminalRuleCall_1_0()); } - RULE_ID{ after(grammarAccess.getContinuationTransitionAccess().getNameIDTerminalRuleCall_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ContinuationTransition__FromAssignment_3 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getContinuationTransitionAccess().getFromTransitionTerminalParserRuleCall_3_0()); } - ruleTransitionTerminal{ after(grammarAccess.getContinuationTransitionAccess().getFromTransitionTerminalParserRuleCall_3_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ContinuationTransition__ToAssignment_5 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getContinuationTransitionAccess().getToTransitionTerminalParserRuleCall_5_0()); } - ruleTransitionTerminal{ after(grammarAccess.getContinuationTransitionAccess().getToTransitionTerminalParserRuleCall_5_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ContinuationTransition__ActionAssignment_7_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getContinuationTransitionAccess().getActionDetailCodeParserRuleCall_7_1_0()); } - ruleDetailCode{ after(grammarAccess.getContinuationTransitionAccess().getActionDetailCodeParserRuleCall_7_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__TriggeredTransition__NameAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggeredTransitionAccess().getNameIDTerminalRuleCall_1_0()); } - RULE_ID{ after(grammarAccess.getTriggeredTransitionAccess().getNameIDTerminalRuleCall_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__TriggeredTransition__FromAssignment_3 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggeredTransitionAccess().getFromTransitionTerminalParserRuleCall_3_0()); } - ruleTransitionTerminal{ after(grammarAccess.getTriggeredTransitionAccess().getFromTransitionTerminalParserRuleCall_3_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__TriggeredTransition__ToAssignment_5 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggeredTransitionAccess().getToTransitionTerminalParserRuleCall_5_0()); } - ruleTransitionTerminal{ after(grammarAccess.getTriggeredTransitionAccess().getToTransitionTerminalParserRuleCall_5_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__TriggeredTransition__TriggersAssignment_9 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggeredTransitionAccess().getTriggersTriggerParserRuleCall_9_0()); } - ruleTrigger{ after(grammarAccess.getTriggeredTransitionAccess().getTriggersTriggerParserRuleCall_9_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__TriggeredTransition__TriggersAssignment_10_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggeredTransitionAccess().getTriggersTriggerParserRuleCall_10_1_0()); } - ruleTrigger{ after(grammarAccess.getTriggeredTransitionAccess().getTriggersTriggerParserRuleCall_10_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__TriggeredTransition__ActionAssignment_12_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggeredTransitionAccess().getActionDetailCodeParserRuleCall_12_1_0()); } - ruleDetailCode{ after(grammarAccess.getTriggeredTransitionAccess().getActionDetailCodeParserRuleCall_12_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__CPBranchTransition__NameAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getCPBranchTransitionAccess().getNameIDTerminalRuleCall_1_0()); } - RULE_ID{ after(grammarAccess.getCPBranchTransitionAccess().getNameIDTerminalRuleCall_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__CPBranchTransition__FromAssignment_3 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getCPBranchTransitionAccess().getFromTransitionTerminalParserRuleCall_3_0()); } - ruleTransitionTerminal{ after(grammarAccess.getCPBranchTransitionAccess().getFromTransitionTerminalParserRuleCall_3_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__CPBranchTransition__ToAssignment_5 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getCPBranchTransitionAccess().getToTransitionTerminalParserRuleCall_5_0()); } - ruleTransitionTerminal{ after(grammarAccess.getCPBranchTransitionAccess().getToTransitionTerminalParserRuleCall_5_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__CPBranchTransition__ConditionAssignment_8 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getCPBranchTransitionAccess().getConditionDetailCodeParserRuleCall_8_0()); } - ruleDetailCode{ after(grammarAccess.getCPBranchTransitionAccess().getConditionDetailCodeParserRuleCall_8_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__CPBranchTransition__ActionAssignment_9_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getCPBranchTransitionAccess().getActionDetailCodeParserRuleCall_9_1_0()); } - ruleDetailCode{ after(grammarAccess.getCPBranchTransitionAccess().getActionDetailCodeParserRuleCall_9_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__StateTerminal__StateAssignment - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getStateTerminalAccess().getStateBaseStateCrossReference_0()); } -( -{ before(grammarAccess.getStateTerminalAccess().getStateBaseStateIDTerminalRuleCall_0_1()); } - RULE_ID{ after(grammarAccess.getStateTerminalAccess().getStateBaseStateIDTerminalRuleCall_0_1()); } -) -{ after(grammarAccess.getStateTerminalAccess().getStateBaseStateCrossReference_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__TrPointTerminal__TrPointAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTrPointTerminalAccess().getTrPointTrPointCrossReference_1_0()); } -( -{ before(grammarAccess.getTrPointTerminalAccess().getTrPointTrPointIDTerminalRuleCall_1_0_1()); } - RULE_ID{ after(grammarAccess.getTrPointTerminalAccess().getTrPointTrPointIDTerminalRuleCall_1_0_1()); } -) -{ after(grammarAccess.getTrPointTerminalAccess().getTrPointTrPointCrossReference_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__SubStateTrPointTerminal__TrPointAssignment_0 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSubStateTrPointTerminalAccess().getTrPointTrPointCrossReference_0_0()); } -( -{ before(grammarAccess.getSubStateTrPointTerminalAccess().getTrPointTrPointIDTerminalRuleCall_0_0_1()); } - RULE_ID{ after(grammarAccess.getSubStateTrPointTerminalAccess().getTrPointTrPointIDTerminalRuleCall_0_0_1()); } -) -{ after(grammarAccess.getSubStateTrPointTerminalAccess().getTrPointTrPointCrossReference_0_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__SubStateTrPointTerminal__StateAssignment_2 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getSubStateTrPointTerminalAccess().getStateBaseStateCrossReference_2_0()); } -( -{ before(grammarAccess.getSubStateTrPointTerminalAccess().getStateBaseStateIDTerminalRuleCall_2_0_1()); } - RULE_ID{ after(grammarAccess.getSubStateTrPointTerminalAccess().getStateBaseStateIDTerminalRuleCall_2_0_1()); } -) -{ after(grammarAccess.getSubStateTrPointTerminalAccess().getStateBaseStateCrossReference_2_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__ChoicepointTerminal__CpAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getChoicepointTerminalAccess().getCpChoicePointCrossReference_1_0()); } -( -{ before(grammarAccess.getChoicepointTerminalAccess().getCpChoicePointIDTerminalRuleCall_1_0_1()); } - RULE_ID{ after(grammarAccess.getChoicepointTerminalAccess().getCpChoicePointIDTerminalRuleCall_1_0_1()); } -) -{ after(grammarAccess.getChoicepointTerminalAccess().getCpChoicePointCrossReference_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__Trigger__MsgFromIfPairsAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggerAccess().getMsgFromIfPairsMessageFromIfParserRuleCall_1_0()); } - ruleMessageFromIf{ after(grammarAccess.getTriggerAccess().getMsgFromIfPairsMessageFromIfParserRuleCall_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__Trigger__MsgFromIfPairsAssignment_2_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggerAccess().getMsgFromIfPairsMessageFromIfParserRuleCall_2_1_0()); } - ruleMessageFromIf{ after(grammarAccess.getTriggerAccess().getMsgFromIfPairsMessageFromIfParserRuleCall_2_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__Trigger__GuardAssignment_3 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getTriggerAccess().getGuardGuardParserRuleCall_3_0()); } - ruleGuard{ after(grammarAccess.getTriggerAccess().getGuardGuardParserRuleCall_3_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__MessageFromIf__MessageAssignment_0 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getMessageFromIfAccess().getMessageMessageCrossReference_0_0()); } -( -{ before(grammarAccess.getMessageFromIfAccess().getMessageMessageIDTerminalRuleCall_0_0_1()); } - RULE_ID{ after(grammarAccess.getMessageFromIfAccess().getMessageMessageIDTerminalRuleCall_0_0_1()); } -) -{ after(grammarAccess.getMessageFromIfAccess().getMessageMessageCrossReference_0_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__MessageFromIf__FromAssignment_2 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getMessageFromIfAccess().getFromInterfaceItemCrossReference_2_0()); } -( -{ before(grammarAccess.getMessageFromIfAccess().getFromInterfaceItemIDTerminalRuleCall_2_0_1()); } - RULE_ID{ after(grammarAccess.getMessageFromIfAccess().getFromInterfaceItemIDTerminalRuleCall_2_0_1()); } -) -{ after(grammarAccess.getMessageFromIfAccess().getFromInterfaceItemCrossReference_2_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__Guard__GuardAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getGuardAccess().getGuardDetailCodeParserRuleCall_1_0()); } - ruleDetailCode{ after(grammarAccess.getGuardAccess().getGuardDetailCodeParserRuleCall_1_0()); } -) - -; -finally { - restoreStackSize(stackSize); -} - -rule__Import__ImportedNamespaceAssignment_1 - @init { - int stackSize = keepStackSize(); - } -: -( -{ before(grammarAccess.getImportAccess().getImportedNamespaceImportedFQNParserRuleCall_1_0()); } - ruleImportedFQN{ after(grammarAccess.getImportAccess().getImportedNamespaceImportedFQNParserRuleCall_1_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 : .; - - +/*
+* generated by Xtext
+*/
+grammar InternalRoom;
+
+options {
+ superClass=AbstractInternalContentAssistParser;
+
+}
+
+@lexer::header {
+package org.eclipse.etrice.core.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.core.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.xtext.parsetree.*;
+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.core.services.RoomGrammarAccess;
+
+}
+
+@parser::members {
+
+ private RoomGrammarAccess grammarAccess;
+
+ public void setGrammarAccess(RoomGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+
+ @Override
+ protected Grammar getGrammar() {
+ return grammarAccess.getGrammar();
+ }
+
+ @Override
+ protected String getValueForTokenName(String tokenName) {
+ return tokenName;
+ }
+
+}
+
+
+
+
+// Entry rule entryRuleRoomModel
+entryRuleRoomModel
+:
+{ before(grammarAccess.getRoomModelRule()); }
+ ruleRoomModel
+{ after(grammarAccess.getRoomModelRule()); }
+ EOF
+;
+
+// Rule RoomModel
+ruleRoomModel
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getRoomModelAccess().getGroup()); }
+(rule__RoomModel__Group__0)
+{ after(grammarAccess.getRoomModelAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+// Entry rule entryRuleStructureClass
+entryRuleStructureClass
+:
+{ before(grammarAccess.getStructureClassRule()); }
+ ruleStructureClass
+{ after(grammarAccess.getStructureClassRule()); }
+ EOF
+;
+
+// Rule StructureClass
+ruleStructureClass
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getStructureClassAccess().getAlternatives()); }
+(rule__StructureClass__Alternatives)
+{ after(grammarAccess.getStructureClassAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleActorContainerClass
+entryRuleActorContainerClass
+:
+{ before(grammarAccess.getActorContainerClassRule()); }
+ ruleActorContainerClass
+{ after(grammarAccess.getActorContainerClassRule()); }
+ EOF
+;
+
+// Rule ActorContainerClass
+ruleActorContainerClass
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getActorContainerClassAccess().getAlternatives()); }
+(rule__ActorContainerClass__Alternatives)
+{ after(grammarAccess.getActorContainerClassAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleTypedID
+entryRuleTypedID
+:
+{ before(grammarAccess.getTypedIDRule()); }
+ ruleTypedID
+{ after(grammarAccess.getTypedIDRule()); }
+ EOF
+;
+
+// Rule TypedID
+ruleTypedID
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getTypedIDAccess().getGroup()); }
+(rule__TypedID__Group__0)
+{ after(grammarAccess.getTypedIDAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleFreeTypedID
+entryRuleFreeTypedID
+:
+{ before(grammarAccess.getFreeTypedIDRule()); }
+ ruleFreeTypedID
+{ after(grammarAccess.getFreeTypedIDRule()); }
+ EOF
+;
+
+// Rule FreeTypedID
+ruleFreeTypedID
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getFreeTypedIDAccess().getGroup()); }
+(rule__FreeTypedID__Group__0)
+{ after(grammarAccess.getFreeTypedIDAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleType
+entryRuleType
+:
+{ before(grammarAccess.getTypeRule()); }
+ ruleType
+{ after(grammarAccess.getTypeRule()); }
+ EOF
+;
+
+// Rule Type
+ruleType
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getTypeAccess().getAlternatives()); }
+(rule__Type__Alternatives)
+{ after(grammarAccess.getTypeAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleFreeType
+entryRuleFreeType
+:
+{ before(grammarAccess.getFreeTypeRule()); }
+ ruleFreeType
+{ after(grammarAccess.getFreeTypeRule()); }
+ EOF
+;
+
+// Rule FreeType
+ruleFreeType
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getFreeTypeAccess().getAlternatives()); }
+(rule__FreeType__Alternatives)
+{ after(grammarAccess.getFreeTypeAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleDataClass
+entryRuleDataClass
+:
+{ before(grammarAccess.getDataClassRule()); }
+ ruleDataClass
+{ after(grammarAccess.getDataClassRule()); }
+ EOF
+;
+
+// Rule DataClass
+ruleDataClass
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getDataClassAccess().getGroup()); }
+(rule__DataClass__Group__0)
+{ after(grammarAccess.getDataClassAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleAttribute
+entryRuleAttribute
+:
+{ before(grammarAccess.getAttributeRule()); }
+ ruleAttribute
+{ after(grammarAccess.getAttributeRule()); }
+ EOF
+;
+
+// Rule Attribute
+ruleAttribute
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getAttributeAccess().getGroup()); }
+(rule__Attribute__Group__0)
+{ after(grammarAccess.getAttributeAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleOperation
+entryRuleOperation
+:
+{ before(grammarAccess.getOperationRule()); }
+ ruleOperation
+{ after(grammarAccess.getOperationRule()); }
+ EOF
+;
+
+// Rule Operation
+ruleOperation
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getOperationAccess().getGroup()); }
+(rule__Operation__Group__0)
+{ after(grammarAccess.getOperationAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleProtocolClass
+entryRuleProtocolClass
+:
+{ before(grammarAccess.getProtocolClassRule()); }
+ ruleProtocolClass
+{ after(grammarAccess.getProtocolClassRule()); }
+ EOF
+;
+
+// Rule ProtocolClass
+ruleProtocolClass
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getProtocolClassAccess().getGroup()); }
+(rule__ProtocolClass__Group__0)
+{ after(grammarAccess.getProtocolClassAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleMessage
+entryRuleMessage
+:
+{ before(grammarAccess.getMessageRule()); }
+ ruleMessage
+{ after(grammarAccess.getMessageRule()); }
+ EOF
+;
+
+// Rule Message
+ruleMessage
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getMessageAccess().getGroup()); }
+(rule__Message__Group__0)
+{ after(grammarAccess.getMessageAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePortClass
+entryRulePortClass
+:
+{ before(grammarAccess.getPortClassRule()); }
+ rulePortClass
+{ after(grammarAccess.getPortClassRule()); }
+ EOF
+;
+
+// Rule PortClass
+rulePortClass
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getPortClassAccess().getGroup()); }
+(rule__PortClass__Group__0)
+{ after(grammarAccess.getPortClassAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleMessageHandler
+entryRuleMessageHandler
+:
+{ before(grammarAccess.getMessageHandlerRule()); }
+ ruleMessageHandler
+{ after(grammarAccess.getMessageHandlerRule()); }
+ EOF
+;
+
+// Rule MessageHandler
+ruleMessageHandler
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getMessageHandlerAccess().getGroup()); }
+(rule__MessageHandler__Group__0)
+{ after(grammarAccess.getMessageHandlerAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleProtocolSemantics
+entryRuleProtocolSemantics
+:
+{ before(grammarAccess.getProtocolSemanticsRule()); }
+ ruleProtocolSemantics
+{ after(grammarAccess.getProtocolSemanticsRule()); }
+ EOF
+;
+
+// Rule ProtocolSemantics
+ruleProtocolSemantics
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getProtocolSemanticsAccess().getGroup()); }
+(rule__ProtocolSemantics__Group__0)
+{ after(grammarAccess.getProtocolSemanticsAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleSemanticsRule
+entryRuleSemanticsRule
+:
+{ before(grammarAccess.getSemanticsRuleRule()); }
+ ruleSemanticsRule
+{ after(grammarAccess.getSemanticsRuleRule()); }
+ EOF
+;
+
+// Rule SemanticsRule
+ruleSemanticsRule
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getSemanticsRuleAccess().getAlternatives()); }
+(rule__SemanticsRule__Alternatives)
+{ after(grammarAccess.getSemanticsRuleAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleSemanticsInRule
+entryRuleSemanticsInRule
+:
+{ before(grammarAccess.getSemanticsInRuleRule()); }
+ ruleSemanticsInRule
+{ after(grammarAccess.getSemanticsInRuleRule()); }
+ EOF
+;
+
+// Rule SemanticsInRule
+ruleSemanticsInRule
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getSemanticsInRuleAccess().getGroup()); }
+(rule__SemanticsInRule__Group__0)
+{ after(grammarAccess.getSemanticsInRuleAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleSemanticsOutRule
+entryRuleSemanticsOutRule
+:
+{ before(grammarAccess.getSemanticsOutRuleRule()); }
+ ruleSemanticsOutRule
+{ after(grammarAccess.getSemanticsOutRuleRule()); }
+ EOF
+;
+
+// Rule SemanticsOutRule
+ruleSemanticsOutRule
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getSemanticsOutRuleAccess().getGroup()); }
+(rule__SemanticsOutRule__Group__0)
+{ after(grammarAccess.getSemanticsOutRuleAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleActorClass
+entryRuleActorClass
+:
+{ before(grammarAccess.getActorClassRule()); }
+ ruleActorClass
+{ after(grammarAccess.getActorClassRule()); }
+ EOF
+;
+
+// Rule ActorClass
+ruleActorClass
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getActorClassAccess().getGroup()); }
+(rule__ActorClass__Group__0)
+{ after(grammarAccess.getActorClassAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+// Entry rule entryRulePort
+entryRulePort
+:
+{ before(grammarAccess.getPortRule()); }
+ rulePort
+{ after(grammarAccess.getPortRule()); }
+ EOF
+;
+
+// Rule Port
+rulePort
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getPortAccess().getGroup()); }
+(rule__Port__Group__0)
+{ after(grammarAccess.getPortAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleExternalPort
+entryRuleExternalPort
+:
+{ before(grammarAccess.getExternalPortRule()); }
+ ruleExternalPort
+{ after(grammarAccess.getExternalPortRule()); }
+ EOF
+;
+
+// Rule ExternalPort
+ruleExternalPort
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getExternalPortAccess().getGroup()); }
+(rule__ExternalPort__Group__0)
+{ after(grammarAccess.getExternalPortAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleSAPRef
+entryRuleSAPRef
+:
+{ before(grammarAccess.getSAPRefRule()); }
+ ruleSAPRef
+{ after(grammarAccess.getSAPRefRule()); }
+ EOF
+;
+
+// Rule SAPRef
+ruleSAPRef
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getSAPRefAccess().getGroup()); }
+(rule__SAPRef__Group__0)
+{ after(grammarAccess.getSAPRefAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleSPPRef
+entryRuleSPPRef
+:
+{ before(grammarAccess.getSPPRefRule()); }
+ ruleSPPRef
+{ after(grammarAccess.getSPPRefRule()); }
+ EOF
+;
+
+// Rule SPPRef
+ruleSPPRef
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getSPPRefAccess().getGroup()); }
+(rule__SPPRef__Group__0)
+{ after(grammarAccess.getSPPRefAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleServiceImplementation
+entryRuleServiceImplementation
+:
+{ before(grammarAccess.getServiceImplementationRule()); }
+ ruleServiceImplementation
+{ after(grammarAccess.getServiceImplementationRule()); }
+ EOF
+;
+
+// Rule ServiceImplementation
+ruleServiceImplementation
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getServiceImplementationAccess().getGroup()); }
+(rule__ServiceImplementation__Group__0)
+{ after(grammarAccess.getServiceImplementationAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleLogicalSystem
+entryRuleLogicalSystem
+:
+{ before(grammarAccess.getLogicalSystemRule()); }
+ ruleLogicalSystem
+{ after(grammarAccess.getLogicalSystemRule()); }
+ EOF
+;
+
+// Rule LogicalSystem
+ruleLogicalSystem
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getLogicalSystemAccess().getGroup()); }
+(rule__LogicalSystem__Group__0)
+{ after(grammarAccess.getLogicalSystemAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+// Entry rule entryRuleSubSystemRef
+entryRuleSubSystemRef
+:
+{ before(grammarAccess.getSubSystemRefRule()); }
+ ruleSubSystemRef
+{ after(grammarAccess.getSubSystemRefRule()); }
+ EOF
+;
+
+// Rule SubSystemRef
+ruleSubSystemRef
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getSubSystemRefAccess().getGroup()); }
+(rule__SubSystemRef__Group__0)
+{ after(grammarAccess.getSubSystemRefAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleSubSystemClass
+entryRuleSubSystemClass
+:
+{ before(grammarAccess.getSubSystemClassRule()); }
+ ruleSubSystemClass
+{ after(grammarAccess.getSubSystemClassRule()); }
+ EOF
+;
+
+// Rule SubSystemClass
+ruleSubSystemClass
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getSubSystemClassAccess().getGroup()); }
+(rule__SubSystemClass__Group__0)
+{ after(grammarAccess.getSubSystemClassAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleLogicalThread
+entryRuleLogicalThread
+:
+{ before(grammarAccess.getLogicalThreadRule()); }
+ ruleLogicalThread
+{ after(grammarAccess.getLogicalThreadRule()); }
+ EOF
+;
+
+// Rule LogicalThread
+ruleLogicalThread
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getLogicalThreadAccess().getGroup()); }
+(rule__LogicalThread__Group__0)
+{ after(grammarAccess.getLogicalThreadAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleActorInstancePath
+entryRuleActorInstancePath
+:
+{ before(grammarAccess.getActorInstancePathRule()); }
+ ruleActorInstancePath
+{ after(grammarAccess.getActorInstancePathRule()); }
+ EOF
+;
+
+// Rule ActorInstancePath
+ruleActorInstancePath
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getActorInstancePathAccess().getGroup()); }
+(rule__ActorInstancePath__Group__0)
+{ after(grammarAccess.getActorInstancePathAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleBinding
+entryRuleBinding
+:
+{ before(grammarAccess.getBindingRule()); }
+ ruleBinding
+{ after(grammarAccess.getBindingRule()); }
+ EOF
+;
+
+// Rule Binding
+ruleBinding
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getBindingAccess().getGroup()); }
+(rule__Binding__Group__0)
+{ after(grammarAccess.getBindingAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleBindingEndPoint
+entryRuleBindingEndPoint
+:
+{ before(grammarAccess.getBindingEndPointRule()); }
+ ruleBindingEndPoint
+{ after(grammarAccess.getBindingEndPointRule()); }
+ EOF
+;
+
+// Rule BindingEndPoint
+ruleBindingEndPoint
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getBindingEndPointAccess().getGroup()); }
+(rule__BindingEndPoint__Group__0)
+{ after(grammarAccess.getBindingEndPointAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleLayerConnection
+entryRuleLayerConnection
+:
+{ before(grammarAccess.getLayerConnectionRule()); }
+ ruleLayerConnection
+{ after(grammarAccess.getLayerConnectionRule()); }
+ EOF
+;
+
+// Rule LayerConnection
+ruleLayerConnection
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getLayerConnectionAccess().getGroup()); }
+(rule__LayerConnection__Group__0)
+{ after(grammarAccess.getLayerConnectionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleSAPoint
+entryRuleSAPoint
+:
+{ before(grammarAccess.getSAPointRule()); }
+ ruleSAPoint
+{ after(grammarAccess.getSAPointRule()); }
+ EOF
+;
+
+// Rule SAPoint
+ruleSAPoint
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getSAPointAccess().getAlternatives()); }
+(rule__SAPoint__Alternatives)
+{ after(grammarAccess.getSAPointAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleRefSAPoint
+entryRuleRefSAPoint
+:
+{ before(grammarAccess.getRefSAPointRule()); }
+ ruleRefSAPoint
+{ after(grammarAccess.getRefSAPointRule()); }
+ EOF
+;
+
+// Rule RefSAPoint
+ruleRefSAPoint
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getRefSAPointAccess().getGroup()); }
+(rule__RefSAPoint__Group__0)
+{ after(grammarAccess.getRefSAPointAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleRelaySAPoint
+entryRuleRelaySAPoint
+:
+{ before(grammarAccess.getRelaySAPointRule()); }
+ ruleRelaySAPoint
+{ after(grammarAccess.getRelaySAPointRule()); }
+ EOF
+;
+
+// Rule RelaySAPoint
+ruleRelaySAPoint
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getRelaySAPointAccess().getGroup()); }
+(rule__RelaySAPoint__Group__0)
+{ after(grammarAccess.getRelaySAPointAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleSPPoint
+entryRuleSPPoint
+:
+{ before(grammarAccess.getSPPointRule()); }
+ ruleSPPoint
+{ after(grammarAccess.getSPPointRule()); }
+ EOF
+;
+
+// Rule SPPoint
+ruleSPPoint
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getSPPointAccess().getGroup()); }
+(rule__SPPoint__Group__0)
+{ after(grammarAccess.getSPPointAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleActorRef
+entryRuleActorRef
+:
+{ before(grammarAccess.getActorRefRule()); }
+ ruleActorRef
+{ after(grammarAccess.getActorRefRule()); }
+ EOF
+;
+
+// Rule ActorRef
+ruleActorRef
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getActorRefAccess().getGroup()); }
+(rule__ActorRef__Group__0)
+{ after(grammarAccess.getActorRefAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleStateGraphNode
+entryRuleStateGraphNode
+:
+{ before(grammarAccess.getStateGraphNodeRule()); }
+ ruleStateGraphNode
+{ after(grammarAccess.getStateGraphNodeRule()); }
+ EOF
+;
+
+// Rule StateGraphNode
+ruleStateGraphNode
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getStateGraphNodeAccess().getAlternatives()); }
+(rule__StateGraphNode__Alternatives)
+{ after(grammarAccess.getStateGraphNodeAccess().getAlternatives()); }
+)
+
+;
+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().getAlternatives()); }
+(rule__State__Alternatives)
+{ after(grammarAccess.getStateAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleStateGraph
+entryRuleStateGraph
+:
+{ before(grammarAccess.getStateGraphRule()); }
+ ruleStateGraph
+{ after(grammarAccess.getStateGraphRule()); }
+ EOF
+;
+
+// Rule StateGraph
+ruleStateGraph
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getStateGraphAccess().getGroup()); }
+(rule__StateGraph__Group__0)
+{ after(grammarAccess.getStateGraphAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleStateMachine
+entryRuleStateMachine
+:
+{ before(grammarAccess.getStateMachineRule()); }
+ ruleStateMachine
+{ after(grammarAccess.getStateMachineRule()); }
+ EOF
+;
+
+// Rule StateMachine
+ruleStateMachine
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getStateMachineAccess().getGroup()); }
+(rule__StateMachine__Group__0)
+{ after(grammarAccess.getStateMachineAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleBaseState
+entryRuleBaseState
+:
+{ before(grammarAccess.getBaseStateRule()); }
+ ruleBaseState
+{ after(grammarAccess.getBaseStateRule()); }
+ EOF
+;
+
+// Rule BaseState
+ruleBaseState
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getBaseStateAccess().getGroup()); }
+(rule__BaseState__Group__0)
+{ after(grammarAccess.getBaseStateAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleRefinedState
+entryRuleRefinedState
+:
+{ before(grammarAccess.getRefinedStateRule()); }
+ ruleRefinedState
+{ after(grammarAccess.getRefinedStateRule()); }
+ EOF
+;
+
+// Rule RefinedState
+ruleRefinedState
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getRefinedStateAccess().getGroup()); }
+(rule__RefinedState__Group__0)
+{ after(grammarAccess.getRefinedStateAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleDetailCode
+entryRuleDetailCode
+:
+{ before(grammarAccess.getDetailCodeRule()); }
+ ruleDetailCode
+{ after(grammarAccess.getDetailCodeRule()); }
+ EOF
+;
+
+// Rule DetailCode
+ruleDetailCode
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getDetailCodeAccess().getGroup()); }
+(rule__DetailCode__Group__0)
+{ after(grammarAccess.getDetailCodeAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleTrPoint
+entryRuleTrPoint
+:
+{ before(grammarAccess.getTrPointRule()); }
+ ruleTrPoint
+{ after(grammarAccess.getTrPointRule()); }
+ EOF
+;
+
+// Rule TrPoint
+ruleTrPoint
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getTrPointAccess().getAlternatives()); }
+(rule__TrPoint__Alternatives)
+{ after(grammarAccess.getTrPointAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleTransitionPoint
+entryRuleTransitionPoint
+:
+{ before(grammarAccess.getTransitionPointRule()); }
+ ruleTransitionPoint
+{ after(grammarAccess.getTransitionPointRule()); }
+ EOF
+;
+
+// Rule TransitionPoint
+ruleTransitionPoint
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getTransitionPointAccess().getGroup()); }
+(rule__TransitionPoint__Group__0)
+{ after(grammarAccess.getTransitionPointAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEntryPoint
+entryRuleEntryPoint
+:
+{ before(grammarAccess.getEntryPointRule()); }
+ ruleEntryPoint
+{ after(grammarAccess.getEntryPointRule()); }
+ EOF
+;
+
+// Rule EntryPoint
+ruleEntryPoint
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getEntryPointAccess().getGroup()); }
+(rule__EntryPoint__Group__0)
+{ after(grammarAccess.getEntryPointAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleExitPoint
+entryRuleExitPoint
+:
+{ before(grammarAccess.getExitPointRule()); }
+ ruleExitPoint
+{ after(grammarAccess.getExitPointRule()); }
+ EOF
+;
+
+// Rule ExitPoint
+ruleExitPoint
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getExitPointAccess().getGroup()); }
+(rule__ExitPoint__Group__0)
+{ after(grammarAccess.getExitPointAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleChoicePoint
+entryRuleChoicePoint
+:
+{ before(grammarAccess.getChoicePointRule()); }
+ ruleChoicePoint
+{ after(grammarAccess.getChoicePointRule()); }
+ EOF
+;
+
+// Rule ChoicePoint
+ruleChoicePoint
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getChoicePointAccess().getGroup()); }
+(rule__ChoicePoint__Group__0)
+{ after(grammarAccess.getChoicePointAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleTransition
+entryRuleTransition
+:
+{ before(grammarAccess.getTransitionRule()); }
+ ruleTransition
+{ after(grammarAccess.getTransitionRule()); }
+ EOF
+;
+
+// Rule Transition
+ruleTransition
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getTransitionAccess().getAlternatives()); }
+(rule__Transition__Alternatives)
+{ after(grammarAccess.getTransitionAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleNonInitialTransition
+entryRuleNonInitialTransition
+:
+{ before(grammarAccess.getNonInitialTransitionRule()); }
+ ruleNonInitialTransition
+{ after(grammarAccess.getNonInitialTransitionRule()); }
+ EOF
+;
+
+// Rule NonInitialTransition
+ruleNonInitialTransition
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getNonInitialTransitionAccess().getAlternatives()); }
+(rule__NonInitialTransition__Alternatives)
+{ after(grammarAccess.getNonInitialTransitionAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleInitialTransition
+entryRuleInitialTransition
+:
+{ before(grammarAccess.getInitialTransitionRule()); }
+ ruleInitialTransition
+{ after(grammarAccess.getInitialTransitionRule()); }
+ EOF
+;
+
+// Rule InitialTransition
+ruleInitialTransition
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getInitialTransitionAccess().getGroup()); }
+(rule__InitialTransition__Group__0)
+{ after(grammarAccess.getInitialTransitionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleContinuationTransition
+entryRuleContinuationTransition
+:
+{ before(grammarAccess.getContinuationTransitionRule()); }
+ ruleContinuationTransition
+{ after(grammarAccess.getContinuationTransitionRule()); }
+ EOF
+;
+
+// Rule ContinuationTransition
+ruleContinuationTransition
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getContinuationTransitionAccess().getGroup()); }
+(rule__ContinuationTransition__Group__0)
+{ after(grammarAccess.getContinuationTransitionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleTriggeredTransition
+entryRuleTriggeredTransition
+:
+{ before(grammarAccess.getTriggeredTransitionRule()); }
+ ruleTriggeredTransition
+{ after(grammarAccess.getTriggeredTransitionRule()); }
+ EOF
+;
+
+// Rule TriggeredTransition
+ruleTriggeredTransition
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getTriggeredTransitionAccess().getGroup()); }
+(rule__TriggeredTransition__Group__0)
+{ after(grammarAccess.getTriggeredTransitionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleCPBranchTransition
+entryRuleCPBranchTransition
+:
+{ before(grammarAccess.getCPBranchTransitionRule()); }
+ ruleCPBranchTransition
+{ after(grammarAccess.getCPBranchTransitionRule()); }
+ EOF
+;
+
+// Rule CPBranchTransition
+ruleCPBranchTransition
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getCPBranchTransitionAccess().getGroup()); }
+(rule__CPBranchTransition__Group__0)
+{ after(grammarAccess.getCPBranchTransitionAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleTransitionTerminal
+entryRuleTransitionTerminal
+:
+{ before(grammarAccess.getTransitionTerminalRule()); }
+ ruleTransitionTerminal
+{ after(grammarAccess.getTransitionTerminalRule()); }
+ EOF
+;
+
+// Rule TransitionTerminal
+ruleTransitionTerminal
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getTransitionTerminalAccess().getAlternatives()); }
+(rule__TransitionTerminal__Alternatives)
+{ after(grammarAccess.getTransitionTerminalAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleStateTerminal
+entryRuleStateTerminal
+:
+{ before(grammarAccess.getStateTerminalRule()); }
+ ruleStateTerminal
+{ after(grammarAccess.getStateTerminalRule()); }
+ EOF
+;
+
+// Rule StateTerminal
+ruleStateTerminal
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getStateTerminalAccess().getStateAssignment()); }
+(rule__StateTerminal__StateAssignment)
+{ after(grammarAccess.getStateTerminalAccess().getStateAssignment()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleTrPointTerminal
+entryRuleTrPointTerminal
+:
+{ before(grammarAccess.getTrPointTerminalRule()); }
+ ruleTrPointTerminal
+{ after(grammarAccess.getTrPointTerminalRule()); }
+ EOF
+;
+
+// Rule TrPointTerminal
+ruleTrPointTerminal
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getTrPointTerminalAccess().getGroup()); }
+(rule__TrPointTerminal__Group__0)
+{ after(grammarAccess.getTrPointTerminalAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleSubStateTrPointTerminal
+entryRuleSubStateTrPointTerminal
+:
+{ before(grammarAccess.getSubStateTrPointTerminalRule()); }
+ ruleSubStateTrPointTerminal
+{ after(grammarAccess.getSubStateTrPointTerminalRule()); }
+ EOF
+;
+
+// Rule SubStateTrPointTerminal
+ruleSubStateTrPointTerminal
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getSubStateTrPointTerminalAccess().getGroup()); }
+(rule__SubStateTrPointTerminal__Group__0)
+{ after(grammarAccess.getSubStateTrPointTerminalAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleChoicepointTerminal
+entryRuleChoicepointTerminal
+:
+{ before(grammarAccess.getChoicepointTerminalRule()); }
+ ruleChoicepointTerminal
+{ after(grammarAccess.getChoicepointTerminalRule()); }
+ EOF
+;
+
+// Rule ChoicepointTerminal
+ruleChoicepointTerminal
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getChoicepointTerminalAccess().getGroup()); }
+(rule__ChoicepointTerminal__Group__0)
+{ after(grammarAccess.getChoicepointTerminalAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleTrigger
+entryRuleTrigger
+:
+{ before(grammarAccess.getTriggerRule()); }
+ ruleTrigger
+{ after(grammarAccess.getTriggerRule()); }
+ EOF
+;
+
+// Rule Trigger
+ruleTrigger
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getTriggerAccess().getGroup()); }
+(rule__Trigger__Group__0)
+{ after(grammarAccess.getTriggerAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleMessageFromIf
+entryRuleMessageFromIf
+:
+{ before(grammarAccess.getMessageFromIfRule()); }
+ ruleMessageFromIf
+{ after(grammarAccess.getMessageFromIfRule()); }
+ EOF
+;
+
+// Rule MessageFromIf
+ruleMessageFromIf
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getMessageFromIfAccess().getGroup()); }
+(rule__MessageFromIf__Group__0)
+{ after(grammarAccess.getMessageFromIfAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleGuard
+entryRuleGuard
+:
+{ before(grammarAccess.getGuardRule()); }
+ ruleGuard
+{ after(grammarAccess.getGuardRule()); }
+ EOF
+;
+
+// Rule Guard
+ruleGuard
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getGuardAccess().getGroup()); }
+(rule__Guard__Group__0)
+{ after(grammarAccess.getGuardAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleImport
+entryRuleImport
+:
+{ before(grammarAccess.getImportRule()); }
+ ruleImport
+{ after(grammarAccess.getImportRule()); }
+ EOF
+;
+
+// Rule Import
+ruleImport
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getImportAccess().getGroup()); }
+(rule__Import__Group__0)
+{ after(grammarAccess.getImportAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleImportedFQN
+entryRuleImportedFQN
+:
+{ before(grammarAccess.getImportedFQNRule()); }
+ ruleImportedFQN
+{ after(grammarAccess.getImportedFQNRule()); }
+ EOF
+;
+
+// Rule ImportedFQN
+ruleImportedFQN
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getImportedFQNAccess().getGroup()); }
+(rule__ImportedFQN__Group__0)
+{ after(grammarAccess.getImportedFQNAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleFQN
+entryRuleFQN
+:
+{ before(grammarAccess.getFQNRule()); }
+ ruleFQN
+{ after(grammarAccess.getFQNRule()); }
+ EOF
+;
+
+// Rule FQN
+ruleFQN
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getFQNAccess().getGroup()); }
+(rule__FQN__Group__0)
+{ after(grammarAccess.getFQNAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+// Rule PrimitiveType
+rulePrimitiveType
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimitiveTypeAccess().getAlternatives()); }
+(rule__PrimitiveType__Alternatives)
+{ after(grammarAccess.getPrimitiveTypeAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+rule__RoomModel__Alternatives_4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRoomModelAccess().getDataClassesAssignment_4_0()); }
+(rule__RoomModel__DataClassesAssignment_4_0)
+{ after(grammarAccess.getRoomModelAccess().getDataClassesAssignment_4_0()); }
+)
+
+ |(
+{ before(grammarAccess.getRoomModelAccess().getProtocolClassesAssignment_4_1()); }
+(rule__RoomModel__ProtocolClassesAssignment_4_1)
+{ after(grammarAccess.getRoomModelAccess().getProtocolClassesAssignment_4_1()); }
+)
+
+ |(
+{ before(grammarAccess.getRoomModelAccess().getActorClassesAssignment_4_2()); }
+(rule__RoomModel__ActorClassesAssignment_4_2)
+{ after(grammarAccess.getRoomModelAccess().getActorClassesAssignment_4_2()); }
+)
+
+ |(
+{ before(grammarAccess.getRoomModelAccess().getSubSystemClassesAssignment_4_3()); }
+(rule__RoomModel__SubSystemClassesAssignment_4_3)
+{ after(grammarAccess.getRoomModelAccess().getSubSystemClassesAssignment_4_3()); }
+)
+
+ |(
+{ before(grammarAccess.getRoomModelAccess().getSystemsAssignment_4_4()); }
+(rule__RoomModel__SystemsAssignment_4_4)
+{ after(grammarAccess.getRoomModelAccess().getSystemsAssignment_4_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__StructureClass__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStructureClassAccess().getActorContainerClassParserRuleCall_0()); }
+ ruleActorContainerClass
+{ after(grammarAccess.getStructureClassAccess().getActorContainerClassParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getStructureClassAccess().getLogicalSystemParserRuleCall_1()); }
+ ruleLogicalSystem
+{ after(grammarAccess.getStructureClassAccess().getLogicalSystemParserRuleCall_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorContainerClass__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorContainerClassAccess().getActorClassParserRuleCall_0()); }
+ ruleActorClass
+{ after(grammarAccess.getActorContainerClassAccess().getActorClassParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getActorContainerClassAccess().getSubSystemClassParserRuleCall_1()); }
+ ruleSubSystemClass
+{ after(grammarAccess.getActorContainerClassAccess().getSubSystemClassParserRuleCall_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Type__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTypeAccess().getPrimAssignment_0()); }
+(rule__Type__PrimAssignment_0)
+{ after(grammarAccess.getTypeAccess().getPrimAssignment_0()); }
+)
+
+ |(
+{ before(grammarAccess.getTypeAccess().getTypeAssignment_1()); }
+(rule__Type__TypeAssignment_1)
+{ after(grammarAccess.getTypeAccess().getTypeAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FreeType__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFreeTypeAccess().getPrimAssignment_0()); }
+(rule__FreeType__PrimAssignment_0)
+{ after(grammarAccess.getFreeTypeAccess().getPrimAssignment_0()); }
+)
+
+ |(
+{ before(grammarAccess.getFreeTypeAccess().getTypeAssignment_1()); }
+(rule__FreeType__TypeAssignment_1)
+{ after(grammarAccess.getFreeTypeAccess().getTypeAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PortClass__Alternatives_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortClassAccess().getAttributesAssignment_2_0()); }
+(rule__PortClass__AttributesAssignment_2_0)
+{ after(grammarAccess.getPortClassAccess().getAttributesAssignment_2_0()); }
+)
+
+ |(
+{ before(grammarAccess.getPortClassAccess().getOperationsAssignment_2_1()); }
+(rule__PortClass__OperationsAssignment_2_1)
+{ after(grammarAccess.getPortClassAccess().getOperationsAssignment_2_1()); }
+)
+
+ |(
+{ before(grammarAccess.getPortClassAccess().getMsgHandlersAssignment_2_2()); }
+(rule__PortClass__MsgHandlersAssignment_2_2)
+{ after(grammarAccess.getPortClassAccess().getMsgHandlersAssignment_2_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SemanticsRule__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSemanticsRuleAccess().getSemanticsInRuleParserRuleCall_0()); }
+ ruleSemanticsInRule
+{ after(grammarAccess.getSemanticsRuleAccess().getSemanticsInRuleParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getSemanticsRuleAccess().getSemanticsOutRuleParserRuleCall_1()); }
+ ruleSemanticsOutRule
+{ after(grammarAccess.getSemanticsRuleAccess().getSemanticsOutRuleParserRuleCall_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Alternatives_6_4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getIntPortsAssignment_6_4_0()); }
+(rule__ActorClass__IntPortsAssignment_6_4_0)
+{ after(grammarAccess.getActorClassAccess().getIntPortsAssignment_6_4_0()); }
+)
+
+ |(
+{ before(grammarAccess.getActorClassAccess().getExtPortsAssignment_6_4_1()); }
+(rule__ActorClass__ExtPortsAssignment_6_4_1)
+{ after(grammarAccess.getActorClassAccess().getExtPortsAssignment_6_4_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+rule__SAPoint__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSAPointAccess().getRefSAPointParserRuleCall_0()); }
+ ruleRefSAPoint
+{ after(grammarAccess.getSAPointAccess().getRefSAPointParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getSAPointAccess().getRelaySAPointParserRuleCall_1()); }
+ ruleRelaySAPoint
+{ after(grammarAccess.getSAPointAccess().getRelaySAPointParserRuleCall_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StateGraphNode__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStateGraphNodeAccess().getStateParserRuleCall_0()); }
+ ruleState
+{ after(grammarAccess.getStateGraphNodeAccess().getStateParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getStateGraphNodeAccess().getChoicePointParserRuleCall_1()); }
+ ruleChoicePoint
+{ after(grammarAccess.getStateGraphNodeAccess().getChoicePointParserRuleCall_1()); }
+)
+
+ |(
+{ before(grammarAccess.getStateGraphNodeAccess().getTrPointParserRuleCall_2()); }
+ ruleTrPoint
+{ after(grammarAccess.getStateGraphNodeAccess().getTrPointParserRuleCall_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__State__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStateAccess().getBaseStateParserRuleCall_0()); }
+ ruleBaseState
+{ after(grammarAccess.getStateAccess().getBaseStateParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getStateAccess().getRefinedStateParserRuleCall_1()); }
+ ruleRefinedState
+{ after(grammarAccess.getStateAccess().getRefinedStateParserRuleCall_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StateGraph__Alternatives_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStateGraphAccess().getStatesAssignment_1_0()); }
+(rule__StateGraph__StatesAssignment_1_0)
+{ after(grammarAccess.getStateGraphAccess().getStatesAssignment_1_0()); }
+)
+
+ |(
+{ before(grammarAccess.getStateGraphAccess().getTrPointsAssignment_1_1()); }
+(rule__StateGraph__TrPointsAssignment_1_1)
+{ after(grammarAccess.getStateGraphAccess().getTrPointsAssignment_1_1()); }
+)
+
+ |(
+{ before(grammarAccess.getStateGraphAccess().getChPointsAssignment_1_2()); }
+(rule__StateGraph__ChPointsAssignment_1_2)
+{ after(grammarAccess.getStateGraphAccess().getChPointsAssignment_1_2()); }
+)
+
+ |(
+{ before(grammarAccess.getStateGraphAccess().getTransitionsAssignment_1_3()); }
+(rule__StateGraph__TransitionsAssignment_1_3)
+{ after(grammarAccess.getStateGraphAccess().getTransitionsAssignment_1_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StateMachine__Alternatives_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStateMachineAccess().getStatesAssignment_2_0()); }
+(rule__StateMachine__StatesAssignment_2_0)
+{ after(grammarAccess.getStateMachineAccess().getStatesAssignment_2_0()); }
+)
+
+ |(
+{ before(grammarAccess.getStateMachineAccess().getTrPointsAssignment_2_1()); }
+(rule__StateMachine__TrPointsAssignment_2_1)
+{ after(grammarAccess.getStateMachineAccess().getTrPointsAssignment_2_1()); }
+)
+
+ |(
+{ before(grammarAccess.getStateMachineAccess().getChPointsAssignment_2_2()); }
+(rule__StateMachine__ChPointsAssignment_2_2)
+{ after(grammarAccess.getStateMachineAccess().getChPointsAssignment_2_2()); }
+)
+
+ |(
+{ before(grammarAccess.getStateMachineAccess().getTransitionsAssignment_2_3()); }
+(rule__StateMachine__TransitionsAssignment_2_3)
+{ after(grammarAccess.getStateMachineAccess().getTransitionsAssignment_2_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TrPoint__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTrPointAccess().getTransitionPointParserRuleCall_0()); }
+ ruleTransitionPoint
+{ after(grammarAccess.getTrPointAccess().getTransitionPointParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getTrPointAccess().getEntryPointParserRuleCall_1()); }
+ ruleEntryPoint
+{ after(grammarAccess.getTrPointAccess().getEntryPointParserRuleCall_1()); }
+)
+
+ |(
+{ before(grammarAccess.getTrPointAccess().getExitPointParserRuleCall_2()); }
+ ruleExitPoint
+{ after(grammarAccess.getTrPointAccess().getExitPointParserRuleCall_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Transition__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransitionAccess().getInitialTransitionParserRuleCall_0()); }
+ ruleInitialTransition
+{ after(grammarAccess.getTransitionAccess().getInitialTransitionParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getTransitionAccess().getNonInitialTransitionParserRuleCall_1()); }
+ ruleNonInitialTransition
+{ after(grammarAccess.getTransitionAccess().getNonInitialTransitionParserRuleCall_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__NonInitialTransition__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getNonInitialTransitionAccess().getTriggeredTransitionParserRuleCall_0()); }
+ ruleTriggeredTransition
+{ after(grammarAccess.getNonInitialTransitionAccess().getTriggeredTransitionParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getNonInitialTransitionAccess().getContinuationTransitionParserRuleCall_1()); }
+ ruleContinuationTransition
+{ after(grammarAccess.getNonInitialTransitionAccess().getContinuationTransitionParserRuleCall_1()); }
+)
+
+ |(
+{ before(grammarAccess.getNonInitialTransitionAccess().getCPBranchTransitionParserRuleCall_2()); }
+ ruleCPBranchTransition
+{ after(grammarAccess.getNonInitialTransitionAccess().getCPBranchTransitionParserRuleCall_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransitionTerminal__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransitionTerminalAccess().getStateTerminalParserRuleCall_0()); }
+ ruleStateTerminal
+{ after(grammarAccess.getTransitionTerminalAccess().getStateTerminalParserRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getTransitionTerminalAccess().getTrPointTerminalParserRuleCall_1()); }
+ ruleTrPointTerminal
+{ after(grammarAccess.getTransitionTerminalAccess().getTrPointTerminalParserRuleCall_1()); }
+)
+
+ |(
+{ before(grammarAccess.getTransitionTerminalAccess().getSubStateTrPointTerminalParserRuleCall_2()); }
+ ruleSubStateTrPointTerminal
+{ after(grammarAccess.getTransitionTerminalAccess().getSubStateTrPointTerminalParserRuleCall_2()); }
+)
+
+ |(
+{ before(grammarAccess.getTransitionTerminalAccess().getChoicepointTerminalParserRuleCall_3()); }
+ ruleChoicepointTerminal
+{ after(grammarAccess.getTransitionTerminalAccess().getChoicepointTerminalParserRuleCall_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PrimitiveType__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPrimitiveTypeAccess().getVoidEnumLiteralDeclaration_0()); }
+( 'void'
+)
+{ after(grammarAccess.getPrimitiveTypeAccess().getVoidEnumLiteralDeclaration_0()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveTypeAccess().getInt8EnumLiteralDeclaration_1()); }
+( 'int8'
+)
+{ after(grammarAccess.getPrimitiveTypeAccess().getInt8EnumLiteralDeclaration_1()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveTypeAccess().getInt16EnumLiteralDeclaration_2()); }
+( 'int16'
+)
+{ after(grammarAccess.getPrimitiveTypeAccess().getInt16EnumLiteralDeclaration_2()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveTypeAccess().getInt32EnumLiteralDeclaration_3()); }
+( 'int32'
+)
+{ after(grammarAccess.getPrimitiveTypeAccess().getInt32EnumLiteralDeclaration_3()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveTypeAccess().getUint8EnumLiteralDeclaration_4()); }
+( 'uint8'
+)
+{ after(grammarAccess.getPrimitiveTypeAccess().getUint8EnumLiteralDeclaration_4()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveTypeAccess().getUint16EnumLiteralDeclaration_5()); }
+( 'uint16'
+)
+{ after(grammarAccess.getPrimitiveTypeAccess().getUint16EnumLiteralDeclaration_5()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveTypeAccess().getUint32EnumLiteralDeclaration_6()); }
+( 'uint32'
+)
+{ after(grammarAccess.getPrimitiveTypeAccess().getUint32EnumLiteralDeclaration_6()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveTypeAccess().getFloat32EnumLiteralDeclaration_7()); }
+( 'float32'
+)
+{ after(grammarAccess.getPrimitiveTypeAccess().getFloat32EnumLiteralDeclaration_7()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveTypeAccess().getFloat64EnumLiteralDeclaration_8()); }
+( 'float64'
+)
+{ after(grammarAccess.getPrimitiveTypeAccess().getFloat64EnumLiteralDeclaration_8()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveTypeAccess().getBooleanEnumLiteralDeclaration_9()); }
+( 'boolean'
+)
+{ after(grammarAccess.getPrimitiveTypeAccess().getBooleanEnumLiteralDeclaration_9()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveTypeAccess().getStringEnumLiteralDeclaration_10()); }
+( 'string'
+)
+{ after(grammarAccess.getPrimitiveTypeAccess().getStringEnumLiteralDeclaration_10()); }
+)
+
+ |(
+{ before(grammarAccess.getPrimitiveTypeAccess().getCharEnumLiteralDeclaration_11()); }
+( 'char'
+)
+{ after(grammarAccess.getPrimitiveTypeAccess().getCharEnumLiteralDeclaration_11()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+rule__RoomModel__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RoomModel__Group__0__Impl
+ rule__RoomModel__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RoomModel__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRoomModelAccess().getRoomModelKeyword_0()); }
+
+ 'RoomModel'
+
+{ after(grammarAccess.getRoomModelAccess().getRoomModelKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RoomModel__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RoomModel__Group__1__Impl
+ rule__RoomModel__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RoomModel__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRoomModelAccess().getNameAssignment_1()); }
+(rule__RoomModel__NameAssignment_1)
+{ after(grammarAccess.getRoomModelAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RoomModel__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RoomModel__Group__2__Impl
+ rule__RoomModel__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RoomModel__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRoomModelAccess().getLeftCurlyBracketKeyword_2()); }
+
+ '{'
+
+{ after(grammarAccess.getRoomModelAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RoomModel__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RoomModel__Group__3__Impl
+ rule__RoomModel__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RoomModel__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRoomModelAccess().getImportsAssignment_3()); }
+(rule__RoomModel__ImportsAssignment_3)*
+{ after(grammarAccess.getRoomModelAccess().getImportsAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RoomModel__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RoomModel__Group__4__Impl
+ rule__RoomModel__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RoomModel__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+(
+{ before(grammarAccess.getRoomModelAccess().getAlternatives_4()); }
+(rule__RoomModel__Alternatives_4)
+{ after(grammarAccess.getRoomModelAccess().getAlternatives_4()); }
+)
+(
+{ before(grammarAccess.getRoomModelAccess().getAlternatives_4()); }
+(rule__RoomModel__Alternatives_4)*
+{ after(grammarAccess.getRoomModelAccess().getAlternatives_4()); }
+)
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RoomModel__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RoomModel__Group__5__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RoomModel__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRoomModelAccess().getRightCurlyBracketKeyword_5()); }
+
+ '}'
+
+{ after(grammarAccess.getRoomModelAccess().getRightCurlyBracketKeyword_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__TypedID__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TypedID__Group__0__Impl
+ rule__TypedID__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TypedID__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTypedIDAccess().getNameAssignment_0()); }
+(rule__TypedID__NameAssignment_0)
+{ after(grammarAccess.getTypedIDAccess().getNameAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TypedID__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TypedID__Group__1__Impl
+ rule__TypedID__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TypedID__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTypedIDAccess().getColonKeyword_1()); }
+
+ ':'
+
+{ after(grammarAccess.getTypedIDAccess().getColonKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TypedID__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TypedID__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TypedID__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTypedIDAccess().getTypeAssignment_2()); }
+(rule__TypedID__TypeAssignment_2)
+{ after(grammarAccess.getTypedIDAccess().getTypeAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__FreeTypedID__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FreeTypedID__Group__0__Impl
+ rule__FreeTypedID__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FreeTypedID__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFreeTypedIDAccess().getNameAssignment_0()); }
+(rule__FreeTypedID__NameAssignment_0)
+{ after(grammarAccess.getFreeTypedIDAccess().getNameAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__FreeTypedID__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FreeTypedID__Group__1__Impl
+ rule__FreeTypedID__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FreeTypedID__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFreeTypedIDAccess().getColonKeyword_1()); }
+
+ ':'
+
+{ after(grammarAccess.getFreeTypedIDAccess().getColonKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__FreeTypedID__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FreeTypedID__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FreeTypedID__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFreeTypedIDAccess().getTypeAssignment_2()); }
+(rule__FreeTypedID__TypeAssignment_2)
+{ after(grammarAccess.getFreeTypedIDAccess().getTypeAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__DataClass__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DataClass__Group__0__Impl
+ rule__DataClass__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DataClass__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDataClassAccess().getDataClassKeyword_0()); }
+
+ 'DataClass'
+
+{ after(grammarAccess.getDataClassAccess().getDataClassKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__DataClass__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DataClass__Group__1__Impl
+ rule__DataClass__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DataClass__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDataClassAccess().getNameAssignment_1()); }
+(rule__DataClass__NameAssignment_1)
+{ after(grammarAccess.getDataClassAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__DataClass__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DataClass__Group__2__Impl
+ rule__DataClass__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DataClass__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDataClassAccess().getGroup_2()); }
+(rule__DataClass__Group_2__0)?
+{ after(grammarAccess.getDataClassAccess().getGroup_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__DataClass__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DataClass__Group__3__Impl
+ rule__DataClass__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DataClass__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDataClassAccess().getLeftCurlyBracketKeyword_3()); }
+
+ '{'
+
+{ after(grammarAccess.getDataClassAccess().getLeftCurlyBracketKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__DataClass__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DataClass__Group__4__Impl
+ rule__DataClass__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DataClass__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDataClassAccess().getImportsAssignment_4()); }
+(rule__DataClass__ImportsAssignment_4)*
+{ after(grammarAccess.getDataClassAccess().getImportsAssignment_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__DataClass__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DataClass__Group__5__Impl
+ rule__DataClass__Group__6
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DataClass__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+(
+{ before(grammarAccess.getDataClassAccess().getAttributesAssignment_5()); }
+(rule__DataClass__AttributesAssignment_5)
+{ after(grammarAccess.getDataClassAccess().getAttributesAssignment_5()); }
+)
+(
+{ before(grammarAccess.getDataClassAccess().getAttributesAssignment_5()); }
+(rule__DataClass__AttributesAssignment_5)*
+{ after(grammarAccess.getDataClassAccess().getAttributesAssignment_5()); }
+)
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__DataClass__Group__6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DataClass__Group__6__Impl
+ rule__DataClass__Group__7
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DataClass__Group__6__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDataClassAccess().getOperationsAssignment_6()); }
+(rule__DataClass__OperationsAssignment_6)*
+{ after(grammarAccess.getDataClassAccess().getOperationsAssignment_6()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__DataClass__Group__7
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DataClass__Group__7__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DataClass__Group__7__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDataClassAccess().getRightCurlyBracketKeyword_7()); }
+
+ '}'
+
+{ after(grammarAccess.getDataClassAccess().getRightCurlyBracketKeyword_7()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__DataClass__Group_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DataClass__Group_2__0__Impl
+ rule__DataClass__Group_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DataClass__Group_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDataClassAccess().getExtendsKeyword_2_0()); }
+
+ 'extends'
+
+{ after(grammarAccess.getDataClassAccess().getExtendsKeyword_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__DataClass__Group_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DataClass__Group_2__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DataClass__Group_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDataClassAccess().getBaseAssignment_2_1()); }
+(rule__DataClass__BaseAssignment_2_1)
+{ after(grammarAccess.getDataClassAccess().getBaseAssignment_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Attribute__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Attribute__Group__0__Impl
+ rule__Attribute__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Attribute__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getAttributeAccess().getAttributeKeyword_0()); }
+
+ 'Attribute'
+
+{ after(grammarAccess.getAttributeAccess().getAttributeKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Attribute__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Attribute__Group__1__Impl
+ rule__Attribute__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Attribute__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getAttributeAccess().getNameAssignment_1()); }
+(rule__Attribute__NameAssignment_1)
+{ after(grammarAccess.getAttributeAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Attribute__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Attribute__Group__2__Impl
+ rule__Attribute__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Attribute__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getAttributeAccess().getGroup_2()); }
+(rule__Attribute__Group_2__0)?
+{ after(grammarAccess.getAttributeAccess().getGroup_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Attribute__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Attribute__Group__3__Impl
+ rule__Attribute__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Attribute__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getAttributeAccess().getColonKeyword_3()); }
+
+ ':'
+
+{ after(grammarAccess.getAttributeAccess().getColonKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Attribute__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Attribute__Group__4__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Attribute__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getAttributeAccess().getTypeAssignment_4()); }
+(rule__Attribute__TypeAssignment_4)
+{ after(grammarAccess.getAttributeAccess().getTypeAssignment_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__Attribute__Group_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Attribute__Group_2__0__Impl
+ rule__Attribute__Group_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Attribute__Group_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getAttributeAccess().getLeftSquareBracketKeyword_2_0()); }
+
+ '['
+
+{ after(grammarAccess.getAttributeAccess().getLeftSquareBracketKeyword_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Attribute__Group_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Attribute__Group_2__1__Impl
+ rule__Attribute__Group_2__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Attribute__Group_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getAttributeAccess().getSizeAssignment_2_1()); }
+(rule__Attribute__SizeAssignment_2_1)
+{ after(grammarAccess.getAttributeAccess().getSizeAssignment_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Attribute__Group_2__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Attribute__Group_2__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Attribute__Group_2__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getAttributeAccess().getRightSquareBracketKeyword_2_2()); }
+
+ ']'
+
+{ after(grammarAccess.getAttributeAccess().getRightSquareBracketKeyword_2_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__Operation__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Operation__Group__0__Impl
+ rule__Operation__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Operation__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOperationAccess().getOperationKeyword_0()); }
+
+ 'Operation'
+
+{ after(grammarAccess.getOperationAccess().getOperationKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Operation__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Operation__Group__1__Impl
+ rule__Operation__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Operation__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOperationAccess().getNameAssignment_1()); }
+(rule__Operation__NameAssignment_1)
+{ after(grammarAccess.getOperationAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Operation__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Operation__Group__2__Impl
+ rule__Operation__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Operation__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOperationAccess().getLeftParenthesisKeyword_2()); }
+
+ '('
+
+{ after(grammarAccess.getOperationAccess().getLeftParenthesisKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Operation__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Operation__Group__3__Impl
+ rule__Operation__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Operation__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOperationAccess().getGroup_3()); }
+(rule__Operation__Group_3__0)?
+{ after(grammarAccess.getOperationAccess().getGroup_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Operation__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Operation__Group__4__Impl
+ rule__Operation__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Operation__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOperationAccess().getRightParenthesisKeyword_4()); }
+
+ ')'
+
+{ after(grammarAccess.getOperationAccess().getRightParenthesisKeyword_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Operation__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Operation__Group__5__Impl
+ rule__Operation__Group__6
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Operation__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOperationAccess().getGroup_5()); }
+(rule__Operation__Group_5__0)?
+{ after(grammarAccess.getOperationAccess().getGroup_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Operation__Group__6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Operation__Group__6__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Operation__Group__6__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOperationAccess().getDetailCodeAssignment_6()); }
+(rule__Operation__DetailCodeAssignment_6)
+{ after(grammarAccess.getOperationAccess().getDetailCodeAssignment_6()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__Operation__Group_3__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Operation__Group_3__0__Impl
+ rule__Operation__Group_3__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Operation__Group_3__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOperationAccess().getArgumentsAssignment_3_0()); }
+(rule__Operation__ArgumentsAssignment_3_0)
+{ after(grammarAccess.getOperationAccess().getArgumentsAssignment_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Operation__Group_3__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Operation__Group_3__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Operation__Group_3__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOperationAccess().getGroup_3_1()); }
+(rule__Operation__Group_3_1__0)*
+{ after(grammarAccess.getOperationAccess().getGroup_3_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Operation__Group_3_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Operation__Group_3_1__0__Impl
+ rule__Operation__Group_3_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Operation__Group_3_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOperationAccess().getCommaKeyword_3_1_0()); }
+
+ ','
+
+{ after(grammarAccess.getOperationAccess().getCommaKeyword_3_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Operation__Group_3_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Operation__Group_3_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Operation__Group_3_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOperationAccess().getArgumentsAssignment_3_1_1()); }
+(rule__Operation__ArgumentsAssignment_3_1_1)
+{ after(grammarAccess.getOperationAccess().getArgumentsAssignment_3_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Operation__Group_5__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Operation__Group_5__0__Impl
+ rule__Operation__Group_5__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Operation__Group_5__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOperationAccess().getColonKeyword_5_0()); }
+
+ ':'
+
+{ after(grammarAccess.getOperationAccess().getColonKeyword_5_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Operation__Group_5__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Operation__Group_5__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Operation__Group_5__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOperationAccess().getReturntypeAssignment_5_1()); }
+(rule__Operation__ReturntypeAssignment_5_1)
+{ after(grammarAccess.getOperationAccess().getReturntypeAssignment_5_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ProtocolClass__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__0__Impl
+ rule__ProtocolClass__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getProtocolClassKeyword_0()); }
+
+ 'ProtocolClass'
+
+{ after(grammarAccess.getProtocolClassAccess().getProtocolClassKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__1__Impl
+ rule__ProtocolClass__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getNameAssignment_1()); }
+(rule__ProtocolClass__NameAssignment_1)
+{ after(grammarAccess.getProtocolClassAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__2__Impl
+ rule__ProtocolClass__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getGroup_2()); }
+(rule__ProtocolClass__Group_2__0)?
+{ after(grammarAccess.getProtocolClassAccess().getGroup_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__3__Impl
+ rule__ProtocolClass__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_3()); }
+
+ '{'
+
+{ after(grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__4__Impl
+ rule__ProtocolClass__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getGroup_4()); }
+(rule__ProtocolClass__Group_4__0)?
+{ after(grammarAccess.getProtocolClassAccess().getGroup_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__5__Impl
+ rule__ProtocolClass__Group__6
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getGroup_5()); }
+(rule__ProtocolClass__Group_5__0)?
+{ after(grammarAccess.getProtocolClassAccess().getGroup_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__6__Impl
+ rule__ProtocolClass__Group__7
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__6__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getIncomingKeyword_6()); }
+
+ 'incoming'
+
+{ after(grammarAccess.getProtocolClassAccess().getIncomingKeyword_6()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__7
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__7__Impl
+ rule__ProtocolClass__Group__8
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__7__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_7()); }
+
+ '{'
+
+{ after(grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_7()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__8
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__8__Impl
+ rule__ProtocolClass__Group__9
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__8__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getIncomingMessagesAssignment_8()); }
+(rule__ProtocolClass__IncomingMessagesAssignment_8)*
+{ after(grammarAccess.getProtocolClassAccess().getIncomingMessagesAssignment_8()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__9
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__9__Impl
+ rule__ProtocolClass__Group__10
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__9__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_9()); }
+
+ '}'
+
+{ after(grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_9()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__10
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__10__Impl
+ rule__ProtocolClass__Group__11
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__10__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getOutgoingKeyword_10()); }
+
+ 'outgoing'
+
+{ after(grammarAccess.getProtocolClassAccess().getOutgoingKeyword_10()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__11
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__11__Impl
+ rule__ProtocolClass__Group__12
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__11__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_11()); }
+
+ '{'
+
+{ after(grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_11()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__12
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__12__Impl
+ rule__ProtocolClass__Group__13
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__12__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getOutgoingMessagesAssignment_12()); }
+(rule__ProtocolClass__OutgoingMessagesAssignment_12)*
+{ after(grammarAccess.getProtocolClassAccess().getOutgoingMessagesAssignment_12()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__13
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__13__Impl
+ rule__ProtocolClass__Group__14
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__13__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_13()); }
+
+ '}'
+
+{ after(grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_13()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__14
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__14__Impl
+ rule__ProtocolClass__Group__15
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__14__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getGroup_14()); }
+(rule__ProtocolClass__Group_14__0)?
+{ after(grammarAccess.getProtocolClassAccess().getGroup_14()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__15
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__15__Impl
+ rule__ProtocolClass__Group__16
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__15__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getGroup_15()); }
+(rule__ProtocolClass__Group_15__0)?
+{ after(grammarAccess.getProtocolClassAccess().getGroup_15()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__16
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__16__Impl
+ rule__ProtocolClass__Group__17
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__16__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getSemanticsAssignment_16()); }
+(rule__ProtocolClass__SemanticsAssignment_16)?
+{ after(grammarAccess.getProtocolClassAccess().getSemanticsAssignment_16()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group__17
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group__17__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group__17__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_17()); }
+
+ '}'
+
+{ after(grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_17()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__ProtocolClass__Group_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group_2__0__Impl
+ rule__ProtocolClass__Group_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getExtendsKeyword_2_0()); }
+
+ 'extends'
+
+{ after(grammarAccess.getProtocolClassAccess().getExtendsKeyword_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group_2__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getBaseAssignment_2_1()); }
+(rule__ProtocolClass__BaseAssignment_2_1)
+{ after(grammarAccess.getProtocolClassAccess().getBaseAssignment_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ProtocolClass__Group_4__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group_4__0__Impl
+ rule__ProtocolClass__Group_4__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group_4__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getUsercode1Keyword_4_0()); }
+
+ 'usercode1'
+
+{ after(grammarAccess.getProtocolClassAccess().getUsercode1Keyword_4_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group_4__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group_4__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group_4__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getUserCode1Assignment_4_1()); }
+(rule__ProtocolClass__UserCode1Assignment_4_1)
+{ after(grammarAccess.getProtocolClassAccess().getUserCode1Assignment_4_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ProtocolClass__Group_5__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group_5__0__Impl
+ rule__ProtocolClass__Group_5__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group_5__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getUsercode2Keyword_5_0()); }
+
+ 'usercode2'
+
+{ after(grammarAccess.getProtocolClassAccess().getUsercode2Keyword_5_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group_5__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group_5__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group_5__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getUserCode2Assignment_5_1()); }
+(rule__ProtocolClass__UserCode2Assignment_5_1)
+{ after(grammarAccess.getProtocolClassAccess().getUserCode2Assignment_5_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ProtocolClass__Group_14__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group_14__0__Impl
+ rule__ProtocolClass__Group_14__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group_14__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getRegularKeyword_14_0()); }
+
+ 'regular'
+
+{ after(grammarAccess.getProtocolClassAccess().getRegularKeyword_14_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group_14__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group_14__1__Impl
+ rule__ProtocolClass__Group_14__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group_14__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getPortClassKeyword_14_1()); }
+
+ 'PortClass'
+
+{ after(grammarAccess.getProtocolClassAccess().getPortClassKeyword_14_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group_14__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group_14__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group_14__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getRegularAssignment_14_2()); }
+(rule__ProtocolClass__RegularAssignment_14_2)
+{ after(grammarAccess.getProtocolClassAccess().getRegularAssignment_14_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__ProtocolClass__Group_15__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group_15__0__Impl
+ rule__ProtocolClass__Group_15__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group_15__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getConjugateKeyword_15_0()); }
+
+ 'conjugate'
+
+{ after(grammarAccess.getProtocolClassAccess().getConjugateKeyword_15_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group_15__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group_15__1__Impl
+ rule__ProtocolClass__Group_15__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group_15__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getPortClassKeyword_15_1()); }
+
+ 'PortClass'
+
+{ after(grammarAccess.getProtocolClassAccess().getPortClassKeyword_15_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolClass__Group_15__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolClass__Group_15__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__Group_15__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getConjugateAssignment_15_2()); }
+(rule__ProtocolClass__ConjugateAssignment_15_2)
+{ after(grammarAccess.getProtocolClassAccess().getConjugateAssignment_15_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__Message__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Message__Group__0__Impl
+ rule__Message__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Message__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageAccess().getMessageKeyword_0()); }
+
+ 'Message'
+
+{ after(grammarAccess.getMessageAccess().getMessageKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Message__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Message__Group__1__Impl
+ rule__Message__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Message__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageAccess().getNameAssignment_1()); }
+(rule__Message__NameAssignment_1)
+{ after(grammarAccess.getMessageAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Message__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Message__Group__2__Impl
+ rule__Message__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Message__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageAccess().getLeftParenthesisKeyword_2()); }
+
+ '('
+
+{ after(grammarAccess.getMessageAccess().getLeftParenthesisKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Message__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Message__Group__3__Impl
+ rule__Message__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Message__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageAccess().getGroup_3()); }
+(rule__Message__Group_3__0)?
+{ after(grammarAccess.getMessageAccess().getGroup_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Message__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Message__Group__4__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Message__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageAccess().getRightParenthesisKeyword_4()); }
+
+ ')'
+
+{ after(grammarAccess.getMessageAccess().getRightParenthesisKeyword_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__Message__Group_3__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Message__Group_3__0__Impl
+ rule__Message__Group_3__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Message__Group_3__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageAccess().getArgumentsAssignment_3_0()); }
+(rule__Message__ArgumentsAssignment_3_0)
+{ after(grammarAccess.getMessageAccess().getArgumentsAssignment_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Message__Group_3__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Message__Group_3__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Message__Group_3__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageAccess().getGroup_3_1()); }
+(rule__Message__Group_3_1__0)*
+{ after(grammarAccess.getMessageAccess().getGroup_3_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Message__Group_3_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Message__Group_3_1__0__Impl
+ rule__Message__Group_3_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Message__Group_3_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageAccess().getCommaKeyword_3_1_0()); }
+
+ ','
+
+{ after(grammarAccess.getMessageAccess().getCommaKeyword_3_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Message__Group_3_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Message__Group_3_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Message__Group_3_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageAccess().getArgumentsAssignment_3_1_1()); }
+(rule__Message__ArgumentsAssignment_3_1_1)
+{ after(grammarAccess.getMessageAccess().getArgumentsAssignment_3_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__PortClass__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PortClass__Group__0__Impl
+ rule__PortClass__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PortClass__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortClassAccess().getLeftCurlyBracketKeyword_0()); }
+
+ '{'
+
+{ after(grammarAccess.getPortClassAccess().getLeftCurlyBracketKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PortClass__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PortClass__Group__1__Impl
+ rule__PortClass__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PortClass__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortClassAccess().getGroup_1()); }
+(rule__PortClass__Group_1__0)?
+{ after(grammarAccess.getPortClassAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PortClass__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PortClass__Group__2__Impl
+ rule__PortClass__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PortClass__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+(
+{ before(grammarAccess.getPortClassAccess().getAlternatives_2()); }
+(rule__PortClass__Alternatives_2)
+{ after(grammarAccess.getPortClassAccess().getAlternatives_2()); }
+)
+(
+{ before(grammarAccess.getPortClassAccess().getAlternatives_2()); }
+(rule__PortClass__Alternatives_2)*
+{ after(grammarAccess.getPortClassAccess().getAlternatives_2()); }
+)
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PortClass__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PortClass__Group__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PortClass__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortClassAccess().getRightCurlyBracketKeyword_3()); }
+
+ '}'
+
+{ after(grammarAccess.getPortClassAccess().getRightCurlyBracketKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__PortClass__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PortClass__Group_1__0__Impl
+ rule__PortClass__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PortClass__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortClassAccess().getUsercodeKeyword_1_0()); }
+
+ 'usercode'
+
+{ after(grammarAccess.getPortClassAccess().getUsercodeKeyword_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PortClass__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PortClass__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PortClass__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortClassAccess().getUserCodeAssignment_1_1()); }
+(rule__PortClass__UserCodeAssignment_1_1)
+{ after(grammarAccess.getPortClassAccess().getUserCodeAssignment_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__MessageHandler__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MessageHandler__Group__0__Impl
+ rule__MessageHandler__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageHandler__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageHandlerAccess().getHandleKeyword_0()); }
+
+ 'handle'
+
+{ after(grammarAccess.getMessageHandlerAccess().getHandleKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__MessageHandler__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MessageHandler__Group__1__Impl
+ rule__MessageHandler__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageHandler__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageHandlerAccess().getMsgAssignment_1()); }
+(rule__MessageHandler__MsgAssignment_1)
+{ after(grammarAccess.getMessageHandlerAccess().getMsgAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__MessageHandler__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MessageHandler__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageHandler__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageHandlerAccess().getDetailCodeAssignment_2()); }
+(rule__MessageHandler__DetailCodeAssignment_2)
+{ after(grammarAccess.getMessageHandlerAccess().getDetailCodeAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__ProtocolSemantics__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolSemantics__Group__0__Impl
+ rule__ProtocolSemantics__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolSemantics__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolSemanticsAccess().getSemanticsKeyword_0()); }
+
+ 'semantics'
+
+{ after(grammarAccess.getProtocolSemanticsAccess().getSemanticsKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolSemantics__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolSemantics__Group__1__Impl
+ rule__ProtocolSemantics__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolSemantics__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolSemanticsAccess().getLeftCurlyBracketKeyword_1()); }
+
+ '{'
+
+{ after(grammarAccess.getProtocolSemanticsAccess().getLeftCurlyBracketKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolSemantics__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolSemantics__Group__2__Impl
+ rule__ProtocolSemantics__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolSemantics__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+(
+{ before(grammarAccess.getProtocolSemanticsAccess().getRulesAssignment_2()); }
+(rule__ProtocolSemantics__RulesAssignment_2)
+{ after(grammarAccess.getProtocolSemanticsAccess().getRulesAssignment_2()); }
+)
+(
+{ before(grammarAccess.getProtocolSemanticsAccess().getRulesAssignment_2()); }
+(rule__ProtocolSemantics__RulesAssignment_2)*
+{ after(grammarAccess.getProtocolSemanticsAccess().getRulesAssignment_2()); }
+)
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ProtocolSemantics__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ProtocolSemantics__Group__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolSemantics__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolSemanticsAccess().getRightCurlyBracketKeyword_3()); }
+
+ '}'
+
+{ after(grammarAccess.getProtocolSemanticsAccess().getRightCurlyBracketKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__SemanticsInRule__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SemanticsInRule__Group__0__Impl
+ rule__SemanticsInRule__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SemanticsInRule__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSemanticsInRuleAccess().getInKeyword_0()); }
+
+ 'in'
+
+{ after(grammarAccess.getSemanticsInRuleAccess().getInKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SemanticsInRule__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SemanticsInRule__Group__1__Impl
+ rule__SemanticsInRule__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SemanticsInRule__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSemanticsInRuleAccess().getMsgAssignment_1()); }
+(rule__SemanticsInRule__MsgAssignment_1)
+{ after(grammarAccess.getSemanticsInRuleAccess().getMsgAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SemanticsInRule__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SemanticsInRule__Group__2__Impl
+ rule__SemanticsInRule__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SemanticsInRule__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSemanticsInRuleAccess().getHyphenMinusGreaterThanSignKeyword_2()); }
+
+ '->'
+
+{ after(grammarAccess.getSemanticsInRuleAccess().getHyphenMinusGreaterThanSignKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SemanticsInRule__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SemanticsInRule__Group__3__Impl
+ rule__SemanticsInRule__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SemanticsInRule__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSemanticsInRuleAccess().getLeftCurlyBracketKeyword_3()); }
+
+ '{'
+
+{ after(grammarAccess.getSemanticsInRuleAccess().getLeftCurlyBracketKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SemanticsInRule__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SemanticsInRule__Group__4__Impl
+ rule__SemanticsInRule__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SemanticsInRule__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSemanticsInRuleAccess().getFollowUpsAssignment_4()); }
+(rule__SemanticsInRule__FollowUpsAssignment_4)*
+{ after(grammarAccess.getSemanticsInRuleAccess().getFollowUpsAssignment_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SemanticsInRule__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SemanticsInRule__Group__5__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SemanticsInRule__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSemanticsInRuleAccess().getRightCurlyBracketKeyword_5()); }
+
+ '}'
+
+{ after(grammarAccess.getSemanticsInRuleAccess().getRightCurlyBracketKeyword_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__SemanticsOutRule__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SemanticsOutRule__Group__0__Impl
+ rule__SemanticsOutRule__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SemanticsOutRule__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSemanticsOutRuleAccess().getOutKeyword_0()); }
+
+ 'out'
+
+{ after(grammarAccess.getSemanticsOutRuleAccess().getOutKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SemanticsOutRule__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SemanticsOutRule__Group__1__Impl
+ rule__SemanticsOutRule__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SemanticsOutRule__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSemanticsOutRuleAccess().getMsgAssignment_1()); }
+(rule__SemanticsOutRule__MsgAssignment_1)
+{ after(grammarAccess.getSemanticsOutRuleAccess().getMsgAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SemanticsOutRule__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SemanticsOutRule__Group__2__Impl
+ rule__SemanticsOutRule__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SemanticsOutRule__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSemanticsOutRuleAccess().getHyphenMinusGreaterThanSignKeyword_2()); }
+
+ '->'
+
+{ after(grammarAccess.getSemanticsOutRuleAccess().getHyphenMinusGreaterThanSignKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SemanticsOutRule__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SemanticsOutRule__Group__3__Impl
+ rule__SemanticsOutRule__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SemanticsOutRule__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSemanticsOutRuleAccess().getLeftCurlyBracketKeyword_3()); }
+
+ '{'
+
+{ after(grammarAccess.getSemanticsOutRuleAccess().getLeftCurlyBracketKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SemanticsOutRule__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SemanticsOutRule__Group__4__Impl
+ rule__SemanticsOutRule__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SemanticsOutRule__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSemanticsOutRuleAccess().getFollowUpsAssignment_4()); }
+(rule__SemanticsOutRule__FollowUpsAssignment_4)*
+{ after(grammarAccess.getSemanticsOutRuleAccess().getFollowUpsAssignment_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SemanticsOutRule__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SemanticsOutRule__Group__5__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SemanticsOutRule__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSemanticsOutRuleAccess().getRightCurlyBracketKeyword_5()); }
+
+ '}'
+
+{ after(grammarAccess.getSemanticsOutRuleAccess().getRightCurlyBracketKeyword_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__ActorClass__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group__0__Impl
+ rule__ActorClass__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getAbstractAssignment_0()); }
+(rule__ActorClass__AbstractAssignment_0)?
+{ after(grammarAccess.getActorClassAccess().getAbstractAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group__1__Impl
+ rule__ActorClass__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getActorClassKeyword_1()); }
+
+ 'ActorClass'
+
+{ after(grammarAccess.getActorClassAccess().getActorClassKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group__2__Impl
+ rule__ActorClass__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getNameAssignment_2()); }
+(rule__ActorClass__NameAssignment_2)
+{ after(grammarAccess.getActorClassAccess().getNameAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group__3__Impl
+ rule__ActorClass__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getGroup_3()); }
+(rule__ActorClass__Group_3__0)?
+{ after(grammarAccess.getActorClassAccess().getGroup_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group__4__Impl
+ rule__ActorClass__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_4()); }
+
+ '{'
+
+{ after(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group__5__Impl
+ rule__ActorClass__Group__6
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getGroup_5()); }
+(rule__ActorClass__Group_5__0)?
+{ after(grammarAccess.getActorClassAccess().getGroup_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group__6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group__6__Impl
+ rule__ActorClass__Group__7
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group__6__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getGroup_6()); }
+(rule__ActorClass__Group_6__0)?
+{ after(grammarAccess.getActorClassAccess().getGroup_6()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group__7
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group__7__Impl
+ rule__ActorClass__Group__8
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group__7__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getGroup_7()); }
+(rule__ActorClass__Group_7__0)?
+{ after(grammarAccess.getActorClassAccess().getGroup_7()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group__8
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group__8__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group__8__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_8()); }
+
+ '}'
+
+{ after(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_8()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__ActorClass__Group_3__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_3__0__Impl
+ rule__ActorClass__Group_3__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_3__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getExtendsKeyword_3_0()); }
+
+ 'extends'
+
+{ after(grammarAccess.getActorClassAccess().getExtendsKeyword_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_3__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_3__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_3__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getBaseAssignment_3_1()); }
+(rule__ActorClass__BaseAssignment_3_1)
+{ after(grammarAccess.getActorClassAccess().getBaseAssignment_3_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ActorClass__Group_5__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_5__0__Impl
+ rule__ActorClass__Group_5__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_5__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getInterfaceKeyword_5_0()); }
+
+ 'Interface'
+
+{ after(grammarAccess.getActorClassAccess().getInterfaceKeyword_5_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_5__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_5__1__Impl
+ rule__ActorClass__Group_5__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_5__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_5_1()); }
+
+ '{'
+
+{ after(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_5_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_5__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_5__2__Impl
+ rule__ActorClass__Group_5__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_5__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getIfPortsAssignment_5_2()); }
+(rule__ActorClass__IfPortsAssignment_5_2)*
+{ after(grammarAccess.getActorClassAccess().getIfPortsAssignment_5_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_5__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_5__3__Impl
+ rule__ActorClass__Group_5__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_5__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getIfSPPsAssignment_5_3()); }
+(rule__ActorClass__IfSPPsAssignment_5_3)*
+{ after(grammarAccess.getActorClassAccess().getIfSPPsAssignment_5_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_5__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_5__4__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_5__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_5_4()); }
+
+ '}'
+
+{ after(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_5_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__ActorClass__Group_6__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6__0__Impl
+ rule__ActorClass__Group_6__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getStructureKeyword_6_0()); }
+
+ 'Structure'
+
+{ after(grammarAccess.getActorClassAccess().getStructureKeyword_6_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_6__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6__1__Impl
+ rule__ActorClass__Group_6__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_6_1()); }
+
+ '{'
+
+{ after(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_6_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_6__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6__2__Impl
+ rule__ActorClass__Group_6__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getGroup_6_2()); }
+(rule__ActorClass__Group_6_2__0)?
+{ after(grammarAccess.getActorClassAccess().getGroup_6_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_6__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6__3__Impl
+ rule__ActorClass__Group_6__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getGroup_6_3()); }
+(rule__ActorClass__Group_6_3__0)?
+{ after(grammarAccess.getActorClassAccess().getGroup_6_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_6__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6__4__Impl
+ rule__ActorClass__Group_6__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getAlternatives_6_4()); }
+(rule__ActorClass__Alternatives_6_4)*
+{ after(grammarAccess.getActorClassAccess().getAlternatives_6_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_6__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6__5__Impl
+ rule__ActorClass__Group_6__6
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getServiceImplementationsAssignment_6_5()); }
+(rule__ActorClass__ServiceImplementationsAssignment_6_5)*
+{ after(grammarAccess.getActorClassAccess().getServiceImplementationsAssignment_6_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_6__6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6__6__Impl
+ rule__ActorClass__Group_6__7
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6__6__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getStrSAPsAssignment_6_6()); }
+(rule__ActorClass__StrSAPsAssignment_6_6)*
+{ after(grammarAccess.getActorClassAccess().getStrSAPsAssignment_6_6()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_6__7
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6__7__Impl
+ rule__ActorClass__Group_6__8
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6__7__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getAttributesAssignment_6_7()); }
+(rule__ActorClass__AttributesAssignment_6_7)*
+{ after(grammarAccess.getActorClassAccess().getAttributesAssignment_6_7()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_6__8
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6__8__Impl
+ rule__ActorClass__Group_6__9
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6__8__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getActorRefsAssignment_6_8()); }
+(rule__ActorClass__ActorRefsAssignment_6_8)*
+{ after(grammarAccess.getActorClassAccess().getActorRefsAssignment_6_8()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_6__9
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6__9__Impl
+ rule__ActorClass__Group_6__10
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6__9__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getBindingsAssignment_6_9()); }
+(rule__ActorClass__BindingsAssignment_6_9)*
+{ after(grammarAccess.getActorClassAccess().getBindingsAssignment_6_9()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_6__10
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6__10__Impl
+ rule__ActorClass__Group_6__11
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6__10__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getConnectionsAssignment_6_10()); }
+(rule__ActorClass__ConnectionsAssignment_6_10)*
+{ after(grammarAccess.getActorClassAccess().getConnectionsAssignment_6_10()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_6__11
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6__11__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6__11__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_6_11()); }
+
+ '}'
+
+{ after(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_6_11()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__ActorClass__Group_6_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6_2__0__Impl
+ rule__ActorClass__Group_6_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getUsercode1Keyword_6_2_0()); }
+
+ 'usercode1'
+
+{ after(grammarAccess.getActorClassAccess().getUsercode1Keyword_6_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_6_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6_2__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getUserCode1Assignment_6_2_1()); }
+(rule__ActorClass__UserCode1Assignment_6_2_1)
+{ after(grammarAccess.getActorClassAccess().getUserCode1Assignment_6_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ActorClass__Group_6_3__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6_3__0__Impl
+ rule__ActorClass__Group_6_3__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6_3__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getUsercode2Keyword_6_3_0()); }
+
+ 'usercode2'
+
+{ after(grammarAccess.getActorClassAccess().getUsercode2Keyword_6_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_6_3__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_6_3__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_6_3__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getUserCode2Assignment_6_3_1()); }
+(rule__ActorClass__UserCode2Assignment_6_3_1)
+{ after(grammarAccess.getActorClassAccess().getUserCode2Assignment_6_3_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ActorClass__Group_7__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_7__0__Impl
+ rule__ActorClass__Group_7__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_7__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getBehaviorKeyword_7_0()); }
+
+ 'Behavior'
+
+{ after(grammarAccess.getActorClassAccess().getBehaviorKeyword_7_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_7__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_7__1__Impl
+ rule__ActorClass__Group_7__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_7__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_7_1()); }
+
+ '{'
+
+{ after(grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_7_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_7__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_7__2__Impl
+ rule__ActorClass__Group_7__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_7__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getOperationsAssignment_7_2()); }
+(rule__ActorClass__OperationsAssignment_7_2)*
+{ after(grammarAccess.getActorClassAccess().getOperationsAssignment_7_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_7__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_7__3__Impl
+ rule__ActorClass__Group_7__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_7__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getStateMachineAssignment_7_3()); }
+(rule__ActorClass__StateMachineAssignment_7_3)?
+{ after(grammarAccess.getActorClassAccess().getStateMachineAssignment_7_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorClass__Group_7__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorClass__Group_7__4__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__Group_7__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_7_4()); }
+
+ '}'
+
+{ after(grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_7_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__Port__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Port__Group__0__Impl
+ rule__Port__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Port__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortAccess().getConjugatedAssignment_0()); }
+(rule__Port__ConjugatedAssignment_0)?
+{ after(grammarAccess.getPortAccess().getConjugatedAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Port__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Port__Group__1__Impl
+ rule__Port__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Port__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortAccess().getPortKeyword_1()); }
+
+ 'Port'
+
+{ after(grammarAccess.getPortAccess().getPortKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Port__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Port__Group__2__Impl
+ rule__Port__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Port__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortAccess().getNameAssignment_2()); }
+(rule__Port__NameAssignment_2)
+{ after(grammarAccess.getPortAccess().getNameAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Port__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Port__Group__3__Impl
+ rule__Port__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Port__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortAccess().getGroup_3()); }
+(rule__Port__Group_3__0)?
+{ after(grammarAccess.getPortAccess().getGroup_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Port__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Port__Group__4__Impl
+ rule__Port__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Port__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortAccess().getColonKeyword_4()); }
+
+ ':'
+
+{ after(grammarAccess.getPortAccess().getColonKeyword_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Port__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Port__Group__5__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Port__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortAccess().getProtocolAssignment_5()); }
+(rule__Port__ProtocolAssignment_5)
+{ after(grammarAccess.getPortAccess().getProtocolAssignment_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__Port__Group_3__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Port__Group_3__0__Impl
+ rule__Port__Group_3__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Port__Group_3__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortAccess().getLeftSquareBracketKeyword_3_0()); }
+
+ '['
+
+{ after(grammarAccess.getPortAccess().getLeftSquareBracketKeyword_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Port__Group_3__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Port__Group_3__1__Impl
+ rule__Port__Group_3__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Port__Group_3__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortAccess().getMultiplicityAssignment_3_1()); }
+(rule__Port__MultiplicityAssignment_3_1)
+{ after(grammarAccess.getPortAccess().getMultiplicityAssignment_3_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Port__Group_3__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Port__Group_3__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Port__Group_3__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortAccess().getRightSquareBracketKeyword_3_2()); }
+
+ ']'
+
+{ after(grammarAccess.getPortAccess().getRightSquareBracketKeyword_3_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__ExternalPort__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ExternalPort__Group__0__Impl
+ rule__ExternalPort__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ExternalPort__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getExternalPortAccess().getExternalKeyword_0()); }
+
+ 'external'
+
+{ after(grammarAccess.getExternalPortAccess().getExternalKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ExternalPort__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ExternalPort__Group__1__Impl
+ rule__ExternalPort__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ExternalPort__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getExternalPortAccess().getPortKeyword_1()); }
+
+ 'Port'
+
+{ after(grammarAccess.getExternalPortAccess().getPortKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ExternalPort__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ExternalPort__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ExternalPort__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getExternalPortAccess().getIfportAssignment_2()); }
+(rule__ExternalPort__IfportAssignment_2)
+{ after(grammarAccess.getExternalPortAccess().getIfportAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__SAPRef__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SAPRef__Group__0__Impl
+ rule__SAPRef__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SAPRef__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSAPRefAccess().getSAPKeyword_0()); }
+
+ 'SAP'
+
+{ after(grammarAccess.getSAPRefAccess().getSAPKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SAPRef__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SAPRef__Group__1__Impl
+ rule__SAPRef__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SAPRef__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSAPRefAccess().getNameAssignment_1()); }
+(rule__SAPRef__NameAssignment_1)
+{ after(grammarAccess.getSAPRefAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SAPRef__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SAPRef__Group__2__Impl
+ rule__SAPRef__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SAPRef__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSAPRefAccess().getColonKeyword_2()); }
+
+ ':'
+
+{ after(grammarAccess.getSAPRefAccess().getColonKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SAPRef__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SAPRef__Group__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SAPRef__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSAPRefAccess().getProtocolAssignment_3()); }
+(rule__SAPRef__ProtocolAssignment_3)
+{ after(grammarAccess.getSAPRefAccess().getProtocolAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__SPPRef__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SPPRef__Group__0__Impl
+ rule__SPPRef__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SPPRef__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSPPRefAccess().getSPPKeyword_0()); }
+
+ 'SPP'
+
+{ after(grammarAccess.getSPPRefAccess().getSPPKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SPPRef__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SPPRef__Group__1__Impl
+ rule__SPPRef__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SPPRef__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSPPRefAccess().getNameAssignment_1()); }
+(rule__SPPRef__NameAssignment_1)
+{ after(grammarAccess.getSPPRefAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SPPRef__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SPPRef__Group__2__Impl
+ rule__SPPRef__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SPPRef__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSPPRefAccess().getColonKeyword_2()); }
+
+ ':'
+
+{ after(grammarAccess.getSPPRefAccess().getColonKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SPPRef__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SPPRef__Group__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SPPRef__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSPPRefAccess().getProtocolAssignment_3()); }
+(rule__SPPRef__ProtocolAssignment_3)
+{ after(grammarAccess.getSPPRefAccess().getProtocolAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__ServiceImplementation__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ServiceImplementation__Group__0__Impl
+ rule__ServiceImplementation__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ServiceImplementation__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getServiceImplementationAccess().getServiceImplementationKeyword_0()); }
+
+ 'ServiceImplementation'
+
+{ after(grammarAccess.getServiceImplementationAccess().getServiceImplementationKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ServiceImplementation__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ServiceImplementation__Group__1__Impl
+ rule__ServiceImplementation__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ServiceImplementation__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getServiceImplementationAccess().getOfKeyword_1()); }
+
+ 'of'
+
+{ after(grammarAccess.getServiceImplementationAccess().getOfKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ServiceImplementation__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ServiceImplementation__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ServiceImplementation__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getServiceImplementationAccess().getSppAssignment_2()); }
+(rule__ServiceImplementation__SppAssignment_2)
+{ after(grammarAccess.getServiceImplementationAccess().getSppAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__LogicalSystem__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LogicalSystem__Group__0__Impl
+ rule__LogicalSystem__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalSystem__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalSystemAccess().getLogicalSystemKeyword_0()); }
+
+ 'LogicalSystem'
+
+{ after(grammarAccess.getLogicalSystemAccess().getLogicalSystemKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LogicalSystem__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LogicalSystem__Group__1__Impl
+ rule__LogicalSystem__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalSystem__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalSystemAccess().getNameAssignment_1()); }
+(rule__LogicalSystem__NameAssignment_1)
+{ after(grammarAccess.getLogicalSystemAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LogicalSystem__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LogicalSystem__Group__2__Impl
+ rule__LogicalSystem__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalSystem__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalSystemAccess().getLeftCurlyBracketKeyword_2()); }
+
+ '{'
+
+{ after(grammarAccess.getLogicalSystemAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LogicalSystem__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LogicalSystem__Group__3__Impl
+ rule__LogicalSystem__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalSystem__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+(
+{ before(grammarAccess.getLogicalSystemAccess().getSubSystemsAssignment_3()); }
+(rule__LogicalSystem__SubSystemsAssignment_3)
+{ after(grammarAccess.getLogicalSystemAccess().getSubSystemsAssignment_3()); }
+)
+(
+{ before(grammarAccess.getLogicalSystemAccess().getSubSystemsAssignment_3()); }
+(rule__LogicalSystem__SubSystemsAssignment_3)*
+{ after(grammarAccess.getLogicalSystemAccess().getSubSystemsAssignment_3()); }
+)
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LogicalSystem__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LogicalSystem__Group__4__Impl
+ rule__LogicalSystem__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalSystem__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalSystemAccess().getBindingsAssignment_4()); }
+(rule__LogicalSystem__BindingsAssignment_4)*
+{ after(grammarAccess.getLogicalSystemAccess().getBindingsAssignment_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LogicalSystem__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LogicalSystem__Group__5__Impl
+ rule__LogicalSystem__Group__6
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalSystem__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalSystemAccess().getConnectionsAssignment_5()); }
+(rule__LogicalSystem__ConnectionsAssignment_5)*
+{ after(grammarAccess.getLogicalSystemAccess().getConnectionsAssignment_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LogicalSystem__Group__6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LogicalSystem__Group__6__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalSystem__Group__6__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalSystemAccess().getRightCurlyBracketKeyword_6()); }
+
+ '}'
+
+{ after(grammarAccess.getLogicalSystemAccess().getRightCurlyBracketKeyword_6()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__SubSystemRef__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SubSystemRef__Group__0__Impl
+ rule__SubSystemRef__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemRef__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemRefAccess().getSubSystemRefKeyword_0()); }
+
+ 'SubSystemRef'
+
+{ after(grammarAccess.getSubSystemRefAccess().getSubSystemRefKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SubSystemRef__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SubSystemRef__Group__1__Impl
+ rule__SubSystemRef__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemRef__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemRefAccess().getNameAssignment_1()); }
+(rule__SubSystemRef__NameAssignment_1)
+{ after(grammarAccess.getSubSystemRefAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SubSystemRef__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SubSystemRef__Group__2__Impl
+ rule__SubSystemRef__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemRef__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemRefAccess().getColonKeyword_2()); }
+
+ ':'
+
+{ after(grammarAccess.getSubSystemRefAccess().getColonKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SubSystemRef__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SubSystemRef__Group__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemRef__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemRefAccess().getTypeAssignment_3()); }
+(rule__SubSystemRef__TypeAssignment_3)
+{ after(grammarAccess.getSubSystemRefAccess().getTypeAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__SubSystemClass__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SubSystemClass__Group__0__Impl
+ rule__SubSystemClass__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemClass__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemClassAccess().getSubSystemClassKeyword_0()); }
+
+ 'SubSystemClass'
+
+{ after(grammarAccess.getSubSystemClassAccess().getSubSystemClassKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SubSystemClass__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SubSystemClass__Group__1__Impl
+ rule__SubSystemClass__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemClass__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemClassAccess().getNameAssignment_1()); }
+(rule__SubSystemClass__NameAssignment_1)
+{ after(grammarAccess.getSubSystemClassAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SubSystemClass__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SubSystemClass__Group__2__Impl
+ rule__SubSystemClass__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemClass__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemClassAccess().getLeftCurlyBracketKeyword_2()); }
+
+ '{'
+
+{ after(grammarAccess.getSubSystemClassAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SubSystemClass__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SubSystemClass__Group__3__Impl
+ rule__SubSystemClass__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemClass__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemClassAccess().getRelayPortsAssignment_3()); }
+(rule__SubSystemClass__RelayPortsAssignment_3)*
+{ after(grammarAccess.getSubSystemClassAccess().getRelayPortsAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SubSystemClass__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SubSystemClass__Group__4__Impl
+ rule__SubSystemClass__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemClass__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemClassAccess().getIfSPPsAssignment_4()); }
+(rule__SubSystemClass__IfSPPsAssignment_4)*
+{ after(grammarAccess.getSubSystemClassAccess().getIfSPPsAssignment_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SubSystemClass__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SubSystemClass__Group__5__Impl
+ rule__SubSystemClass__Group__6
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemClass__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+(
+{ before(grammarAccess.getSubSystemClassAccess().getActorRefsAssignment_5()); }
+(rule__SubSystemClass__ActorRefsAssignment_5)
+{ after(grammarAccess.getSubSystemClassAccess().getActorRefsAssignment_5()); }
+)
+(
+{ before(grammarAccess.getSubSystemClassAccess().getActorRefsAssignment_5()); }
+(rule__SubSystemClass__ActorRefsAssignment_5)*
+{ after(grammarAccess.getSubSystemClassAccess().getActorRefsAssignment_5()); }
+)
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SubSystemClass__Group__6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SubSystemClass__Group__6__Impl
+ rule__SubSystemClass__Group__7
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemClass__Group__6__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemClassAccess().getBindingsAssignment_6()); }
+(rule__SubSystemClass__BindingsAssignment_6)*
+{ after(grammarAccess.getSubSystemClassAccess().getBindingsAssignment_6()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SubSystemClass__Group__7
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SubSystemClass__Group__7__Impl
+ rule__SubSystemClass__Group__8
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemClass__Group__7__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemClassAccess().getConnectionsAssignment_7()); }
+(rule__SubSystemClass__ConnectionsAssignment_7)*
+{ after(grammarAccess.getSubSystemClassAccess().getConnectionsAssignment_7()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SubSystemClass__Group__8
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SubSystemClass__Group__8__Impl
+ rule__SubSystemClass__Group__9
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemClass__Group__8__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemClassAccess().getThreadsAssignment_8()); }
+(rule__SubSystemClass__ThreadsAssignment_8)*
+{ after(grammarAccess.getSubSystemClassAccess().getThreadsAssignment_8()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SubSystemClass__Group__9
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SubSystemClass__Group__9__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemClass__Group__9__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemClassAccess().getRightCurlyBracketKeyword_9()); }
+
+ '}'
+
+{ after(grammarAccess.getSubSystemClassAccess().getRightCurlyBracketKeyword_9()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__LogicalThread__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LogicalThread__Group__0__Impl
+ rule__LogicalThread__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalThread__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalThreadAccess().getLogicalThreadKeyword_0()); }
+
+ 'LogicalThread'
+
+{ after(grammarAccess.getLogicalThreadAccess().getLogicalThreadKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LogicalThread__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LogicalThread__Group__1__Impl
+ rule__LogicalThread__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalThread__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalThreadAccess().getNameAssignment_1()); }
+(rule__LogicalThread__NameAssignment_1)
+{ after(grammarAccess.getLogicalThreadAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LogicalThread__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LogicalThread__Group__2__Impl
+ rule__LogicalThread__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalThread__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalThreadAccess().getLeftCurlyBracketKeyword_2()); }
+
+ '{'
+
+{ after(grammarAccess.getLogicalThreadAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LogicalThread__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LogicalThread__Group__3__Impl
+ rule__LogicalThread__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalThread__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalThreadAccess().getInstancesAssignment_3()); }
+(rule__LogicalThread__InstancesAssignment_3)
+{ after(grammarAccess.getLogicalThreadAccess().getInstancesAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LogicalThread__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LogicalThread__Group__4__Impl
+ rule__LogicalThread__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalThread__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalThreadAccess().getGroup_4()); }
+(rule__LogicalThread__Group_4__0)*
+{ after(grammarAccess.getLogicalThreadAccess().getGroup_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LogicalThread__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LogicalThread__Group__5__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalThread__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalThreadAccess().getRightCurlyBracketKeyword_5()); }
+
+ '}'
+
+{ after(grammarAccess.getLogicalThreadAccess().getRightCurlyBracketKeyword_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__LogicalThread__Group_4__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LogicalThread__Group_4__0__Impl
+ rule__LogicalThread__Group_4__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalThread__Group_4__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalThreadAccess().getCommaKeyword_4_0()); }
+
+ ','
+
+{ after(grammarAccess.getLogicalThreadAccess().getCommaKeyword_4_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LogicalThread__Group_4__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LogicalThread__Group_4__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalThread__Group_4__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalThreadAccess().getInstancesAssignment_4_1()); }
+(rule__LogicalThread__InstancesAssignment_4_1)
+{ after(grammarAccess.getLogicalThreadAccess().getInstancesAssignment_4_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ActorInstancePath__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorInstancePath__Group__0__Impl
+ rule__ActorInstancePath__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorInstancePath__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorInstancePathAccess().getSegmentsAssignment_0()); }
+(rule__ActorInstancePath__SegmentsAssignment_0)
+{ after(grammarAccess.getActorInstancePathAccess().getSegmentsAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorInstancePath__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorInstancePath__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorInstancePath__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorInstancePathAccess().getGroup_1()); }
+(rule__ActorInstancePath__Group_1__0)*
+{ after(grammarAccess.getActorInstancePathAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ActorInstancePath__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorInstancePath__Group_1__0__Impl
+ rule__ActorInstancePath__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorInstancePath__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorInstancePathAccess().getFullStopKeyword_1_0()); }
+
+ '.'
+
+{ after(grammarAccess.getActorInstancePathAccess().getFullStopKeyword_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorInstancePath__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorInstancePath__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorInstancePath__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorInstancePathAccess().getSegmentsAssignment_1_1()); }
+(rule__ActorInstancePath__SegmentsAssignment_1_1)
+{ after(grammarAccess.getActorInstancePathAccess().getSegmentsAssignment_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Binding__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Binding__Group__0__Impl
+ rule__Binding__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Binding__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBindingAccess().getBindingKeyword_0()); }
+
+ 'Binding'
+
+{ after(grammarAccess.getBindingAccess().getBindingKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Binding__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Binding__Group__1__Impl
+ rule__Binding__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Binding__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBindingAccess().getEndpoint1Assignment_1()); }
+(rule__Binding__Endpoint1Assignment_1)
+{ after(grammarAccess.getBindingAccess().getEndpoint1Assignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Binding__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Binding__Group__2__Impl
+ rule__Binding__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Binding__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBindingAccess().getAndKeyword_2()); }
+
+ 'and'
+
+{ after(grammarAccess.getBindingAccess().getAndKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Binding__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Binding__Group__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Binding__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBindingAccess().getEndpoint2Assignment_3()); }
+(rule__Binding__Endpoint2Assignment_3)
+{ after(grammarAccess.getBindingAccess().getEndpoint2Assignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__BindingEndPoint__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__BindingEndPoint__Group__0__Impl
+ rule__BindingEndPoint__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__BindingEndPoint__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBindingEndPointAccess().getGroup_0()); }
+(rule__BindingEndPoint__Group_0__0)?
+{ after(grammarAccess.getBindingEndPointAccess().getGroup_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__BindingEndPoint__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__BindingEndPoint__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__BindingEndPoint__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBindingEndPointAccess().getPortAssignment_1()); }
+(rule__BindingEndPoint__PortAssignment_1)
+{ after(grammarAccess.getBindingEndPointAccess().getPortAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__BindingEndPoint__Group_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__BindingEndPoint__Group_0__0__Impl
+ rule__BindingEndPoint__Group_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__BindingEndPoint__Group_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBindingEndPointAccess().getActorRefAssignment_0_0()); }
+(rule__BindingEndPoint__ActorRefAssignment_0_0)
+{ after(grammarAccess.getBindingEndPointAccess().getActorRefAssignment_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__BindingEndPoint__Group_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__BindingEndPoint__Group_0__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__BindingEndPoint__Group_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBindingEndPointAccess().getFullStopKeyword_0_1()); }
+
+ '.'
+
+{ after(grammarAccess.getBindingEndPointAccess().getFullStopKeyword_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__LayerConnection__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LayerConnection__Group__0__Impl
+ rule__LayerConnection__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LayerConnection__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLayerConnectionAccess().getLayerConnectionKeyword_0()); }
+
+ 'LayerConnection'
+
+{ after(grammarAccess.getLayerConnectionAccess().getLayerConnectionKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LayerConnection__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LayerConnection__Group__1__Impl
+ rule__LayerConnection__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LayerConnection__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLayerConnectionAccess().getFromAssignment_1()); }
+(rule__LayerConnection__FromAssignment_1)
+{ after(grammarAccess.getLayerConnectionAccess().getFromAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LayerConnection__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LayerConnection__Group__2__Impl
+ rule__LayerConnection__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LayerConnection__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLayerConnectionAccess().getSatisfied_byKeyword_2()); }
+
+ 'satisfied_by'
+
+{ after(grammarAccess.getLayerConnectionAccess().getSatisfied_byKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LayerConnection__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LayerConnection__Group__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LayerConnection__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLayerConnectionAccess().getToAssignment_3()); }
+(rule__LayerConnection__ToAssignment_3)
+{ after(grammarAccess.getLayerConnectionAccess().getToAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__RefSAPoint__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RefSAPoint__Group__0__Impl
+ rule__RefSAPoint__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RefSAPoint__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRefSAPointAccess().getRefKeyword_0()); }
+
+ 'ref'
+
+{ after(grammarAccess.getRefSAPointAccess().getRefKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RefSAPoint__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RefSAPoint__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RefSAPoint__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRefSAPointAccess().getRefAssignment_1()); }
+(rule__RefSAPoint__RefAssignment_1)
+{ after(grammarAccess.getRefSAPointAccess().getRefAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__RelaySAPoint__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RelaySAPoint__Group__0__Impl
+ rule__RelaySAPoint__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RelaySAPoint__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRelaySAPointAccess().getRelay_sapKeyword_0()); }
+
+ 'relay_sap'
+
+{ after(grammarAccess.getRelaySAPointAccess().getRelay_sapKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RelaySAPoint__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RelaySAPoint__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RelaySAPoint__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRelaySAPointAccess().getRelayAssignment_1()); }
+(rule__RelaySAPoint__RelayAssignment_1)
+{ after(grammarAccess.getRelaySAPointAccess().getRelayAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__SPPoint__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SPPoint__Group__0__Impl
+ rule__SPPoint__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SPPoint__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSPPointAccess().getRefAssignment_0()); }
+(rule__SPPoint__RefAssignment_0)
+{ after(grammarAccess.getSPPointAccess().getRefAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SPPoint__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SPPoint__Group__1__Impl
+ rule__SPPoint__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SPPoint__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSPPointAccess().getFullStopKeyword_1()); }
+
+ '.'
+
+{ after(grammarAccess.getSPPointAccess().getFullStopKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SPPoint__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SPPoint__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SPPoint__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSPPointAccess().getServiceAssignment_2()); }
+(rule__SPPoint__ServiceAssignment_2)
+{ after(grammarAccess.getSPPointAccess().getServiceAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__ActorRef__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorRef__Group__0__Impl
+ rule__ActorRef__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorRef__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorRefAccess().getActorRefKeyword_0()); }
+
+ 'ActorRef'
+
+{ after(grammarAccess.getActorRefAccess().getActorRefKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorRef__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorRef__Group__1__Impl
+ rule__ActorRef__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorRef__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorRefAccess().getNameAssignment_1()); }
+(rule__ActorRef__NameAssignment_1)
+{ after(grammarAccess.getActorRefAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorRef__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorRef__Group__2__Impl
+ rule__ActorRef__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorRef__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorRefAccess().getColonKeyword_2()); }
+
+ ':'
+
+{ after(grammarAccess.getActorRefAccess().getColonKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ActorRef__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ActorRef__Group__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorRef__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorRefAccess().getTypeAssignment_3()); }
+(rule__ActorRef__TypeAssignment_3)
+{ after(grammarAccess.getActorRefAccess().getTypeAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__StateGraph__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StateGraph__Group__0__Impl
+ rule__StateGraph__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StateGraph__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStateGraphAccess().getLeftCurlyBracketKeyword_0()); }
+
+ '{'
+
+{ after(grammarAccess.getStateGraphAccess().getLeftCurlyBracketKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__StateGraph__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StateGraph__Group__1__Impl
+ rule__StateGraph__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StateGraph__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+(
+{ before(grammarAccess.getStateGraphAccess().getAlternatives_1()); }
+(rule__StateGraph__Alternatives_1)
+{ after(grammarAccess.getStateGraphAccess().getAlternatives_1()); }
+)
+(
+{ before(grammarAccess.getStateGraphAccess().getAlternatives_1()); }
+(rule__StateGraph__Alternatives_1)*
+{ after(grammarAccess.getStateGraphAccess().getAlternatives_1()); }
+)
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__StateGraph__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StateGraph__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StateGraph__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStateGraphAccess().getRightCurlyBracketKeyword_2()); }
+
+ '}'
+
+{ after(grammarAccess.getStateGraphAccess().getRightCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__StateMachine__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StateMachine__Group__0__Impl
+ rule__StateMachine__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StateMachine__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStateMachineAccess().getStateMachineKeyword_0()); }
+
+ 'StateMachine'
+
+{ after(grammarAccess.getStateMachineAccess().getStateMachineKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__StateMachine__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StateMachine__Group__1__Impl
+ rule__StateMachine__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StateMachine__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStateMachineAccess().getLeftCurlyBracketKeyword_1()); }
+
+ '{'
+
+{ after(grammarAccess.getStateMachineAccess().getLeftCurlyBracketKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__StateMachine__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StateMachine__Group__2__Impl
+ rule__StateMachine__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StateMachine__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+(
+{ before(grammarAccess.getStateMachineAccess().getAlternatives_2()); }
+(rule__StateMachine__Alternatives_2)
+{ after(grammarAccess.getStateMachineAccess().getAlternatives_2()); }
+)
+(
+{ before(grammarAccess.getStateMachineAccess().getAlternatives_2()); }
+(rule__StateMachine__Alternatives_2)*
+{ after(grammarAccess.getStateMachineAccess().getAlternatives_2()); }
+)
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__StateMachine__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__StateMachine__Group__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StateMachine__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStateMachineAccess().getRightCurlyBracketKeyword_3()); }
+
+ '}'
+
+{ after(grammarAccess.getStateMachineAccess().getRightCurlyBracketKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__BaseState__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__BaseState__Group__0__Impl
+ rule__BaseState__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__BaseState__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBaseStateAccess().getStateKeyword_0()); }
+
+ 'State'
+
+{ after(grammarAccess.getBaseStateAccess().getStateKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__BaseState__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__BaseState__Group__1__Impl
+ rule__BaseState__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__BaseState__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBaseStateAccess().getNameAssignment_1()); }
+(rule__BaseState__NameAssignment_1)
+{ after(grammarAccess.getBaseStateAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__BaseState__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__BaseState__Group__2__Impl
+ rule__BaseState__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__BaseState__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBaseStateAccess().getLeftCurlyBracketKeyword_2()); }
+
+ '{'
+
+{ after(grammarAccess.getBaseStateAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__BaseState__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__BaseState__Group__3__Impl
+ rule__BaseState__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__BaseState__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBaseStateAccess().getGroup_3()); }
+(rule__BaseState__Group_3__0)?
+{ after(grammarAccess.getBaseStateAccess().getGroup_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__BaseState__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__BaseState__Group__4__Impl
+ rule__BaseState__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__BaseState__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBaseStateAccess().getGroup_4()); }
+(rule__BaseState__Group_4__0)?
+{ after(grammarAccess.getBaseStateAccess().getGroup_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__BaseState__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__BaseState__Group__5__Impl
+ rule__BaseState__Group__6
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__BaseState__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBaseStateAccess().getGroup_5()); }
+(rule__BaseState__Group_5__0)?
+{ after(grammarAccess.getBaseStateAccess().getGroup_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__BaseState__Group__6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__BaseState__Group__6__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__BaseState__Group__6__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBaseStateAccess().getRightCurlyBracketKeyword_6()); }
+
+ '}'
+
+{ after(grammarAccess.getBaseStateAccess().getRightCurlyBracketKeyword_6()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__BaseState__Group_3__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__BaseState__Group_3__0__Impl
+ rule__BaseState__Group_3__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__BaseState__Group_3__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBaseStateAccess().getEntryKeyword_3_0()); }
+
+ 'entry'
+
+{ after(grammarAccess.getBaseStateAccess().getEntryKeyword_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__BaseState__Group_3__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__BaseState__Group_3__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__BaseState__Group_3__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBaseStateAccess().getEntryCodeAssignment_3_1()); }
+(rule__BaseState__EntryCodeAssignment_3_1)
+{ after(grammarAccess.getBaseStateAccess().getEntryCodeAssignment_3_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__BaseState__Group_4__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__BaseState__Group_4__0__Impl
+ rule__BaseState__Group_4__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__BaseState__Group_4__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBaseStateAccess().getExitKeyword_4_0()); }
+
+ 'exit'
+
+{ after(grammarAccess.getBaseStateAccess().getExitKeyword_4_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__BaseState__Group_4__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__BaseState__Group_4__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__BaseState__Group_4__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBaseStateAccess().getExitCodeAssignment_4_1()); }
+(rule__BaseState__ExitCodeAssignment_4_1)
+{ after(grammarAccess.getBaseStateAccess().getExitCodeAssignment_4_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__BaseState__Group_5__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__BaseState__Group_5__0__Impl
+ rule__BaseState__Group_5__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__BaseState__Group_5__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBaseStateAccess().getSubgraphKeyword_5_0()); }
+
+ 'subgraph'
+
+{ after(grammarAccess.getBaseStateAccess().getSubgraphKeyword_5_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__BaseState__Group_5__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__BaseState__Group_5__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__BaseState__Group_5__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBaseStateAccess().getSubgraphAssignment_5_1()); }
+(rule__BaseState__SubgraphAssignment_5_1)
+{ after(grammarAccess.getBaseStateAccess().getSubgraphAssignment_5_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__RefinedState__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RefinedState__Group__0__Impl
+ rule__RefinedState__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RefinedState__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRefinedStateAccess().getRefinedStateKeyword_0()); }
+
+ 'RefinedState'
+
+{ after(grammarAccess.getRefinedStateAccess().getRefinedStateKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RefinedState__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RefinedState__Group__1__Impl
+ rule__RefinedState__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RefinedState__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRefinedStateAccess().getBaseAssignment_1()); }
+(rule__RefinedState__BaseAssignment_1)
+{ after(grammarAccess.getRefinedStateAccess().getBaseAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RefinedState__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RefinedState__Group__2__Impl
+ rule__RefinedState__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RefinedState__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRefinedStateAccess().getLeftCurlyBracketKeyword_2()); }
+
+ '{'
+
+{ after(grammarAccess.getRefinedStateAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RefinedState__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RefinedState__Group__3__Impl
+ rule__RefinedState__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RefinedState__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRefinedStateAccess().getGroup_3()); }
+(rule__RefinedState__Group_3__0)?
+{ after(grammarAccess.getRefinedStateAccess().getGroup_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RefinedState__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RefinedState__Group__4__Impl
+ rule__RefinedState__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RefinedState__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRefinedStateAccess().getGroup_4()); }
+(rule__RefinedState__Group_4__0)?
+{ after(grammarAccess.getRefinedStateAccess().getGroup_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RefinedState__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RefinedState__Group__5__Impl
+ rule__RefinedState__Group__6
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RefinedState__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRefinedStateAccess().getGroup_5()); }
+(rule__RefinedState__Group_5__0)?
+{ after(grammarAccess.getRefinedStateAccess().getGroup_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RefinedState__Group__6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RefinedState__Group__6__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RefinedState__Group__6__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRefinedStateAccess().getRightCurlyBracketKeyword_6()); }
+
+ '}'
+
+{ after(grammarAccess.getRefinedStateAccess().getRightCurlyBracketKeyword_6()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__RefinedState__Group_3__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RefinedState__Group_3__0__Impl
+ rule__RefinedState__Group_3__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RefinedState__Group_3__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRefinedStateAccess().getEntryKeyword_3_0()); }
+
+ 'entry'
+
+{ after(grammarAccess.getRefinedStateAccess().getEntryKeyword_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RefinedState__Group_3__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RefinedState__Group_3__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RefinedState__Group_3__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRefinedStateAccess().getEntryCodeAssignment_3_1()); }
+(rule__RefinedState__EntryCodeAssignment_3_1)
+{ after(grammarAccess.getRefinedStateAccess().getEntryCodeAssignment_3_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__RefinedState__Group_4__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RefinedState__Group_4__0__Impl
+ rule__RefinedState__Group_4__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RefinedState__Group_4__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRefinedStateAccess().getExitKeyword_4_0()); }
+
+ 'exit'
+
+{ after(grammarAccess.getRefinedStateAccess().getExitKeyword_4_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RefinedState__Group_4__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RefinedState__Group_4__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RefinedState__Group_4__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRefinedStateAccess().getExitCodeAssignment_4_1()); }
+(rule__RefinedState__ExitCodeAssignment_4_1)
+{ after(grammarAccess.getRefinedStateAccess().getExitCodeAssignment_4_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__RefinedState__Group_5__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RefinedState__Group_5__0__Impl
+ rule__RefinedState__Group_5__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RefinedState__Group_5__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRefinedStateAccess().getSubgraphKeyword_5_0()); }
+
+ 'subgraph'
+
+{ after(grammarAccess.getRefinedStateAccess().getSubgraphKeyword_5_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__RefinedState__Group_5__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__RefinedState__Group_5__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RefinedState__Group_5__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRefinedStateAccess().getSubgraphAssignment_5_1()); }
+(rule__RefinedState__SubgraphAssignment_5_1)
+{ after(grammarAccess.getRefinedStateAccess().getSubgraphAssignment_5_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__DetailCode__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DetailCode__Group__0__Impl
+ rule__DetailCode__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DetailCode__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDetailCodeAccess().getLeftCurlyBracketKeyword_0()); }
+
+ '{'
+
+{ after(grammarAccess.getDetailCodeAccess().getLeftCurlyBracketKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__DetailCode__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DetailCode__Group__1__Impl
+ rule__DetailCode__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DetailCode__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+(
+{ before(grammarAccess.getDetailCodeAccess().getCommandsAssignment_1()); }
+(rule__DetailCode__CommandsAssignment_1)
+{ after(grammarAccess.getDetailCodeAccess().getCommandsAssignment_1()); }
+)
+(
+{ before(grammarAccess.getDetailCodeAccess().getCommandsAssignment_1()); }
+(rule__DetailCode__CommandsAssignment_1)*
+{ after(grammarAccess.getDetailCodeAccess().getCommandsAssignment_1()); }
+)
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__DetailCode__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__DetailCode__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DetailCode__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDetailCodeAccess().getRightCurlyBracketKeyword_2()); }
+
+ '}'
+
+{ after(grammarAccess.getDetailCodeAccess().getRightCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__TransitionPoint__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TransitionPoint__Group__0__Impl
+ rule__TransitionPoint__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransitionPoint__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransitionPointAccess().getHandlerAssignment_0()); }
+(rule__TransitionPoint__HandlerAssignment_0)?
+{ after(grammarAccess.getTransitionPointAccess().getHandlerAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TransitionPoint__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TransitionPoint__Group__1__Impl
+ rule__TransitionPoint__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransitionPoint__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransitionPointAccess().getTransitionPointKeyword_1()); }
+
+ 'TransitionPoint'
+
+{ after(grammarAccess.getTransitionPointAccess().getTransitionPointKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TransitionPoint__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TransitionPoint__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransitionPoint__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransitionPointAccess().getNameAssignment_2()); }
+(rule__TransitionPoint__NameAssignment_2)
+{ after(grammarAccess.getTransitionPointAccess().getNameAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__EntryPoint__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__EntryPoint__Group__0__Impl
+ rule__EntryPoint__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__EntryPoint__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getEntryPointAccess().getEntryPointKeyword_0()); }
+
+ 'EntryPoint'
+
+{ after(grammarAccess.getEntryPointAccess().getEntryPointKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__EntryPoint__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__EntryPoint__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__EntryPoint__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getEntryPointAccess().getNameAssignment_1()); }
+(rule__EntryPoint__NameAssignment_1)
+{ after(grammarAccess.getEntryPointAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ExitPoint__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ExitPoint__Group__0__Impl
+ rule__ExitPoint__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ExitPoint__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getExitPointAccess().getExitPointKeyword_0()); }
+
+ 'ExitPoint'
+
+{ after(grammarAccess.getExitPointAccess().getExitPointKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ExitPoint__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ExitPoint__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ExitPoint__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getExitPointAccess().getNameAssignment_1()); }
+(rule__ExitPoint__NameAssignment_1)
+{ after(grammarAccess.getExitPointAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ChoicePoint__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ChoicePoint__Group__0__Impl
+ rule__ChoicePoint__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ChoicePoint__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getChoicePointAccess().getChoicePointKeyword_0()); }
+
+ 'ChoicePoint'
+
+{ after(grammarAccess.getChoicePointAccess().getChoicePointKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ChoicePoint__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ChoicePoint__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ChoicePoint__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getChoicePointAccess().getNameAssignment_1()); }
+(rule__ChoicePoint__NameAssignment_1)
+{ after(grammarAccess.getChoicePointAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__InitialTransition__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__InitialTransition__Group__0__Impl
+ rule__InitialTransition__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__InitialTransition__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getInitialTransitionAccess().getTransitionKeyword_0()); }
+
+ 'Transition'
+
+{ after(grammarAccess.getInitialTransitionAccess().getTransitionKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__InitialTransition__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__InitialTransition__Group__1__Impl
+ rule__InitialTransition__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__InitialTransition__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getInitialTransitionAccess().getNameAssignment_1()); }
+(rule__InitialTransition__NameAssignment_1)?
+{ after(grammarAccess.getInitialTransitionAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__InitialTransition__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__InitialTransition__Group__2__Impl
+ rule__InitialTransition__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__InitialTransition__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getInitialTransitionAccess().getColonKeyword_2()); }
+
+ ':'
+
+{ after(grammarAccess.getInitialTransitionAccess().getColonKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__InitialTransition__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__InitialTransition__Group__3__Impl
+ rule__InitialTransition__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__InitialTransition__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getInitialTransitionAccess().getInitialKeyword_3()); }
+
+ 'initial'
+
+{ after(grammarAccess.getInitialTransitionAccess().getInitialKeyword_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__InitialTransition__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__InitialTransition__Group__4__Impl
+ rule__InitialTransition__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__InitialTransition__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getInitialTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); }
+
+ '->'
+
+{ after(grammarAccess.getInitialTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__InitialTransition__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__InitialTransition__Group__5__Impl
+ rule__InitialTransition__Group__6
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__InitialTransition__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getInitialTransitionAccess().getToAssignment_5()); }
+(rule__InitialTransition__ToAssignment_5)
+{ after(grammarAccess.getInitialTransitionAccess().getToAssignment_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__InitialTransition__Group__6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__InitialTransition__Group__6__Impl
+ rule__InitialTransition__Group__7
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__InitialTransition__Group__6__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getInitialTransitionAccess().getLeftCurlyBracketKeyword_6()); }
+
+ '{'
+
+{ after(grammarAccess.getInitialTransitionAccess().getLeftCurlyBracketKeyword_6()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__InitialTransition__Group__7
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__InitialTransition__Group__7__Impl
+ rule__InitialTransition__Group__8
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__InitialTransition__Group__7__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getInitialTransitionAccess().getGroup_7()); }
+(rule__InitialTransition__Group_7__0)?
+{ after(grammarAccess.getInitialTransitionAccess().getGroup_7()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__InitialTransition__Group__8
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__InitialTransition__Group__8__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__InitialTransition__Group__8__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getInitialTransitionAccess().getRightCurlyBracketKeyword_8()); }
+
+ '}'
+
+{ after(grammarAccess.getInitialTransitionAccess().getRightCurlyBracketKeyword_8()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__InitialTransition__Group_7__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__InitialTransition__Group_7__0__Impl
+ rule__InitialTransition__Group_7__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__InitialTransition__Group_7__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getInitialTransitionAccess().getActionKeyword_7_0()); }
+
+ 'action'
+
+{ after(grammarAccess.getInitialTransitionAccess().getActionKeyword_7_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__InitialTransition__Group_7__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__InitialTransition__Group_7__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__InitialTransition__Group_7__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getInitialTransitionAccess().getActionAssignment_7_1()); }
+(rule__InitialTransition__ActionAssignment_7_1)
+{ after(grammarAccess.getInitialTransitionAccess().getActionAssignment_7_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ContinuationTransition__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ContinuationTransition__Group__0__Impl
+ rule__ContinuationTransition__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ContinuationTransition__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getContinuationTransitionAccess().getTransitionKeyword_0()); }
+
+ 'Transition'
+
+{ after(grammarAccess.getContinuationTransitionAccess().getTransitionKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ContinuationTransition__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ContinuationTransition__Group__1__Impl
+ rule__ContinuationTransition__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ContinuationTransition__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getContinuationTransitionAccess().getNameAssignment_1()); }
+(rule__ContinuationTransition__NameAssignment_1)?
+{ after(grammarAccess.getContinuationTransitionAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ContinuationTransition__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ContinuationTransition__Group__2__Impl
+ rule__ContinuationTransition__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ContinuationTransition__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getContinuationTransitionAccess().getColonKeyword_2()); }
+
+ ':'
+
+{ after(grammarAccess.getContinuationTransitionAccess().getColonKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ContinuationTransition__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ContinuationTransition__Group__3__Impl
+ rule__ContinuationTransition__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ContinuationTransition__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getContinuationTransitionAccess().getFromAssignment_3()); }
+(rule__ContinuationTransition__FromAssignment_3)
+{ after(grammarAccess.getContinuationTransitionAccess().getFromAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ContinuationTransition__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ContinuationTransition__Group__4__Impl
+ rule__ContinuationTransition__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ContinuationTransition__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getContinuationTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); }
+
+ '->'
+
+{ after(grammarAccess.getContinuationTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ContinuationTransition__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ContinuationTransition__Group__5__Impl
+ rule__ContinuationTransition__Group__6
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ContinuationTransition__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getContinuationTransitionAccess().getToAssignment_5()); }
+(rule__ContinuationTransition__ToAssignment_5)
+{ after(grammarAccess.getContinuationTransitionAccess().getToAssignment_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ContinuationTransition__Group__6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ContinuationTransition__Group__6__Impl
+ rule__ContinuationTransition__Group__7
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ContinuationTransition__Group__6__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getContinuationTransitionAccess().getLeftCurlyBracketKeyword_6()); }
+
+ '{'
+
+{ after(grammarAccess.getContinuationTransitionAccess().getLeftCurlyBracketKeyword_6()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ContinuationTransition__Group__7
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ContinuationTransition__Group__7__Impl
+ rule__ContinuationTransition__Group__8
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ContinuationTransition__Group__7__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getContinuationTransitionAccess().getGroup_7()); }
+(rule__ContinuationTransition__Group_7__0)?
+{ after(grammarAccess.getContinuationTransitionAccess().getGroup_7()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ContinuationTransition__Group__8
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ContinuationTransition__Group__8__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ContinuationTransition__Group__8__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getContinuationTransitionAccess().getRightCurlyBracketKeyword_8()); }
+
+ '}'
+
+{ after(grammarAccess.getContinuationTransitionAccess().getRightCurlyBracketKeyword_8()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__ContinuationTransition__Group_7__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ContinuationTransition__Group_7__0__Impl
+ rule__ContinuationTransition__Group_7__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ContinuationTransition__Group_7__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getContinuationTransitionAccess().getActionKeyword_7_0()); }
+
+ 'action'
+
+{ after(grammarAccess.getContinuationTransitionAccess().getActionKeyword_7_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ContinuationTransition__Group_7__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ContinuationTransition__Group_7__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ContinuationTransition__Group_7__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getContinuationTransitionAccess().getActionAssignment_7_1()); }
+(rule__ContinuationTransition__ActionAssignment_7_1)
+{ after(grammarAccess.getContinuationTransitionAccess().getActionAssignment_7_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__TriggeredTransition__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TriggeredTransition__Group__0__Impl
+ rule__TriggeredTransition__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TriggeredTransition__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggeredTransitionAccess().getTransitionKeyword_0()); }
+
+ 'Transition'
+
+{ after(grammarAccess.getTriggeredTransitionAccess().getTransitionKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TriggeredTransition__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TriggeredTransition__Group__1__Impl
+ rule__TriggeredTransition__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TriggeredTransition__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggeredTransitionAccess().getNameAssignment_1()); }
+(rule__TriggeredTransition__NameAssignment_1)?
+{ after(grammarAccess.getTriggeredTransitionAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TriggeredTransition__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TriggeredTransition__Group__2__Impl
+ rule__TriggeredTransition__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TriggeredTransition__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggeredTransitionAccess().getColonKeyword_2()); }
+
+ ':'
+
+{ after(grammarAccess.getTriggeredTransitionAccess().getColonKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TriggeredTransition__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TriggeredTransition__Group__3__Impl
+ rule__TriggeredTransition__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TriggeredTransition__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggeredTransitionAccess().getFromAssignment_3()); }
+(rule__TriggeredTransition__FromAssignment_3)
+{ after(grammarAccess.getTriggeredTransitionAccess().getFromAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TriggeredTransition__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TriggeredTransition__Group__4__Impl
+ rule__TriggeredTransition__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TriggeredTransition__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggeredTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); }
+
+ '->'
+
+{ after(grammarAccess.getTriggeredTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TriggeredTransition__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TriggeredTransition__Group__5__Impl
+ rule__TriggeredTransition__Group__6
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TriggeredTransition__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggeredTransitionAccess().getToAssignment_5()); }
+(rule__TriggeredTransition__ToAssignment_5)
+{ after(grammarAccess.getTriggeredTransitionAccess().getToAssignment_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TriggeredTransition__Group__6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TriggeredTransition__Group__6__Impl
+ rule__TriggeredTransition__Group__7
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TriggeredTransition__Group__6__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggeredTransitionAccess().getLeftCurlyBracketKeyword_6()); }
+
+ '{'
+
+{ after(grammarAccess.getTriggeredTransitionAccess().getLeftCurlyBracketKeyword_6()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TriggeredTransition__Group__7
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TriggeredTransition__Group__7__Impl
+ rule__TriggeredTransition__Group__8
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TriggeredTransition__Group__7__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggeredTransitionAccess().getTriggersKeyword_7()); }
+
+ 'triggers'
+
+{ after(grammarAccess.getTriggeredTransitionAccess().getTriggersKeyword_7()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TriggeredTransition__Group__8
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TriggeredTransition__Group__8__Impl
+ rule__TriggeredTransition__Group__9
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TriggeredTransition__Group__8__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggeredTransitionAccess().getLeftCurlyBracketKeyword_8()); }
+
+ '{'
+
+{ after(grammarAccess.getTriggeredTransitionAccess().getLeftCurlyBracketKeyword_8()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TriggeredTransition__Group__9
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TriggeredTransition__Group__9__Impl
+ rule__TriggeredTransition__Group__10
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TriggeredTransition__Group__9__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggeredTransitionAccess().getTriggersAssignment_9()); }
+(rule__TriggeredTransition__TriggersAssignment_9)
+{ after(grammarAccess.getTriggeredTransitionAccess().getTriggersAssignment_9()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TriggeredTransition__Group__10
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TriggeredTransition__Group__10__Impl
+ rule__TriggeredTransition__Group__11
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TriggeredTransition__Group__10__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggeredTransitionAccess().getGroup_10()); }
+(rule__TriggeredTransition__Group_10__0)*
+{ after(grammarAccess.getTriggeredTransitionAccess().getGroup_10()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TriggeredTransition__Group__11
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TriggeredTransition__Group__11__Impl
+ rule__TriggeredTransition__Group__12
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TriggeredTransition__Group__11__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggeredTransitionAccess().getRightCurlyBracketKeyword_11()); }
+
+ '}'
+
+{ after(grammarAccess.getTriggeredTransitionAccess().getRightCurlyBracketKeyword_11()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TriggeredTransition__Group__12
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TriggeredTransition__Group__12__Impl
+ rule__TriggeredTransition__Group__13
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TriggeredTransition__Group__12__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggeredTransitionAccess().getGroup_12()); }
+(rule__TriggeredTransition__Group_12__0)?
+{ after(grammarAccess.getTriggeredTransitionAccess().getGroup_12()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TriggeredTransition__Group__13
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TriggeredTransition__Group__13__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TriggeredTransition__Group__13__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggeredTransitionAccess().getRightCurlyBracketKeyword_13()); }
+
+ '}'
+
+{ after(grammarAccess.getTriggeredTransitionAccess().getRightCurlyBracketKeyword_13()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__TriggeredTransition__Group_10__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TriggeredTransition__Group_10__0__Impl
+ rule__TriggeredTransition__Group_10__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TriggeredTransition__Group_10__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggeredTransitionAccess().getOrKeyword_10_0()); }
+
+ 'or'
+
+{ after(grammarAccess.getTriggeredTransitionAccess().getOrKeyword_10_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TriggeredTransition__Group_10__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TriggeredTransition__Group_10__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TriggeredTransition__Group_10__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggeredTransitionAccess().getTriggersAssignment_10_1()); }
+(rule__TriggeredTransition__TriggersAssignment_10_1)
+{ after(grammarAccess.getTriggeredTransitionAccess().getTriggersAssignment_10_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__TriggeredTransition__Group_12__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TriggeredTransition__Group_12__0__Impl
+ rule__TriggeredTransition__Group_12__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TriggeredTransition__Group_12__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggeredTransitionAccess().getActionKeyword_12_0()); }
+
+ 'action'
+
+{ after(grammarAccess.getTriggeredTransitionAccess().getActionKeyword_12_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TriggeredTransition__Group_12__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TriggeredTransition__Group_12__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TriggeredTransition__Group_12__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggeredTransitionAccess().getActionAssignment_12_1()); }
+(rule__TriggeredTransition__ActionAssignment_12_1)
+{ after(grammarAccess.getTriggeredTransitionAccess().getActionAssignment_12_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__CPBranchTransition__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CPBranchTransition__Group__0__Impl
+ rule__CPBranchTransition__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CPBranchTransition__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCPBranchTransitionAccess().getTransitionKeyword_0()); }
+
+ 'Transition'
+
+{ after(grammarAccess.getCPBranchTransitionAccess().getTransitionKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__CPBranchTransition__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CPBranchTransition__Group__1__Impl
+ rule__CPBranchTransition__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CPBranchTransition__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCPBranchTransitionAccess().getNameAssignment_1()); }
+(rule__CPBranchTransition__NameAssignment_1)?
+{ after(grammarAccess.getCPBranchTransitionAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__CPBranchTransition__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CPBranchTransition__Group__2__Impl
+ rule__CPBranchTransition__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CPBranchTransition__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCPBranchTransitionAccess().getColonKeyword_2()); }
+
+ ':'
+
+{ after(grammarAccess.getCPBranchTransitionAccess().getColonKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__CPBranchTransition__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CPBranchTransition__Group__3__Impl
+ rule__CPBranchTransition__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CPBranchTransition__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCPBranchTransitionAccess().getFromAssignment_3()); }
+(rule__CPBranchTransition__FromAssignment_3)
+{ after(grammarAccess.getCPBranchTransitionAccess().getFromAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__CPBranchTransition__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CPBranchTransition__Group__4__Impl
+ rule__CPBranchTransition__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CPBranchTransition__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCPBranchTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); }
+
+ '->'
+
+{ after(grammarAccess.getCPBranchTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__CPBranchTransition__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CPBranchTransition__Group__5__Impl
+ rule__CPBranchTransition__Group__6
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CPBranchTransition__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCPBranchTransitionAccess().getToAssignment_5()); }
+(rule__CPBranchTransition__ToAssignment_5)
+{ after(grammarAccess.getCPBranchTransitionAccess().getToAssignment_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__CPBranchTransition__Group__6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CPBranchTransition__Group__6__Impl
+ rule__CPBranchTransition__Group__7
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CPBranchTransition__Group__6__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCPBranchTransitionAccess().getLeftCurlyBracketKeyword_6()); }
+
+ '{'
+
+{ after(grammarAccess.getCPBranchTransitionAccess().getLeftCurlyBracketKeyword_6()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__CPBranchTransition__Group__7
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CPBranchTransition__Group__7__Impl
+ rule__CPBranchTransition__Group__8
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CPBranchTransition__Group__7__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCPBranchTransitionAccess().getCondKeyword_7()); }
+
+ 'cond'
+
+{ after(grammarAccess.getCPBranchTransitionAccess().getCondKeyword_7()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__CPBranchTransition__Group__8
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CPBranchTransition__Group__8__Impl
+ rule__CPBranchTransition__Group__9
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CPBranchTransition__Group__8__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCPBranchTransitionAccess().getConditionAssignment_8()); }
+(rule__CPBranchTransition__ConditionAssignment_8)
+{ after(grammarAccess.getCPBranchTransitionAccess().getConditionAssignment_8()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__CPBranchTransition__Group__9
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CPBranchTransition__Group__9__Impl
+ rule__CPBranchTransition__Group__10
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CPBranchTransition__Group__9__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCPBranchTransitionAccess().getGroup_9()); }
+(rule__CPBranchTransition__Group_9__0)?
+{ after(grammarAccess.getCPBranchTransitionAccess().getGroup_9()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__CPBranchTransition__Group__10
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CPBranchTransition__Group__10__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CPBranchTransition__Group__10__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCPBranchTransitionAccess().getRightCurlyBracketKeyword_10()); }
+
+ '}'
+
+{ after(grammarAccess.getCPBranchTransitionAccess().getRightCurlyBracketKeyword_10()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__CPBranchTransition__Group_9__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CPBranchTransition__Group_9__0__Impl
+ rule__CPBranchTransition__Group_9__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CPBranchTransition__Group_9__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCPBranchTransitionAccess().getActionKeyword_9_0()); }
+
+ 'action'
+
+{ after(grammarAccess.getCPBranchTransitionAccess().getActionKeyword_9_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__CPBranchTransition__Group_9__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__CPBranchTransition__Group_9__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CPBranchTransition__Group_9__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCPBranchTransitionAccess().getActionAssignment_9_1()); }
+(rule__CPBranchTransition__ActionAssignment_9_1)
+{ after(grammarAccess.getCPBranchTransitionAccess().getActionAssignment_9_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__TrPointTerminal__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TrPointTerminal__Group__0__Impl
+ rule__TrPointTerminal__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TrPointTerminal__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTrPointTerminalAccess().getMyKeyword_0()); }
+
+ 'my'
+
+{ after(grammarAccess.getTrPointTerminalAccess().getMyKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TrPointTerminal__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TrPointTerminal__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TrPointTerminal__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTrPointTerminalAccess().getTrPointAssignment_1()); }
+(rule__TrPointTerminal__TrPointAssignment_1)
+{ after(grammarAccess.getTrPointTerminalAccess().getTrPointAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__SubStateTrPointTerminal__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SubStateTrPointTerminal__Group__0__Impl
+ rule__SubStateTrPointTerminal__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubStateTrPointTerminal__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubStateTrPointTerminalAccess().getTrPointAssignment_0()); }
+(rule__SubStateTrPointTerminal__TrPointAssignment_0)
+{ after(grammarAccess.getSubStateTrPointTerminalAccess().getTrPointAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SubStateTrPointTerminal__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SubStateTrPointTerminal__Group__1__Impl
+ rule__SubStateTrPointTerminal__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubStateTrPointTerminal__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubStateTrPointTerminalAccess().getOfKeyword_1()); }
+
+ 'of'
+
+{ after(grammarAccess.getSubStateTrPointTerminalAccess().getOfKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__SubStateTrPointTerminal__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__SubStateTrPointTerminal__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubStateTrPointTerminal__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubStateTrPointTerminalAccess().getStateAssignment_2()); }
+(rule__SubStateTrPointTerminal__StateAssignment_2)
+{ after(grammarAccess.getSubStateTrPointTerminalAccess().getStateAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__ChoicepointTerminal__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ChoicepointTerminal__Group__0__Impl
+ rule__ChoicepointTerminal__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ChoicepointTerminal__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getChoicepointTerminalAccess().getCpKeyword_0()); }
+
+ 'cp'
+
+{ after(grammarAccess.getChoicepointTerminalAccess().getCpKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ChoicepointTerminal__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ChoicepointTerminal__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ChoicepointTerminal__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getChoicepointTerminalAccess().getCpAssignment_1()); }
+(rule__ChoicepointTerminal__CpAssignment_1)
+{ after(grammarAccess.getChoicepointTerminalAccess().getCpAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Trigger__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Trigger__Group__0__Impl
+ rule__Trigger__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Trigger__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggerAccess().getLessThanSignKeyword_0()); }
+
+ '<'
+
+{ after(grammarAccess.getTriggerAccess().getLessThanSignKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Trigger__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Trigger__Group__1__Impl
+ rule__Trigger__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Trigger__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggerAccess().getMsgFromIfPairsAssignment_1()); }
+(rule__Trigger__MsgFromIfPairsAssignment_1)
+{ after(grammarAccess.getTriggerAccess().getMsgFromIfPairsAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Trigger__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Trigger__Group__2__Impl
+ rule__Trigger__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Trigger__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggerAccess().getGroup_2()); }
+(rule__Trigger__Group_2__0)*
+{ after(grammarAccess.getTriggerAccess().getGroup_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Trigger__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Trigger__Group__3__Impl
+ rule__Trigger__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Trigger__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggerAccess().getGuardAssignment_3()); }
+(rule__Trigger__GuardAssignment_3)?
+{ after(grammarAccess.getTriggerAccess().getGuardAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Trigger__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Trigger__Group__4__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Trigger__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggerAccess().getGreaterThanSignKeyword_4()); }
+
+ '>'
+
+{ after(grammarAccess.getTriggerAccess().getGreaterThanSignKeyword_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+rule__Trigger__Group_2__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Trigger__Group_2__0__Impl
+ rule__Trigger__Group_2__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Trigger__Group_2__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggerAccess().getVerticalLineKeyword_2_0()); }
+
+ '|'
+
+{ after(grammarAccess.getTriggerAccess().getVerticalLineKeyword_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Trigger__Group_2__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Trigger__Group_2__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Trigger__Group_2__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggerAccess().getMsgFromIfPairsAssignment_2_1()); }
+(rule__Trigger__MsgFromIfPairsAssignment_2_1)
+{ after(grammarAccess.getTriggerAccess().getMsgFromIfPairsAssignment_2_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__MessageFromIf__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MessageFromIf__Group__0__Impl
+ rule__MessageFromIf__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageFromIf__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageFromIfAccess().getMessageAssignment_0()); }
+(rule__MessageFromIf__MessageAssignment_0)
+{ after(grammarAccess.getMessageFromIfAccess().getMessageAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__MessageFromIf__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MessageFromIf__Group__1__Impl
+ rule__MessageFromIf__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageFromIf__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageFromIfAccess().getColonKeyword_1()); }
+
+ ':'
+
+{ after(grammarAccess.getMessageFromIfAccess().getColonKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__MessageFromIf__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__MessageFromIf__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageFromIf__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageFromIfAccess().getFromAssignment_2()); }
+(rule__MessageFromIf__FromAssignment_2)
+{ after(grammarAccess.getMessageFromIfAccess().getFromAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__Guard__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Guard__Group__0__Impl
+ rule__Guard__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Guard__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGuardAccess().getGuardKeyword_0()); }
+
+ 'guard'
+
+{ after(grammarAccess.getGuardAccess().getGuardKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Guard__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Guard__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Guard__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGuardAccess().getGuardAssignment_1()); }
+(rule__Guard__GuardAssignment_1)
+{ after(grammarAccess.getGuardAccess().getGuardAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Import__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Import__Group__0__Impl
+ rule__Import__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Import__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getImportAccess().getImportKeyword_0()); }
+
+ 'import'
+
+{ after(grammarAccess.getImportAccess().getImportKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Import__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Import__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Import__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getImportAccess().getImportedNamespaceAssignment_1()); }
+(rule__Import__ImportedNamespaceAssignment_1)
+{ after(grammarAccess.getImportAccess().getImportedNamespaceAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ImportedFQN__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ImportedFQN__Group__0__Impl
+ rule__ImportedFQN__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ImportedFQN__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getImportedFQNAccess().getFQNParserRuleCall_0()); }
+ ruleFQN
+{ after(grammarAccess.getImportedFQNAccess().getFQNParserRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ImportedFQN__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ImportedFQN__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ImportedFQN__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getImportedFQNAccess().getGroup_1()); }
+(rule__ImportedFQN__Group_1__0)?
+{ after(grammarAccess.getImportedFQNAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ImportedFQN__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ImportedFQN__Group_1__0__Impl
+ rule__ImportedFQN__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ImportedFQN__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getImportedFQNAccess().getFullStopKeyword_1_0()); }
+
+ '.'
+
+{ after(grammarAccess.getImportedFQNAccess().getFullStopKeyword_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ImportedFQN__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ImportedFQN__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ImportedFQN__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getImportedFQNAccess().getAsteriskKeyword_1_1()); }
+
+ '*'
+
+{ after(grammarAccess.getImportedFQNAccess().getAsteriskKeyword_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__FQN__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FQN__Group__0__Impl
+ rule__FQN__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FQN__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFQNAccess().getIDTerminalRuleCall_0()); }
+ RULE_ID
+{ after(grammarAccess.getFQNAccess().getIDTerminalRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__FQN__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FQN__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FQN__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFQNAccess().getGroup_1()); }
+(rule__FQN__Group_1__0)*
+{ after(grammarAccess.getFQNAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__FQN__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FQN__Group_1__0__Impl
+ rule__FQN__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FQN__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFQNAccess().getFullStopKeyword_1_0()); }
+
+ '.'
+
+{ after(grammarAccess.getFQNAccess().getFullStopKeyword_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__FQN__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FQN__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FQN__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFQNAccess().getIDTerminalRuleCall_1_1()); }
+ RULE_ID
+{ after(grammarAccess.getFQNAccess().getIDTerminalRuleCall_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+rule__RoomModel__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRoomModelAccess().getNameFQNParserRuleCall_1_0()); }
+ ruleFQN{ after(grammarAccess.getRoomModelAccess().getNameFQNParserRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RoomModel__ImportsAssignment_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRoomModelAccess().getImportsImportParserRuleCall_3_0()); }
+ ruleImport{ after(grammarAccess.getRoomModelAccess().getImportsImportParserRuleCall_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RoomModel__DataClassesAssignment_4_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRoomModelAccess().getDataClassesDataClassParserRuleCall_4_0_0()); }
+ ruleDataClass{ after(grammarAccess.getRoomModelAccess().getDataClassesDataClassParserRuleCall_4_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RoomModel__ProtocolClassesAssignment_4_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRoomModelAccess().getProtocolClassesProtocolClassParserRuleCall_4_1_0()); }
+ ruleProtocolClass{ after(grammarAccess.getRoomModelAccess().getProtocolClassesProtocolClassParserRuleCall_4_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RoomModel__ActorClassesAssignment_4_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRoomModelAccess().getActorClassesActorClassParserRuleCall_4_2_0()); }
+ ruleActorClass{ after(grammarAccess.getRoomModelAccess().getActorClassesActorClassParserRuleCall_4_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RoomModel__SubSystemClassesAssignment_4_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRoomModelAccess().getSubSystemClassesSubSystemClassParserRuleCall_4_3_0()); }
+ ruleSubSystemClass{ after(grammarAccess.getRoomModelAccess().getSubSystemClassesSubSystemClassParserRuleCall_4_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RoomModel__SystemsAssignment_4_4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRoomModelAccess().getSystemsLogicalSystemParserRuleCall_4_4_0()); }
+ ruleLogicalSystem{ after(grammarAccess.getRoomModelAccess().getSystemsLogicalSystemParserRuleCall_4_4_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TypedID__NameAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTypedIDAccess().getNameIDTerminalRuleCall_0_0()); }
+ RULE_ID{ after(grammarAccess.getTypedIDAccess().getNameIDTerminalRuleCall_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TypedID__TypeAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTypedIDAccess().getTypeTypeParserRuleCall_2_0()); }
+ ruleType{ after(grammarAccess.getTypedIDAccess().getTypeTypeParserRuleCall_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FreeTypedID__NameAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFreeTypedIDAccess().getNameIDTerminalRuleCall_0_0()); }
+ RULE_ID{ after(grammarAccess.getFreeTypedIDAccess().getNameIDTerminalRuleCall_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FreeTypedID__TypeAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFreeTypedIDAccess().getTypeFreeTypeParserRuleCall_2_0()); }
+ ruleFreeType{ after(grammarAccess.getFreeTypedIDAccess().getTypeFreeTypeParserRuleCall_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Type__PrimAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTypeAccess().getPrimPrimitiveTypeEnumRuleCall_0_0()); }
+ rulePrimitiveType{ after(grammarAccess.getTypeAccess().getPrimPrimitiveTypeEnumRuleCall_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Type__TypeAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTypeAccess().getTypeDataClassCrossReference_1_0()); }
+(
+{ before(grammarAccess.getTypeAccess().getTypeDataClassFQNParserRuleCall_1_0_1()); }
+ ruleFQN{ after(grammarAccess.getTypeAccess().getTypeDataClassFQNParserRuleCall_1_0_1()); }
+)
+{ after(grammarAccess.getTypeAccess().getTypeDataClassCrossReference_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FreeType__PrimAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFreeTypeAccess().getPrimPrimitiveTypeEnumRuleCall_0_0()); }
+ rulePrimitiveType{ after(grammarAccess.getFreeTypeAccess().getPrimPrimitiveTypeEnumRuleCall_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FreeType__TypeAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFreeTypeAccess().getTypeIDTerminalRuleCall_1_0()); }
+ RULE_ID{ after(grammarAccess.getFreeTypeAccess().getTypeIDTerminalRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DataClass__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDataClassAccess().getNameIDTerminalRuleCall_1_0()); }
+ RULE_ID{ after(grammarAccess.getDataClassAccess().getNameIDTerminalRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DataClass__BaseAssignment_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDataClassAccess().getBaseDataClassCrossReference_2_1_0()); }
+(
+{ before(grammarAccess.getDataClassAccess().getBaseDataClassFQNParserRuleCall_2_1_0_1()); }
+ ruleFQN{ after(grammarAccess.getDataClassAccess().getBaseDataClassFQNParserRuleCall_2_1_0_1()); }
+)
+{ after(grammarAccess.getDataClassAccess().getBaseDataClassCrossReference_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DataClass__ImportsAssignment_4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDataClassAccess().getImportsImportParserRuleCall_4_0()); }
+ ruleImport{ after(grammarAccess.getDataClassAccess().getImportsImportParserRuleCall_4_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DataClass__AttributesAssignment_5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDataClassAccess().getAttributesAttributeParserRuleCall_5_0()); }
+ ruleAttribute{ after(grammarAccess.getDataClassAccess().getAttributesAttributeParserRuleCall_5_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DataClass__OperationsAssignment_6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDataClassAccess().getOperationsOperationParserRuleCall_6_0()); }
+ ruleOperation{ after(grammarAccess.getDataClassAccess().getOperationsOperationParserRuleCall_6_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Attribute__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getAttributeAccess().getNameIDTerminalRuleCall_1_0()); }
+ RULE_ID{ after(grammarAccess.getAttributeAccess().getNameIDTerminalRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Attribute__SizeAssignment_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getAttributeAccess().getSizeINTTerminalRuleCall_2_1_0()); }
+ RULE_INT{ after(grammarAccess.getAttributeAccess().getSizeINTTerminalRuleCall_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Attribute__TypeAssignment_4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getAttributeAccess().getTypeTypeParserRuleCall_4_0()); }
+ ruleType{ after(grammarAccess.getAttributeAccess().getTypeTypeParserRuleCall_4_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Operation__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOperationAccess().getNameIDTerminalRuleCall_1_0()); }
+ RULE_ID{ after(grammarAccess.getOperationAccess().getNameIDTerminalRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Operation__ArgumentsAssignment_3_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOperationAccess().getArgumentsFreeTypedIDParserRuleCall_3_0_0()); }
+ ruleFreeTypedID{ after(grammarAccess.getOperationAccess().getArgumentsFreeTypedIDParserRuleCall_3_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Operation__ArgumentsAssignment_3_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOperationAccess().getArgumentsFreeTypedIDParserRuleCall_3_1_1_0()); }
+ ruleFreeTypedID{ after(grammarAccess.getOperationAccess().getArgumentsFreeTypedIDParserRuleCall_3_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Operation__ReturntypeAssignment_5_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOperationAccess().getReturntypeFreeTypeParserRuleCall_5_1_0()); }
+ ruleFreeType{ after(grammarAccess.getOperationAccess().getReturntypeFreeTypeParserRuleCall_5_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Operation__DetailCodeAssignment_6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getOperationAccess().getDetailCodeDetailCodeParserRuleCall_6_0()); }
+ ruleDetailCode{ after(grammarAccess.getOperationAccess().getDetailCodeDetailCodeParserRuleCall_6_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getNameIDTerminalRuleCall_1_0()); }
+ RULE_ID{ after(grammarAccess.getProtocolClassAccess().getNameIDTerminalRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__BaseAssignment_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getBaseProtocolClassCrossReference_2_1_0()); }
+(
+{ before(grammarAccess.getProtocolClassAccess().getBaseProtocolClassFQNParserRuleCall_2_1_0_1()); }
+ ruleFQN{ after(grammarAccess.getProtocolClassAccess().getBaseProtocolClassFQNParserRuleCall_2_1_0_1()); }
+)
+{ after(grammarAccess.getProtocolClassAccess().getBaseProtocolClassCrossReference_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__UserCode1Assignment_4_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getUserCode1DetailCodeParserRuleCall_4_1_0()); }
+ ruleDetailCode{ after(grammarAccess.getProtocolClassAccess().getUserCode1DetailCodeParserRuleCall_4_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__UserCode2Assignment_5_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getUserCode2DetailCodeParserRuleCall_5_1_0()); }
+ ruleDetailCode{ after(grammarAccess.getProtocolClassAccess().getUserCode2DetailCodeParserRuleCall_5_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__IncomingMessagesAssignment_8
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getIncomingMessagesMessageParserRuleCall_8_0()); }
+ ruleMessage{ after(grammarAccess.getProtocolClassAccess().getIncomingMessagesMessageParserRuleCall_8_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__OutgoingMessagesAssignment_12
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getOutgoingMessagesMessageParserRuleCall_12_0()); }
+ ruleMessage{ after(grammarAccess.getProtocolClassAccess().getOutgoingMessagesMessageParserRuleCall_12_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__RegularAssignment_14_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getRegularPortClassParserRuleCall_14_2_0()); }
+ rulePortClass{ after(grammarAccess.getProtocolClassAccess().getRegularPortClassParserRuleCall_14_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__ConjugateAssignment_15_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getConjugatePortClassParserRuleCall_15_2_0()); }
+ rulePortClass{ after(grammarAccess.getProtocolClassAccess().getConjugatePortClassParserRuleCall_15_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolClass__SemanticsAssignment_16
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolClassAccess().getSemanticsProtocolSemanticsParserRuleCall_16_0()); }
+ ruleProtocolSemantics{ after(grammarAccess.getProtocolClassAccess().getSemanticsProtocolSemanticsParserRuleCall_16_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Message__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageAccess().getNameIDTerminalRuleCall_1_0()); }
+ RULE_ID{ after(grammarAccess.getMessageAccess().getNameIDTerminalRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Message__ArgumentsAssignment_3_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageAccess().getArgumentsTypedIDParserRuleCall_3_0_0()); }
+ ruleTypedID{ after(grammarAccess.getMessageAccess().getArgumentsTypedIDParserRuleCall_3_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Message__ArgumentsAssignment_3_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageAccess().getArgumentsTypedIDParserRuleCall_3_1_1_0()); }
+ ruleTypedID{ after(grammarAccess.getMessageAccess().getArgumentsTypedIDParserRuleCall_3_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PortClass__UserCodeAssignment_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortClassAccess().getUserCodeDetailCodeParserRuleCall_1_1_0()); }
+ ruleDetailCode{ after(grammarAccess.getPortClassAccess().getUserCodeDetailCodeParserRuleCall_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PortClass__AttributesAssignment_2_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortClassAccess().getAttributesAttributeParserRuleCall_2_0_0()); }
+ ruleAttribute{ after(grammarAccess.getPortClassAccess().getAttributesAttributeParserRuleCall_2_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PortClass__OperationsAssignment_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortClassAccess().getOperationsOperationParserRuleCall_2_1_0()); }
+ ruleOperation{ after(grammarAccess.getPortClassAccess().getOperationsOperationParserRuleCall_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PortClass__MsgHandlersAssignment_2_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortClassAccess().getMsgHandlersMessageHandlerParserRuleCall_2_2_0()); }
+ ruleMessageHandler{ after(grammarAccess.getPortClassAccess().getMsgHandlersMessageHandlerParserRuleCall_2_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageHandler__MsgAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageHandlerAccess().getMsgMessageCrossReference_1_0()); }
+(
+{ before(grammarAccess.getMessageHandlerAccess().getMsgMessageIDTerminalRuleCall_1_0_1()); }
+ RULE_ID{ after(grammarAccess.getMessageHandlerAccess().getMsgMessageIDTerminalRuleCall_1_0_1()); }
+)
+{ after(grammarAccess.getMessageHandlerAccess().getMsgMessageCrossReference_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageHandler__DetailCodeAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageHandlerAccess().getDetailCodeDetailCodeParserRuleCall_2_0()); }
+ ruleDetailCode{ after(grammarAccess.getMessageHandlerAccess().getDetailCodeDetailCodeParserRuleCall_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ProtocolSemantics__RulesAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getProtocolSemanticsAccess().getRulesSemanticsRuleParserRuleCall_2_0()); }
+ ruleSemanticsRule{ after(grammarAccess.getProtocolSemanticsAccess().getRulesSemanticsRuleParserRuleCall_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SemanticsInRule__MsgAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSemanticsInRuleAccess().getMsgMessageCrossReference_1_0()); }
+(
+{ before(grammarAccess.getSemanticsInRuleAccess().getMsgMessageIDTerminalRuleCall_1_0_1()); }
+ RULE_ID{ after(grammarAccess.getSemanticsInRuleAccess().getMsgMessageIDTerminalRuleCall_1_0_1()); }
+)
+{ after(grammarAccess.getSemanticsInRuleAccess().getMsgMessageCrossReference_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SemanticsInRule__FollowUpsAssignment_4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSemanticsInRuleAccess().getFollowUpsSemanticsRuleParserRuleCall_4_0()); }
+ ruleSemanticsRule{ after(grammarAccess.getSemanticsInRuleAccess().getFollowUpsSemanticsRuleParserRuleCall_4_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SemanticsOutRule__MsgAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSemanticsOutRuleAccess().getMsgMessageCrossReference_1_0()); }
+(
+{ before(grammarAccess.getSemanticsOutRuleAccess().getMsgMessageIDTerminalRuleCall_1_0_1()); }
+ RULE_ID{ after(grammarAccess.getSemanticsOutRuleAccess().getMsgMessageIDTerminalRuleCall_1_0_1()); }
+)
+{ after(grammarAccess.getSemanticsOutRuleAccess().getMsgMessageCrossReference_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SemanticsOutRule__FollowUpsAssignment_4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSemanticsOutRuleAccess().getFollowUpsSemanticsRuleParserRuleCall_4_0()); }
+ ruleSemanticsRule{ after(grammarAccess.getSemanticsOutRuleAccess().getFollowUpsSemanticsRuleParserRuleCall_4_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__AbstractAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getAbstractAbstractKeyword_0_0()); }
+(
+{ before(grammarAccess.getActorClassAccess().getAbstractAbstractKeyword_0_0()); }
+
+ 'abstract'
+
+{ after(grammarAccess.getActorClassAccess().getAbstractAbstractKeyword_0_0()); }
+)
+
+{ after(grammarAccess.getActorClassAccess().getAbstractAbstractKeyword_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__NameAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getNameIDTerminalRuleCall_2_0()); }
+ RULE_ID{ after(grammarAccess.getActorClassAccess().getNameIDTerminalRuleCall_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__BaseAssignment_3_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getBaseActorClassCrossReference_3_1_0()); }
+(
+{ before(grammarAccess.getActorClassAccess().getBaseActorClassFQNParserRuleCall_3_1_0_1()); }
+ ruleFQN{ after(grammarAccess.getActorClassAccess().getBaseActorClassFQNParserRuleCall_3_1_0_1()); }
+)
+{ after(grammarAccess.getActorClassAccess().getBaseActorClassCrossReference_3_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__IfPortsAssignment_5_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getIfPortsPortParserRuleCall_5_2_0()); }
+ rulePort{ after(grammarAccess.getActorClassAccess().getIfPortsPortParserRuleCall_5_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__IfSPPsAssignment_5_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getIfSPPsSPPRefParserRuleCall_5_3_0()); }
+ ruleSPPRef{ after(grammarAccess.getActorClassAccess().getIfSPPsSPPRefParserRuleCall_5_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__UserCode1Assignment_6_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getUserCode1DetailCodeParserRuleCall_6_2_1_0()); }
+ ruleDetailCode{ after(grammarAccess.getActorClassAccess().getUserCode1DetailCodeParserRuleCall_6_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__UserCode2Assignment_6_3_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getUserCode2DetailCodeParserRuleCall_6_3_1_0()); }
+ ruleDetailCode{ after(grammarAccess.getActorClassAccess().getUserCode2DetailCodeParserRuleCall_6_3_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__IntPortsAssignment_6_4_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getIntPortsPortParserRuleCall_6_4_0_0()); }
+ rulePort{ after(grammarAccess.getActorClassAccess().getIntPortsPortParserRuleCall_6_4_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__ExtPortsAssignment_6_4_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getExtPortsExternalPortParserRuleCall_6_4_1_0()); }
+ ruleExternalPort{ after(grammarAccess.getActorClassAccess().getExtPortsExternalPortParserRuleCall_6_4_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__ServiceImplementationsAssignment_6_5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getServiceImplementationsServiceImplementationParserRuleCall_6_5_0()); }
+ ruleServiceImplementation{ after(grammarAccess.getActorClassAccess().getServiceImplementationsServiceImplementationParserRuleCall_6_5_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__StrSAPsAssignment_6_6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getStrSAPsSAPRefParserRuleCall_6_6_0()); }
+ ruleSAPRef{ after(grammarAccess.getActorClassAccess().getStrSAPsSAPRefParserRuleCall_6_6_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__AttributesAssignment_6_7
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getAttributesAttributeParserRuleCall_6_7_0()); }
+ ruleAttribute{ after(grammarAccess.getActorClassAccess().getAttributesAttributeParserRuleCall_6_7_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__ActorRefsAssignment_6_8
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getActorRefsActorRefParserRuleCall_6_8_0()); }
+ ruleActorRef{ after(grammarAccess.getActorClassAccess().getActorRefsActorRefParserRuleCall_6_8_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__BindingsAssignment_6_9
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getBindingsBindingParserRuleCall_6_9_0()); }
+ ruleBinding{ after(grammarAccess.getActorClassAccess().getBindingsBindingParserRuleCall_6_9_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__ConnectionsAssignment_6_10
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getConnectionsLayerConnectionParserRuleCall_6_10_0()); }
+ ruleLayerConnection{ after(grammarAccess.getActorClassAccess().getConnectionsLayerConnectionParserRuleCall_6_10_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__OperationsAssignment_7_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getOperationsOperationParserRuleCall_7_2_0()); }
+ ruleOperation{ after(grammarAccess.getActorClassAccess().getOperationsOperationParserRuleCall_7_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorClass__StateMachineAssignment_7_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorClassAccess().getStateMachineStateMachineParserRuleCall_7_3_0()); }
+ ruleStateMachine{ after(grammarAccess.getActorClassAccess().getStateMachineStateMachineParserRuleCall_7_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Port__ConjugatedAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortAccess().getConjugatedConjugatedKeyword_0_0()); }
+(
+{ before(grammarAccess.getPortAccess().getConjugatedConjugatedKeyword_0_0()); }
+
+ 'conjugated'
+
+{ after(grammarAccess.getPortAccess().getConjugatedConjugatedKeyword_0_0()); }
+)
+
+{ after(grammarAccess.getPortAccess().getConjugatedConjugatedKeyword_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Port__NameAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortAccess().getNameIDTerminalRuleCall_2_0()); }
+ RULE_ID{ after(grammarAccess.getPortAccess().getNameIDTerminalRuleCall_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Port__MultiplicityAssignment_3_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortAccess().getMultiplicityINTTerminalRuleCall_3_1_0()); }
+ RULE_INT{ after(grammarAccess.getPortAccess().getMultiplicityINTTerminalRuleCall_3_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Port__ProtocolAssignment_5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPortAccess().getProtocolProtocolClassCrossReference_5_0()); }
+(
+{ before(grammarAccess.getPortAccess().getProtocolProtocolClassFQNParserRuleCall_5_0_1()); }
+ ruleFQN{ after(grammarAccess.getPortAccess().getProtocolProtocolClassFQNParserRuleCall_5_0_1()); }
+)
+{ after(grammarAccess.getPortAccess().getProtocolProtocolClassCrossReference_5_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ExternalPort__IfportAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getExternalPortAccess().getIfportPortCrossReference_2_0()); }
+(
+{ before(grammarAccess.getExternalPortAccess().getIfportPortIDTerminalRuleCall_2_0_1()); }
+ RULE_ID{ after(grammarAccess.getExternalPortAccess().getIfportPortIDTerminalRuleCall_2_0_1()); }
+)
+{ after(grammarAccess.getExternalPortAccess().getIfportPortCrossReference_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SAPRef__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSAPRefAccess().getNameIDTerminalRuleCall_1_0()); }
+ RULE_ID{ after(grammarAccess.getSAPRefAccess().getNameIDTerminalRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SAPRef__ProtocolAssignment_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSAPRefAccess().getProtocolProtocolClassCrossReference_3_0()); }
+(
+{ before(grammarAccess.getSAPRefAccess().getProtocolProtocolClassFQNParserRuleCall_3_0_1()); }
+ ruleFQN{ after(grammarAccess.getSAPRefAccess().getProtocolProtocolClassFQNParserRuleCall_3_0_1()); }
+)
+{ after(grammarAccess.getSAPRefAccess().getProtocolProtocolClassCrossReference_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SPPRef__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSPPRefAccess().getNameIDTerminalRuleCall_1_0()); }
+ RULE_ID{ after(grammarAccess.getSPPRefAccess().getNameIDTerminalRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SPPRef__ProtocolAssignment_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSPPRefAccess().getProtocolProtocolClassCrossReference_3_0()); }
+(
+{ before(grammarAccess.getSPPRefAccess().getProtocolProtocolClassFQNParserRuleCall_3_0_1()); }
+ ruleFQN{ after(grammarAccess.getSPPRefAccess().getProtocolProtocolClassFQNParserRuleCall_3_0_1()); }
+)
+{ after(grammarAccess.getSPPRefAccess().getProtocolProtocolClassCrossReference_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ServiceImplementation__SppAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getServiceImplementationAccess().getSppSPPRefCrossReference_2_0()); }
+(
+{ before(grammarAccess.getServiceImplementationAccess().getSppSPPRefIDTerminalRuleCall_2_0_1()); }
+ RULE_ID{ after(grammarAccess.getServiceImplementationAccess().getSppSPPRefIDTerminalRuleCall_2_0_1()); }
+)
+{ after(grammarAccess.getServiceImplementationAccess().getSppSPPRefCrossReference_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalSystem__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalSystemAccess().getNameIDTerminalRuleCall_1_0()); }
+ RULE_ID{ after(grammarAccess.getLogicalSystemAccess().getNameIDTerminalRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalSystem__SubSystemsAssignment_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalSystemAccess().getSubSystemsSubSystemRefParserRuleCall_3_0()); }
+ ruleSubSystemRef{ after(grammarAccess.getLogicalSystemAccess().getSubSystemsSubSystemRefParserRuleCall_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalSystem__BindingsAssignment_4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalSystemAccess().getBindingsBindingParserRuleCall_4_0()); }
+ ruleBinding{ after(grammarAccess.getLogicalSystemAccess().getBindingsBindingParserRuleCall_4_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalSystem__ConnectionsAssignment_5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalSystemAccess().getConnectionsLayerConnectionParserRuleCall_5_0()); }
+ ruleLayerConnection{ after(grammarAccess.getLogicalSystemAccess().getConnectionsLayerConnectionParserRuleCall_5_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemRef__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemRefAccess().getNameIDTerminalRuleCall_1_0()); }
+ RULE_ID{ after(grammarAccess.getSubSystemRefAccess().getNameIDTerminalRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemRef__TypeAssignment_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemRefAccess().getTypeSubSystemClassCrossReference_3_0()); }
+(
+{ before(grammarAccess.getSubSystemRefAccess().getTypeSubSystemClassFQNParserRuleCall_3_0_1()); }
+ ruleFQN{ after(grammarAccess.getSubSystemRefAccess().getTypeSubSystemClassFQNParserRuleCall_3_0_1()); }
+)
+{ after(grammarAccess.getSubSystemRefAccess().getTypeSubSystemClassCrossReference_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemClass__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemClassAccess().getNameIDTerminalRuleCall_1_0()); }
+ RULE_ID{ after(grammarAccess.getSubSystemClassAccess().getNameIDTerminalRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemClass__RelayPortsAssignment_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemClassAccess().getRelayPortsPortParserRuleCall_3_0()); }
+ rulePort{ after(grammarAccess.getSubSystemClassAccess().getRelayPortsPortParserRuleCall_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemClass__IfSPPsAssignment_4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemClassAccess().getIfSPPsSPPRefParserRuleCall_4_0()); }
+ ruleSPPRef{ after(grammarAccess.getSubSystemClassAccess().getIfSPPsSPPRefParserRuleCall_4_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemClass__ActorRefsAssignment_5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemClassAccess().getActorRefsActorRefParserRuleCall_5_0()); }
+ ruleActorRef{ after(grammarAccess.getSubSystemClassAccess().getActorRefsActorRefParserRuleCall_5_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemClass__BindingsAssignment_6
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemClassAccess().getBindingsBindingParserRuleCall_6_0()); }
+ ruleBinding{ after(grammarAccess.getSubSystemClassAccess().getBindingsBindingParserRuleCall_6_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemClass__ConnectionsAssignment_7
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemClassAccess().getConnectionsLayerConnectionParserRuleCall_7_0()); }
+ ruleLayerConnection{ after(grammarAccess.getSubSystemClassAccess().getConnectionsLayerConnectionParserRuleCall_7_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubSystemClass__ThreadsAssignment_8
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubSystemClassAccess().getThreadsLogicalThreadParserRuleCall_8_0()); }
+ ruleLogicalThread{ after(grammarAccess.getSubSystemClassAccess().getThreadsLogicalThreadParserRuleCall_8_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalThread__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalThreadAccess().getNameIDTerminalRuleCall_1_0()); }
+ RULE_ID{ after(grammarAccess.getLogicalThreadAccess().getNameIDTerminalRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalThread__InstancesAssignment_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalThreadAccess().getInstancesActorInstancePathParserRuleCall_3_0()); }
+ ruleActorInstancePath{ after(grammarAccess.getLogicalThreadAccess().getInstancesActorInstancePathParserRuleCall_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LogicalThread__InstancesAssignment_4_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLogicalThreadAccess().getInstancesActorInstancePathParserRuleCall_4_1_0()); }
+ ruleActorInstancePath{ after(grammarAccess.getLogicalThreadAccess().getInstancesActorInstancePathParserRuleCall_4_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorInstancePath__SegmentsAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorInstancePathAccess().getSegmentsIDTerminalRuleCall_0_0()); }
+ RULE_ID{ after(grammarAccess.getActorInstancePathAccess().getSegmentsIDTerminalRuleCall_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorInstancePath__SegmentsAssignment_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorInstancePathAccess().getSegmentsIDTerminalRuleCall_1_1_0()); }
+ RULE_ID{ after(grammarAccess.getActorInstancePathAccess().getSegmentsIDTerminalRuleCall_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Binding__Endpoint1Assignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBindingAccess().getEndpoint1BindingEndPointParserRuleCall_1_0()); }
+ ruleBindingEndPoint{ after(grammarAccess.getBindingAccess().getEndpoint1BindingEndPointParserRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Binding__Endpoint2Assignment_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBindingAccess().getEndpoint2BindingEndPointParserRuleCall_3_0()); }
+ ruleBindingEndPoint{ after(grammarAccess.getBindingAccess().getEndpoint2BindingEndPointParserRuleCall_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__BindingEndPoint__ActorRefAssignment_0_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBindingEndPointAccess().getActorRefActorContainerRefCrossReference_0_0_0()); }
+(
+{ before(grammarAccess.getBindingEndPointAccess().getActorRefActorContainerRefIDTerminalRuleCall_0_0_0_1()); }
+ RULE_ID{ after(grammarAccess.getBindingEndPointAccess().getActorRefActorContainerRefIDTerminalRuleCall_0_0_0_1()); }
+)
+{ after(grammarAccess.getBindingEndPointAccess().getActorRefActorContainerRefCrossReference_0_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__BindingEndPoint__PortAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBindingEndPointAccess().getPortPortCrossReference_1_0()); }
+(
+{ before(grammarAccess.getBindingEndPointAccess().getPortPortIDTerminalRuleCall_1_0_1()); }
+ RULE_ID{ after(grammarAccess.getBindingEndPointAccess().getPortPortIDTerminalRuleCall_1_0_1()); }
+)
+{ after(grammarAccess.getBindingEndPointAccess().getPortPortCrossReference_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LayerConnection__FromAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLayerConnectionAccess().getFromSAPointParserRuleCall_1_0()); }
+ ruleSAPoint{ after(grammarAccess.getLayerConnectionAccess().getFromSAPointParserRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LayerConnection__ToAssignment_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLayerConnectionAccess().getToSPPointParserRuleCall_3_0()); }
+ ruleSPPoint{ after(grammarAccess.getLayerConnectionAccess().getToSPPointParserRuleCall_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RefSAPoint__RefAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRefSAPointAccess().getRefActorContainerRefCrossReference_1_0()); }
+(
+{ before(grammarAccess.getRefSAPointAccess().getRefActorContainerRefIDTerminalRuleCall_1_0_1()); }
+ RULE_ID{ after(grammarAccess.getRefSAPointAccess().getRefActorContainerRefIDTerminalRuleCall_1_0_1()); }
+)
+{ after(grammarAccess.getRefSAPointAccess().getRefActorContainerRefCrossReference_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RelaySAPoint__RelayAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRelaySAPointAccess().getRelaySPPRefCrossReference_1_0()); }
+(
+{ before(grammarAccess.getRelaySAPointAccess().getRelaySPPRefIDTerminalRuleCall_1_0_1()); }
+ RULE_ID{ after(grammarAccess.getRelaySAPointAccess().getRelaySPPRefIDTerminalRuleCall_1_0_1()); }
+)
+{ after(grammarAccess.getRelaySAPointAccess().getRelaySPPRefCrossReference_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SPPoint__RefAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSPPointAccess().getRefActorContainerRefCrossReference_0_0()); }
+(
+{ before(grammarAccess.getSPPointAccess().getRefActorContainerRefIDTerminalRuleCall_0_0_1()); }
+ RULE_ID{ after(grammarAccess.getSPPointAccess().getRefActorContainerRefIDTerminalRuleCall_0_0_1()); }
+)
+{ after(grammarAccess.getSPPointAccess().getRefActorContainerRefCrossReference_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SPPoint__ServiceAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSPPointAccess().getServiceSPPRefCrossReference_2_0()); }
+(
+{ before(grammarAccess.getSPPointAccess().getServiceSPPRefIDTerminalRuleCall_2_0_1()); }
+ RULE_ID{ after(grammarAccess.getSPPointAccess().getServiceSPPRefIDTerminalRuleCall_2_0_1()); }
+)
+{ after(grammarAccess.getSPPointAccess().getServiceSPPRefCrossReference_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorRef__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorRefAccess().getNameIDTerminalRuleCall_1_0()); }
+ RULE_ID{ after(grammarAccess.getActorRefAccess().getNameIDTerminalRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ActorRef__TypeAssignment_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getActorRefAccess().getTypeActorClassCrossReference_3_0()); }
+(
+{ before(grammarAccess.getActorRefAccess().getTypeActorClassFQNParserRuleCall_3_0_1()); }
+ ruleFQN{ after(grammarAccess.getActorRefAccess().getTypeActorClassFQNParserRuleCall_3_0_1()); }
+)
+{ after(grammarAccess.getActorRefAccess().getTypeActorClassCrossReference_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StateGraph__StatesAssignment_1_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStateGraphAccess().getStatesStateParserRuleCall_1_0_0()); }
+ ruleState{ after(grammarAccess.getStateGraphAccess().getStatesStateParserRuleCall_1_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StateGraph__TrPointsAssignment_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStateGraphAccess().getTrPointsTrPointParserRuleCall_1_1_0()); }
+ ruleTrPoint{ after(grammarAccess.getStateGraphAccess().getTrPointsTrPointParserRuleCall_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StateGraph__ChPointsAssignment_1_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStateGraphAccess().getChPointsChoicePointParserRuleCall_1_2_0()); }
+ ruleChoicePoint{ after(grammarAccess.getStateGraphAccess().getChPointsChoicePointParserRuleCall_1_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StateGraph__TransitionsAssignment_1_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStateGraphAccess().getTransitionsTransitionParserRuleCall_1_3_0()); }
+ ruleTransition{ after(grammarAccess.getStateGraphAccess().getTransitionsTransitionParserRuleCall_1_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StateMachine__StatesAssignment_2_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStateMachineAccess().getStatesStateParserRuleCall_2_0_0()); }
+ ruleState{ after(grammarAccess.getStateMachineAccess().getStatesStateParserRuleCall_2_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StateMachine__TrPointsAssignment_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStateMachineAccess().getTrPointsTrPointParserRuleCall_2_1_0()); }
+ ruleTrPoint{ after(grammarAccess.getStateMachineAccess().getTrPointsTrPointParserRuleCall_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StateMachine__ChPointsAssignment_2_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStateMachineAccess().getChPointsChoicePointParserRuleCall_2_2_0()); }
+ ruleChoicePoint{ after(grammarAccess.getStateMachineAccess().getChPointsChoicePointParserRuleCall_2_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StateMachine__TransitionsAssignment_2_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStateMachineAccess().getTransitionsTransitionParserRuleCall_2_3_0()); }
+ ruleTransition{ after(grammarAccess.getStateMachineAccess().getTransitionsTransitionParserRuleCall_2_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__BaseState__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBaseStateAccess().getNameIDTerminalRuleCall_1_0()); }
+ RULE_ID{ after(grammarAccess.getBaseStateAccess().getNameIDTerminalRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__BaseState__EntryCodeAssignment_3_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBaseStateAccess().getEntryCodeDetailCodeParserRuleCall_3_1_0()); }
+ ruleDetailCode{ after(grammarAccess.getBaseStateAccess().getEntryCodeDetailCodeParserRuleCall_3_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__BaseState__ExitCodeAssignment_4_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBaseStateAccess().getExitCodeDetailCodeParserRuleCall_4_1_0()); }
+ ruleDetailCode{ after(grammarAccess.getBaseStateAccess().getExitCodeDetailCodeParserRuleCall_4_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__BaseState__SubgraphAssignment_5_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getBaseStateAccess().getSubgraphStateGraphParserRuleCall_5_1_0()); }
+ ruleStateGraph{ after(grammarAccess.getBaseStateAccess().getSubgraphStateGraphParserRuleCall_5_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RefinedState__BaseAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRefinedStateAccess().getBaseBaseStateCrossReference_1_0()); }
+(
+{ before(grammarAccess.getRefinedStateAccess().getBaseBaseStateFQNParserRuleCall_1_0_1()); }
+ ruleFQN{ after(grammarAccess.getRefinedStateAccess().getBaseBaseStateFQNParserRuleCall_1_0_1()); }
+)
+{ after(grammarAccess.getRefinedStateAccess().getBaseBaseStateCrossReference_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RefinedState__EntryCodeAssignment_3_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRefinedStateAccess().getEntryCodeDetailCodeParserRuleCall_3_1_0()); }
+ ruleDetailCode{ after(grammarAccess.getRefinedStateAccess().getEntryCodeDetailCodeParserRuleCall_3_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RefinedState__ExitCodeAssignment_4_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRefinedStateAccess().getExitCodeDetailCodeParserRuleCall_4_1_0()); }
+ ruleDetailCode{ after(grammarAccess.getRefinedStateAccess().getExitCodeDetailCodeParserRuleCall_4_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__RefinedState__SubgraphAssignment_5_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRefinedStateAccess().getSubgraphStateGraphParserRuleCall_5_1_0()); }
+ ruleStateGraph{ after(grammarAccess.getRefinedStateAccess().getSubgraphStateGraphParserRuleCall_5_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__DetailCode__CommandsAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDetailCodeAccess().getCommandsSTRINGTerminalRuleCall_1_0()); }
+ RULE_STRING{ after(grammarAccess.getDetailCodeAccess().getCommandsSTRINGTerminalRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransitionPoint__HandlerAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransitionPointAccess().getHandlerHandlerKeyword_0_0()); }
+(
+{ before(grammarAccess.getTransitionPointAccess().getHandlerHandlerKeyword_0_0()); }
+
+ 'handler'
+
+{ after(grammarAccess.getTransitionPointAccess().getHandlerHandlerKeyword_0_0()); }
+)
+
+{ after(grammarAccess.getTransitionPointAccess().getHandlerHandlerKeyword_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TransitionPoint__NameAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTransitionPointAccess().getNameIDTerminalRuleCall_2_0()); }
+ RULE_ID{ after(grammarAccess.getTransitionPointAccess().getNameIDTerminalRuleCall_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__EntryPoint__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getEntryPointAccess().getNameIDTerminalRuleCall_1_0()); }
+ RULE_ID{ after(grammarAccess.getEntryPointAccess().getNameIDTerminalRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ExitPoint__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getExitPointAccess().getNameIDTerminalRuleCall_1_0()); }
+ RULE_ID{ after(grammarAccess.getExitPointAccess().getNameIDTerminalRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ChoicePoint__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getChoicePointAccess().getNameIDTerminalRuleCall_1_0()); }
+ RULE_ID{ after(grammarAccess.getChoicePointAccess().getNameIDTerminalRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__InitialTransition__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getInitialTransitionAccess().getNameIDTerminalRuleCall_1_0()); }
+ RULE_ID{ after(grammarAccess.getInitialTransitionAccess().getNameIDTerminalRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__InitialTransition__ToAssignment_5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getInitialTransitionAccess().getToTransitionTerminalParserRuleCall_5_0()); }
+ ruleTransitionTerminal{ after(grammarAccess.getInitialTransitionAccess().getToTransitionTerminalParserRuleCall_5_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__InitialTransition__ActionAssignment_7_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getInitialTransitionAccess().getActionDetailCodeParserRuleCall_7_1_0()); }
+ ruleDetailCode{ after(grammarAccess.getInitialTransitionAccess().getActionDetailCodeParserRuleCall_7_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ContinuationTransition__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getContinuationTransitionAccess().getNameIDTerminalRuleCall_1_0()); }
+ RULE_ID{ after(grammarAccess.getContinuationTransitionAccess().getNameIDTerminalRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ContinuationTransition__FromAssignment_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getContinuationTransitionAccess().getFromTransitionTerminalParserRuleCall_3_0()); }
+ ruleTransitionTerminal{ after(grammarAccess.getContinuationTransitionAccess().getFromTransitionTerminalParserRuleCall_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ContinuationTransition__ToAssignment_5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getContinuationTransitionAccess().getToTransitionTerminalParserRuleCall_5_0()); }
+ ruleTransitionTerminal{ after(grammarAccess.getContinuationTransitionAccess().getToTransitionTerminalParserRuleCall_5_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ContinuationTransition__ActionAssignment_7_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getContinuationTransitionAccess().getActionDetailCodeParserRuleCall_7_1_0()); }
+ ruleDetailCode{ after(grammarAccess.getContinuationTransitionAccess().getActionDetailCodeParserRuleCall_7_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TriggeredTransition__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggeredTransitionAccess().getNameIDTerminalRuleCall_1_0()); }
+ RULE_ID{ after(grammarAccess.getTriggeredTransitionAccess().getNameIDTerminalRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TriggeredTransition__FromAssignment_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggeredTransitionAccess().getFromTransitionTerminalParserRuleCall_3_0()); }
+ ruleTransitionTerminal{ after(grammarAccess.getTriggeredTransitionAccess().getFromTransitionTerminalParserRuleCall_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TriggeredTransition__ToAssignment_5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggeredTransitionAccess().getToTransitionTerminalParserRuleCall_5_0()); }
+ ruleTransitionTerminal{ after(grammarAccess.getTriggeredTransitionAccess().getToTransitionTerminalParserRuleCall_5_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TriggeredTransition__TriggersAssignment_9
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggeredTransitionAccess().getTriggersTriggerParserRuleCall_9_0()); }
+ ruleTrigger{ after(grammarAccess.getTriggeredTransitionAccess().getTriggersTriggerParserRuleCall_9_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TriggeredTransition__TriggersAssignment_10_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggeredTransitionAccess().getTriggersTriggerParserRuleCall_10_1_0()); }
+ ruleTrigger{ after(grammarAccess.getTriggeredTransitionAccess().getTriggersTriggerParserRuleCall_10_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TriggeredTransition__ActionAssignment_12_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggeredTransitionAccess().getActionDetailCodeParserRuleCall_12_1_0()); }
+ ruleDetailCode{ after(grammarAccess.getTriggeredTransitionAccess().getActionDetailCodeParserRuleCall_12_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CPBranchTransition__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCPBranchTransitionAccess().getNameIDTerminalRuleCall_1_0()); }
+ RULE_ID{ after(grammarAccess.getCPBranchTransitionAccess().getNameIDTerminalRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CPBranchTransition__FromAssignment_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCPBranchTransitionAccess().getFromTransitionTerminalParserRuleCall_3_0()); }
+ ruleTransitionTerminal{ after(grammarAccess.getCPBranchTransitionAccess().getFromTransitionTerminalParserRuleCall_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CPBranchTransition__ToAssignment_5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCPBranchTransitionAccess().getToTransitionTerminalParserRuleCall_5_0()); }
+ ruleTransitionTerminal{ after(grammarAccess.getCPBranchTransitionAccess().getToTransitionTerminalParserRuleCall_5_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CPBranchTransition__ConditionAssignment_8
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCPBranchTransitionAccess().getConditionDetailCodeParserRuleCall_8_0()); }
+ ruleDetailCode{ after(grammarAccess.getCPBranchTransitionAccess().getConditionDetailCodeParserRuleCall_8_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__CPBranchTransition__ActionAssignment_9_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCPBranchTransitionAccess().getActionDetailCodeParserRuleCall_9_1_0()); }
+ ruleDetailCode{ after(grammarAccess.getCPBranchTransitionAccess().getActionDetailCodeParserRuleCall_9_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__StateTerminal__StateAssignment
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStateTerminalAccess().getStateBaseStateCrossReference_0()); }
+(
+{ before(grammarAccess.getStateTerminalAccess().getStateBaseStateIDTerminalRuleCall_0_1()); }
+ RULE_ID{ after(grammarAccess.getStateTerminalAccess().getStateBaseStateIDTerminalRuleCall_0_1()); }
+)
+{ after(grammarAccess.getStateTerminalAccess().getStateBaseStateCrossReference_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TrPointTerminal__TrPointAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTrPointTerminalAccess().getTrPointTrPointCrossReference_1_0()); }
+(
+{ before(grammarAccess.getTrPointTerminalAccess().getTrPointTrPointIDTerminalRuleCall_1_0_1()); }
+ RULE_ID{ after(grammarAccess.getTrPointTerminalAccess().getTrPointTrPointIDTerminalRuleCall_1_0_1()); }
+)
+{ after(grammarAccess.getTrPointTerminalAccess().getTrPointTrPointCrossReference_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubStateTrPointTerminal__TrPointAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubStateTrPointTerminalAccess().getTrPointTrPointCrossReference_0_0()); }
+(
+{ before(grammarAccess.getSubStateTrPointTerminalAccess().getTrPointTrPointIDTerminalRuleCall_0_0_1()); }
+ RULE_ID{ after(grammarAccess.getSubStateTrPointTerminalAccess().getTrPointTrPointIDTerminalRuleCall_0_0_1()); }
+)
+{ after(grammarAccess.getSubStateTrPointTerminalAccess().getTrPointTrPointCrossReference_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__SubStateTrPointTerminal__StateAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSubStateTrPointTerminalAccess().getStateBaseStateCrossReference_2_0()); }
+(
+{ before(grammarAccess.getSubStateTrPointTerminalAccess().getStateBaseStateIDTerminalRuleCall_2_0_1()); }
+ RULE_ID{ after(grammarAccess.getSubStateTrPointTerminalAccess().getStateBaseStateIDTerminalRuleCall_2_0_1()); }
+)
+{ after(grammarAccess.getSubStateTrPointTerminalAccess().getStateBaseStateCrossReference_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ChoicepointTerminal__CpAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getChoicepointTerminalAccess().getCpChoicePointCrossReference_1_0()); }
+(
+{ before(grammarAccess.getChoicepointTerminalAccess().getCpChoicePointIDTerminalRuleCall_1_0_1()); }
+ RULE_ID{ after(grammarAccess.getChoicepointTerminalAccess().getCpChoicePointIDTerminalRuleCall_1_0_1()); }
+)
+{ after(grammarAccess.getChoicepointTerminalAccess().getCpChoicePointCrossReference_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Trigger__MsgFromIfPairsAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggerAccess().getMsgFromIfPairsMessageFromIfParserRuleCall_1_0()); }
+ ruleMessageFromIf{ after(grammarAccess.getTriggerAccess().getMsgFromIfPairsMessageFromIfParserRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Trigger__MsgFromIfPairsAssignment_2_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggerAccess().getMsgFromIfPairsMessageFromIfParserRuleCall_2_1_0()); }
+ ruleMessageFromIf{ after(grammarAccess.getTriggerAccess().getMsgFromIfPairsMessageFromIfParserRuleCall_2_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Trigger__GuardAssignment_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTriggerAccess().getGuardGuardParserRuleCall_3_0()); }
+ ruleGuard{ after(grammarAccess.getTriggerAccess().getGuardGuardParserRuleCall_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageFromIf__MessageAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageFromIfAccess().getMessageMessageCrossReference_0_0()); }
+(
+{ before(grammarAccess.getMessageFromIfAccess().getMessageMessageIDTerminalRuleCall_0_0_1()); }
+ RULE_ID{ after(grammarAccess.getMessageFromIfAccess().getMessageMessageIDTerminalRuleCall_0_0_1()); }
+)
+{ after(grammarAccess.getMessageFromIfAccess().getMessageMessageCrossReference_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__MessageFromIf__FromAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getMessageFromIfAccess().getFromInterfaceItemCrossReference_2_0()); }
+(
+{ before(grammarAccess.getMessageFromIfAccess().getFromInterfaceItemIDTerminalRuleCall_2_0_1()); }
+ RULE_ID{ after(grammarAccess.getMessageFromIfAccess().getFromInterfaceItemIDTerminalRuleCall_2_0_1()); }
+)
+{ after(grammarAccess.getMessageFromIfAccess().getFromInterfaceItemCrossReference_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Guard__GuardAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getGuardAccess().getGuardDetailCodeParserRuleCall_1_0()); }
+ ruleDetailCode{ after(grammarAccess.getGuardAccess().getGuardDetailCodeParserRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Import__ImportedNamespaceAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getImportAccess().getImportedNamespaceImportedFQNParserRuleCall_1_0()); }
+ ruleImportedFQN{ after(grammarAccess.getImportAccess().getImportedNamespaceImportedFQNParserRuleCall_1_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.core.room.ui/src-gen/org/eclipse/etrice/core/ui/internal/RoomActivator.java b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/internal/RoomActivator.java index d30ec6d9a..8b30a77dd 100644 --- a/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/internal/RoomActivator.java +++ b/plugins/org.eclipse.etrice.core.room.ui/src-gen/org/eclipse/etrice/core/ui/internal/RoomActivator.java @@ -1,102 +1,102 @@ -/* - * generated by Xtext - */ -package org.eclipse.etrice.core.ui.internal; - -import static com.google.inject.util.Modules.override; -import static com.google.inject.Guice.createInjector; - -import org.apache.log4j.Logger; - -import org.eclipse.core.runtime.FileLocator; -import org.eclipse.core.runtime.Path; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.ui.plugin.AbstractUIPlugin; -import org.osgi.framework.Bundle; -import org.osgi.framework.BundleContext; - -import com.google.inject.Injector; -import com.google.inject.Module; - -import java.net.URL; -import java.util.Map; -import java.util.HashMap; - -/** - * This class was generated. Customizations should only happen in a newly - * introduced subclass. - */ -public class RoomActivator extends AbstractUIPlugin { - - private Map<String,Injector> injectors = new HashMap<String,Injector>(); - private static RoomActivator INSTANCE; - - public Injector getInjector(String languageName) { - return injectors.get(languageName); - } - - @Override - public void start(BundleContext context) throws Exception { - super.start(context); - - declareRegistryImage("defaultoutlinenode.gif", "icons/defaultoutlinenode.gif"); - - INSTANCE = this; - try { - registerInjectorFor("org.eclipse.etrice.core.Room"); - - } catch (Exception e) { - Logger.getLogger(getClass()).error(e.getMessage(), e); - throw e; - } - } - - protected void registerInjectorFor(String language) throws Exception { - injectors.put(language, createInjector( - override(override(getRuntimeModule(language)).with(getSharedStateModule())).with(getUiModule(language)))); - } - - @Override - public void stop(BundleContext context) throws Exception { - injectors.clear(); - getImageRegistry().dispose(); - INSTANCE = null; - super.stop(context); - } - - public static RoomActivator getInstance() { - return INSTANCE; - } - - protected Module getRuntimeModule(String grammar) { - if ("org.eclipse.etrice.core.Room".equals(grammar)) { - return new org.eclipse.etrice.core.RoomRuntimeModule(); - } - - throw new IllegalArgumentException(grammar); - } - - protected Module getUiModule(String grammar) { - if ("org.eclipse.etrice.core.Room".equals(grammar)) { - return new org.eclipse.etrice.core.ui.RoomUiModule(this); - } - - throw new IllegalArgumentException(grammar); - } - - protected Module getSharedStateModule() { - return new org.eclipse.xtext.ui.shared.SharedStateModule(); - } - - private void declareRegistryImage(String key, String path) { - ImageDescriptor desc= ImageDescriptor.getMissingImageDescriptor(); - Bundle bundle= getBundle(); - URL url= null; - if (bundle != null) { - url= FileLocator.find(bundle, new Path(path), null); - desc= ImageDescriptor.createFromURL(url); - } - getImageRegistry().put(key, desc); - } - -} +/*
+ * generated by Xtext
+ */
+package org.eclipse.etrice.core.ui.internal;
+
+import static com.google.inject.util.Modules.override;
+import static com.google.inject.Guice.createInjector;
+
+import org.apache.log4j.Logger;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+
+import com.google.inject.Injector;
+import com.google.inject.Module;
+
+import java.net.URL;
+import java.util.Map;
+import java.util.HashMap;
+
+/**
+ * This class was generated. Customizations should only happen in a newly
+ * introduced subclass.
+ */
+public class RoomActivator extends AbstractUIPlugin {
+
+ private Map<String,Injector> injectors = new HashMap<String,Injector>();
+ private static RoomActivator INSTANCE;
+
+ public Injector getInjector(String languageName) {
+ return injectors.get(languageName);
+ }
+
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+
+ declareRegistryImage("defaultoutlinenode.gif", "icons/defaultoutlinenode.gif");
+
+ INSTANCE = this;
+ try {
+ registerInjectorFor("org.eclipse.etrice.core.Room");
+
+ } catch (Exception e) {
+ Logger.getLogger(getClass()).error(e.getMessage(), e);
+ throw e;
+ }
+ }
+
+ protected void registerInjectorFor(String language) throws Exception {
+ injectors.put(language, createInjector(
+ override(override(getRuntimeModule(language)).with(getSharedStateModule())).with(getUiModule(language))));
+ }
+
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ injectors.clear();
+ getImageRegistry().dispose();
+ INSTANCE = null;
+ super.stop(context);
+ }
+
+ public static RoomActivator getInstance() {
+ return INSTANCE;
+ }
+
+ protected Module getRuntimeModule(String grammar) {
+ if ("org.eclipse.etrice.core.Room".equals(grammar)) {
+ return new org.eclipse.etrice.core.RoomRuntimeModule();
+ }
+
+ throw new IllegalArgumentException(grammar);
+ }
+
+ protected Module getUiModule(String grammar) {
+ if ("org.eclipse.etrice.core.Room".equals(grammar)) {
+ return new org.eclipse.etrice.core.ui.RoomUiModule(this);
+ }
+
+ throw new IllegalArgumentException(grammar);
+ }
+
+ protected Module getSharedStateModule() {
+ return new org.eclipse.xtext.ui.shared.SharedStateModule();
+ }
+
+ private void declareRegistryImage(String key, String path) {
+ ImageDescriptor desc= ImageDescriptor.getMissingImageDescriptor();
+ Bundle bundle= getBundle();
+ URL url= null;
+ if (bundle != null) {
+ url= FileLocator.find(bundle, new Path(path), null);
+ desc= ImageDescriptor.createFromURL(url);
+ }
+ getImageRegistry().put(key, desc);
+ }
+
+}
diff --git a/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/outline/EditBehaviorHandler.java b/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/outline/EditBehaviorHandler.java index 32881258f..9c1c50078 100644 --- a/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/outline/EditBehaviorHandler.java +++ b/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/outline/EditBehaviorHandler.java @@ -15,10 +15,17 @@ package org.eclipse.etrice.core.ui.outline; import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.etrice.core.naming.RoomFragmentProvider;
+import org.eclipse.etrice.core.naming.RoomNameProvider;
import org.eclipse.etrice.core.room.ActorClass;
+import org.eclipse.etrice.core.room.State;
+import org.eclipse.etrice.core.room.StateGraph;
+import org.eclipse.etrice.core.room.Transition;
+import org.eclipse.etrice.core.ui.internal.RoomActivator;
import org.eclipse.etrice.ui.behavior.DiagramAccess;
+import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.IWorkbench;
@@ -31,9 +38,21 @@ import org.eclipse.ui.views.contentoutline.ContentOutline; import org.eclipse.xtext.resource.XtextResource;
import org.eclipse.xtext.ui.editor.XtextEditor;
import org.eclipse.xtext.ui.editor.outline.impl.EObjectNode;
+import org.eclipse.xtext.ui.editor.model.IXtextDocument;
import org.eclipse.xtext.ui.editor.utils.EditorUtils;
import org.eclipse.xtext.util.concurrent.IUnitOfWork;
+import com.google.inject.Injector;
+
+/**
+ * Handler for outline menu item to open behavior editor.
+ * The handler will ask to save unsaved editor before opening the diagram.
+ *
+ * If there are unnamed transitions they will be named with unique names.
+ *
+ * @author Henrik Rentz-Reichert initial contribution and API
+ *
+ */
public class EditBehaviorHandler extends AbstractHandler {
@Override
@@ -45,6 +64,20 @@ public class EditBehaviorHandler extends AbstractHandler { if (sel instanceof EObjectNode) {
final EObjectNode node = (EObjectNode) sel;
XtextEditor xtextEditor = EditorUtils.getActiveXtextEditor(event);
+ if (xtextEditor.isDirty()) {
+ if (!MessageDialog.openQuestion(xtextEditor.getSite().getShell(), "Save model file", "The editor will be saved before opening the diagram editor.\nProceed?"))
+ return null;
+ // postpone save to avoid doing it twice
+ }
+ if (hasUnnamedTransitions(xtextEditor.getDocument(), node.getEObjectURI().fragment())) {
+ if (!MessageDialog.openQuestion(xtextEditor.getSite().getShell(), "Create transition names", "Transition names will be created where missing.\nProceed?"))
+ return null;
+ createTransitionNames(xtextEditor.getDocument(), node.getEObjectURI().fragment());
+ xtextEditor.doSave(new NullProgressMonitor());
+ }
+ if (xtextEditor.isDirty()) {
+ xtextEditor.doSave(new NullProgressMonitor());
+ }
xtextEditor.getDocument().readOnly(new IUnitOfWork.Void<XtextResource>() {
@Override
public void process(XtextResource resource) throws Exception {
@@ -62,6 +95,82 @@ public class EditBehaviorHandler extends AbstractHandler { return null;
}
+ /**
+ * @param document
+ * @param fragment
+ */
+ private void createTransitionNames(IXtextDocument document, final String fragment) {
+ /* TODOHRR: make this work again
+ DefaultDocumentEditor edit = new DefaultDocumentEditor();
+ Injector injector = RoomActivator.getInstance().getInjector("org.eclipse.etrice.core.Room");
+ injector.injectMembers(edit);
+ edit.process(new IUnitOfWork.Void<XtextResource>() {
+ @Override
+ public void process(XtextResource resource) throws Exception {
+ if (resource != null) {
+ EObject object = resource.getEObject(fragment);
+ if (object instanceof ActorClass) {
+ createTransitionNames(((ActorClass) object).getStateMachine());
+ }
+ }
+ }
+
+ private void createTransitionNames(StateGraph sg) {
+ if (sg==null)
+ return;
+
+ for (Transition tr : sg.getTransitions()) {
+ if (tr.getName()==null || tr.getName().isEmpty()) {
+ tr.setName(RoomNameProvider.getUniqueTransitionName(sg));
+ }
+ }
+
+ for (State s : sg.getStates()) {
+ createTransitionNames(s.getSubgraph());
+ }
+ }
+
+ }, document);
+ */
+ }
+
+ /**
+ * @param document
+ * @param fragment
+ * @return
+ */
+ private boolean hasUnnamedTransitions(IXtextDocument document, final String fragment) {
+ return document.readOnly(new IUnitOfWork<Boolean, XtextResource>() {
+ @Override
+ public Boolean exec(XtextResource resource) throws Exception {
+ if (resource != null) {
+ EObject object = resource.getEObject(fragment);
+ if (object instanceof ActorClass) {
+ return hasUnnamedTransitions(((ActorClass) object).getStateMachine());
+ }
+ }
+ return false;
+ }
+
+ private boolean hasUnnamedTransitions(StateGraph sg) {
+ if (sg==null)
+ return false;
+
+ for (Transition tr : sg.getTransitions()) {
+ if (tr.getName()==null || tr.getName().isEmpty())
+ return true;
+ }
+
+ for (State s : sg.getStates()) {
+ if (hasUnnamedTransitions(s.getSubgraph()))
+ return true;
+ }
+
+ return false;
+ }
+ });
+ }
+
/* (non-Javadoc)
* @see org.eclipse.core.commands.AbstractHandler#isEnabled()
*/
diff --git a/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/outline/EditStructureHandler.java b/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/outline/EditStructureHandler.java index efa0c191d..0bf66d42c 100644 --- a/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/outline/EditStructureHandler.java +++ b/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/outline/EditStructureHandler.java @@ -15,7 +15,9 @@ package org.eclipse.etrice.core.ui.outline; import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.IWorkbench;
@@ -35,6 +37,13 @@ import org.eclipse.etrice.core.naming.RoomFragmentProvider; import org.eclipse.etrice.core.room.StructureClass;
import org.eclipse.etrice.ui.structure.DiagramAccess;
+/**
+ * Handler for outline menu item to open structure editor.
+ * The handler will ask to save unsaved editor before opening the diagram.
+ *
+ * @author Henrik Rentz-Reichert initial contribution and API
+ *
+ */
public class EditStructureHandler extends AbstractHandler {
@Override
@@ -46,6 +55,11 @@ public class EditStructureHandler extends AbstractHandler { if (sel instanceof EObjectNode) {
final EObjectNode node = (EObjectNode) sel;
XtextEditor xtextEditor = EditorUtils.getActiveXtextEditor(event);
+ if (xtextEditor.isDirty()) {
+ if (!MessageDialog.openQuestion(xtextEditor.getSite().getShell(), "Save model file", "The editor will be saved before opening the diagram editor.\nProceed?"))
+ return null;
+ xtextEditor.doSave(new NullProgressMonitor());
+ }
xtextEditor.getDocument().readOnly(new IUnitOfWork.Void<XtextResource>() {
@Override
public void process(XtextResource resource) throws Exception {
diff --git a/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/outline/RoomOutlineTreeProvider.java b/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/outline/RoomOutlineTreeProvider.java index 522cc744e..84d4497e7 100644 --- a/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/outline/RoomOutlineTreeProvider.java +++ b/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/outline/RoomOutlineTreeProvider.java @@ -1,149 +1,149 @@ -/******************************************************************************* - * Copyright (c) 2011 protos software gmbh (http://www.protos.de). - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * CONTRIBUTORS: - * Henrik Rentz-Reichert (initial contribution) - * - *******************************************************************************/ - -package org.eclipse.etrice.core.ui.outline; - -import org.eclipse.etrice.core.room.ActorClass; -import org.eclipse.etrice.core.room.ActorRef; -import org.eclipse.etrice.core.room.Attribute; -import org.eclipse.etrice.core.room.Message; -import org.eclipse.etrice.core.room.Operation; -import org.eclipse.etrice.core.room.Port; -import org.eclipse.etrice.core.room.ProtocolClass; -import org.eclipse.etrice.core.room.SAPRef; -import org.eclipse.etrice.core.room.SPPRef; -import org.eclipse.etrice.core.room.ServiceImplementation; -import org.eclipse.etrice.core.room.State; -import org.eclipse.xtext.ui.editor.outline.IOutlineNode; -import org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider; - -/** - * customization of the default outline structure - * - * @author Henrik Rentz-Reichert - */ -public class RoomOutlineTreeProvider extends DefaultOutlineTreeProvider { - - private static final String STATE_MACHINE_LABEL = "StateMachine"; - private static final String BEHAVIOR_LABEL = "Behavior"; - private static final String STRUCTURE_LABEL = "Structure"; - private static final String INTERFACE_LABEL = "Interface"; - private static final Object INCOMING_LABEL = "incoming"; - private static final Object OUTGOING_LABEL = "outgoing"; - - protected boolean _isLeaf(ActorClass ac) { - if (ac.getIfPorts().size()>0 || ac.getIfSPPs().size()>0) { - return false; - } - if (ac.getIntPorts().size()>0 || ac.getServiceImplementations().size()>0 || - ac.getStrSAPs().size()>0 || ac.getAttributes().size()>0 || - ac.getActorRefs().size()>0) { - return false; - } - if (ac.getOperations().size()>0 || ac.getStateMachine()!=null) { - return false; - } - return true; - } - - protected void _createChildren(IOutlineNode parentNode, ActorClass ac) { - if (ac.getIfPorts().size()>0 || ac.getIfSPPs().size()>0) { - new ExtraOutlineNode(ac, parentNode, INTERFACE_LABEL); - } - if (ac.getIntPorts().size()>0 || ac.getServiceImplementations().size()>0 || - ac.getStrSAPs().size()>0 || ac.getAttributes().size()>0 || - ac.getActorRefs().size()>0) { - new ExtraOutlineNode(ac, parentNode, STRUCTURE_LABEL); - } - if (ac.getOperations().size()>0 || ac.getStateMachine()!=null) { - new ExtraOutlineNode(ac, parentNode, BEHAVIOR_LABEL); - } - } - - protected void _createChildren(ExtraOutlineNode parentNode, ActorClass ac) { - if (parentNode.getText().equals(INTERFACE_LABEL)) { - for (Port port : ac.getIfPorts()) - createNode(parentNode, port); - for (SPPRef spp : ac.getIfSPPs()) - createNode(parentNode, spp); - } - else if (parentNode.getText().equals(STRUCTURE_LABEL)) { - for (Port port : ac.getIntPorts()) - createNode(parentNode, port); - for (ServiceImplementation svc : ac.getServiceImplementations()) - createNode(parentNode, svc); - for (SAPRef sap : ac.getStrSAPs()) - createNode(parentNode, sap); - for (Attribute attr : ac.getAttributes()) - createNode(parentNode, attr); - for (ActorRef ar : ac.getActorRefs()) - createNode(parentNode, ar); - } - else if (parentNode.getText().equals(BEHAVIOR_LABEL)) { - for (Operation op : ac.getOperations()) - createNode(parentNode, op); - if (ac.getStateMachine()!=null) { - new ExtraOutlineNode(ac, parentNode, STATE_MACHINE_LABEL); - } - } - else if (parentNode.getText().equals(STATE_MACHINE_LABEL)) { - for (State s : ac.getStateMachine().getStates()) { - createNode(parentNode, s); - } - } - } - - protected void _createChildren(IOutlineNode parentNode, State s) { - if (s.getSubgraph()!=null) { - for (State state : s.getSubgraph().getStates()) { - createNode(parentNode, state); - } - } - } - - protected boolean _isLeaf(State s) { - if (s.getSubgraph()!=null) - if (!s.getSubgraph().getStates().isEmpty()) - return false; - return true; - } - - protected void _createChildren(IOutlineNode parentNode, ProtocolClass pc) { - if (pc.getIncomingMessages().size()>0) { - new ExtraOutlineNode(pc, parentNode, INCOMING_LABEL); - } - if (pc.getOutgoingMessages().size()>0) { - new ExtraOutlineNode(pc, parentNode, OUTGOING_LABEL); - } - } - - protected void _createChildren(ExtraOutlineNode parentNode, ProtocolClass pc) { - if (parentNode.getText().equals(INCOMING_LABEL)) { - for (Message m : pc.getIncomingMessages()) { - createNode(parentNode, m); - } - } - if (parentNode.getText().equals(OUTGOING_LABEL)) { - for (Message m : pc.getOutgoingMessages()) { - createNode(parentNode, m); - } - } - } - - protected boolean _isLeaf(Message m) { - return true; - } - - protected boolean _isLeaf(Operation o) { - return true; - } -} +/*******************************************************************************
+ * Copyright (c) 2011 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.core.ui.outline;
+
+import org.eclipse.etrice.core.room.ActorClass;
+import org.eclipse.etrice.core.room.ActorRef;
+import org.eclipse.etrice.core.room.Attribute;
+import org.eclipse.etrice.core.room.Message;
+import org.eclipse.etrice.core.room.Operation;
+import org.eclipse.etrice.core.room.Port;
+import org.eclipse.etrice.core.room.ProtocolClass;
+import org.eclipse.etrice.core.room.SAPRef;
+import org.eclipse.etrice.core.room.SPPRef;
+import org.eclipse.etrice.core.room.ServiceImplementation;
+import org.eclipse.etrice.core.room.State;
+import org.eclipse.xtext.ui.editor.outline.IOutlineNode;
+import org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider;
+
+/**
+ * customization of the default outline structure
+ *
+ * @author Henrik Rentz-Reichert
+ */
+public class RoomOutlineTreeProvider extends DefaultOutlineTreeProvider {
+
+ private static final String STATE_MACHINE_LABEL = "StateMachine";
+ private static final String BEHAVIOR_LABEL = "Behavior";
+ private static final String STRUCTURE_LABEL = "Structure";
+ private static final String INTERFACE_LABEL = "Interface";
+ private static final Object INCOMING_LABEL = "incoming";
+ private static final Object OUTGOING_LABEL = "outgoing";
+
+ protected boolean _isLeaf(ActorClass ac) {
+ if (ac.getIfPorts().size()>0 || ac.getIfSPPs().size()>0) {
+ return false;
+ }
+ if (ac.getIntPorts().size()>0 || ac.getServiceImplementations().size()>0 ||
+ ac.getStrSAPs().size()>0 || ac.getAttributes().size()>0 ||
+ ac.getActorRefs().size()>0) {
+ return false;
+ }
+ if (ac.getOperations().size()>0 || ac.getStateMachine()!=null) {
+ return false;
+ }
+ return true;
+ }
+
+ protected void _createChildren(IOutlineNode parentNode, ActorClass ac) {
+ if (ac.getIfPorts().size()>0 || ac.getIfSPPs().size()>0) {
+ new ExtraOutlineNode(ac, parentNode, INTERFACE_LABEL);
+ }
+ if (ac.getIntPorts().size()>0 || ac.getServiceImplementations().size()>0 ||
+ ac.getStrSAPs().size()>0 || ac.getAttributes().size()>0 ||
+ ac.getActorRefs().size()>0) {
+ new ExtraOutlineNode(ac, parentNode, STRUCTURE_LABEL);
+ }
+ if (ac.getOperations().size()>0 || ac.getStateMachine()!=null) {
+ new ExtraOutlineNode(ac, parentNode, BEHAVIOR_LABEL);
+ }
+ }
+
+ protected void _createChildren(ExtraOutlineNode parentNode, ActorClass ac) {
+ if (parentNode.getText().equals(INTERFACE_LABEL)) {
+ for (Port port : ac.getIfPorts())
+ createNode(parentNode, port);
+ for (SPPRef spp : ac.getIfSPPs())
+ createNode(parentNode, spp);
+ }
+ else if (parentNode.getText().equals(STRUCTURE_LABEL)) {
+ for (Port port : ac.getIntPorts())
+ createNode(parentNode, port);
+ for (ServiceImplementation svc : ac.getServiceImplementations())
+ createNode(parentNode, svc);
+ for (SAPRef sap : ac.getStrSAPs())
+ createNode(parentNode, sap);
+ for (Attribute attr : ac.getAttributes())
+ createNode(parentNode, attr);
+ for (ActorRef ar : ac.getActorRefs())
+ createNode(parentNode, ar);
+ }
+ else if (parentNode.getText().equals(BEHAVIOR_LABEL)) {
+ for (Operation op : ac.getOperations())
+ createNode(parentNode, op);
+ if (ac.getStateMachine()!=null) {
+ new ExtraOutlineNode(ac, parentNode, STATE_MACHINE_LABEL);
+ }
+ }
+ else if (parentNode.getText().equals(STATE_MACHINE_LABEL)) {
+ for (State s : ac.getStateMachine().getStates()) {
+ createNode(parentNode, s);
+ }
+ }
+ }
+
+ protected void _createChildren(IOutlineNode parentNode, State s) {
+ if (s.getSubgraph()!=null) {
+ for (State state : s.getSubgraph().getStates()) {
+ createNode(parentNode, state);
+ }
+ }
+ }
+
+ protected boolean _isLeaf(State s) {
+ if (s.getSubgraph()!=null)
+ if (!s.getSubgraph().getStates().isEmpty())
+ return false;
+ return true;
+ }
+
+ protected void _createChildren(IOutlineNode parentNode, ProtocolClass pc) {
+ if (pc.getIncomingMessages().size()>0) {
+ new ExtraOutlineNode(pc, parentNode, INCOMING_LABEL);
+ }
+ if (pc.getOutgoingMessages().size()>0) {
+ new ExtraOutlineNode(pc, parentNode, OUTGOING_LABEL);
+ }
+ }
+
+ protected void _createChildren(ExtraOutlineNode parentNode, ProtocolClass pc) {
+ if (parentNode.getText().equals(INCOMING_LABEL)) {
+ for (Message m : pc.getIncomingMessages()) {
+ createNode(parentNode, m);
+ }
+ }
+ if (parentNode.getText().equals(OUTGOING_LABEL)) {
+ for (Message m : pc.getOutgoingMessages()) {
+ createNode(parentNode, m);
+ }
+ }
+ }
+
+ protected boolean _isLeaf(Message m) {
+ return true;
+ }
+
+ protected boolean _isLeaf(Operation o) {
+ return true;
+ }
+}
diff --git a/plugins/org.eclipse.etrice.core.room/plugin.xml_gen b/plugins/org.eclipse.etrice.core.room/plugin.xml_gen index 780e5056a..20d2b0e08 100644 --- a/plugins/org.eclipse.etrice.core.room/plugin.xml_gen +++ b/plugins/org.eclipse.etrice.core.room/plugin.xml_gen @@ -1,17 +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/Room" - class = "org.eclipse.etrice.core.room.RoomPackage" - genModel = "org/eclipse/etrice/core/Room.genmodel" /> - - </extension> - - - - -</plugin> +<?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/Room"
+ class = "org.eclipse.etrice.core.room.RoomPackage"
+ genModel = "org/eclipse/etrice/core/Room.genmodel" />
+
+ </extension>
+
+
+
+
+</plugin>
diff --git a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/AbstractRoomRuntimeModule.java b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/AbstractRoomRuntimeModule.java index 4e0525b82..375ea0cbe 100644 --- a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/AbstractRoomRuntimeModule.java +++ b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/AbstractRoomRuntimeModule.java @@ -1,137 +1,137 @@ -/* - * generated by Xtext - */ -package org.eclipse.etrice.core; - -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.core.RoomRuntimeModule} - */ - @SuppressWarnings("all") -public abstract class AbstractRoomRuntimeModule extends DefaultRuntimeModule { - - protected Properties properties = null; - - @Override - public void configure(Binder binder) { - properties = tryBindProperties(binder, "org/eclipse/etrice/core/Room.properties"); - super.configure(binder); - } - - public void configureLanguageName(Binder binder) { - binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("org.eclipse.etrice.core.Room"); - } - - 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("room"); - } - - // contributed by org.eclipse.xtext.generator.grammarAccess.GrammarAccessFragment - public Class<? extends org.eclipse.xtext.IGrammarAccess> bindIGrammarAccess() { - return org.eclipse.etrice.core.services.RoomGrammarAccess.class; - } - - // contributed by org.eclipse.xtext.generator.parseTreeConstructor.ParseTreeConstructorFragment - public Class<? extends org.eclipse.xtext.parsetree.reconstr.IParseTreeConstructor> bindIParseTreeConstructor() { - return org.eclipse.etrice.core.parseTreeConstruction.RoomParsetreeConstructor.class; - } - - // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment - public Class<? extends org.eclipse.xtext.parser.IParser> bindIParser() { - return org.eclipse.etrice.core.parser.antlr.RoomParser.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.core.parser.antlr.RoomAntlrTokenFileProvider.class; - } - - // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment - public Class<? extends org.eclipse.xtext.parser.antlr.Lexer> bindLexer() { - return org.eclipse.etrice.core.parser.antlr.internal.InternalRoomLexer.class; - } - - // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment - public com.google.inject.Provider<org.eclipse.etrice.core.parser.antlr.internal.InternalRoomLexer> provideInternalRoomLexer() { - return org.eclipse.xtext.parser.antlr.LexerProvider.create(org.eclipse.etrice.core.parser.antlr.internal.InternalRoomLexer.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.core.parser.antlr.internal.InternalRoomLexer.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.core.validation.RoomJavaValidator> bindRoomJavaValidator() { - return org.eclipse.etrice.core.validation.RoomJavaValidator.class; - } - - // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment - public Class<? extends org.eclipse.xtext.scoping.IScopeProvider> bindIScopeProvider() { - return org.eclipse.etrice.core.scoping.RoomScopeProvider.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 Class<? extends org.eclipse.xtext.scoping.IGlobalScopeProvider> bindIGlobalScopeProvider() { - return org.eclipse.xtext.scoping.impl.DefaultGlobalScopeProvider.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.formatting.FormatterFragment - public Class<? extends org.eclipse.xtext.formatting.IFormatter> bindIFormatter() { - return org.eclipse.etrice.core.formatting.RoomFormatter.class; - } - -} +/*
+ * generated by Xtext
+ */
+package org.eclipse.etrice.core;
+
+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.core.RoomRuntimeModule}
+ */
+ @SuppressWarnings("all")
+public abstract class AbstractRoomRuntimeModule extends DefaultRuntimeModule {
+
+ protected Properties properties = null;
+
+ @Override
+ public void configure(Binder binder) {
+ properties = tryBindProperties(binder, "org/eclipse/etrice/core/Room.properties");
+ super.configure(binder);
+ }
+
+ public void configureLanguageName(Binder binder) {
+ binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("org.eclipse.etrice.core.Room");
+ }
+
+ 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("room");
+ }
+
+ // contributed by org.eclipse.xtext.generator.grammarAccess.GrammarAccessFragment
+ public Class<? extends org.eclipse.xtext.IGrammarAccess> bindIGrammarAccess() {
+ return org.eclipse.etrice.core.services.RoomGrammarAccess.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parseTreeConstructor.ParseTreeConstructorFragment
+ public Class<? extends org.eclipse.xtext.parsetree.reconstr.IParseTreeConstructor> bindIParseTreeConstructor() {
+ return org.eclipse.etrice.core.parseTreeConstruction.RoomParsetreeConstructor.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.IParser> bindIParser() {
+ return org.eclipse.etrice.core.parser.antlr.RoomParser.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.core.parser.antlr.RoomAntlrTokenFileProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.antlr.Lexer> bindLexer() {
+ return org.eclipse.etrice.core.parser.antlr.internal.InternalRoomLexer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public com.google.inject.Provider<org.eclipse.etrice.core.parser.antlr.internal.InternalRoomLexer> provideInternalRoomLexer() {
+ return org.eclipse.xtext.parser.antlr.LexerProvider.create(org.eclipse.etrice.core.parser.antlr.internal.InternalRoomLexer.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.core.parser.antlr.internal.InternalRoomLexer.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.core.validation.RoomJavaValidator> bindRoomJavaValidator() {
+ return org.eclipse.etrice.core.validation.RoomJavaValidator.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+ public Class<? extends org.eclipse.xtext.scoping.IScopeProvider> bindIScopeProvider() {
+ return org.eclipse.etrice.core.scoping.RoomScopeProvider.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 Class<? extends org.eclipse.xtext.scoping.IGlobalScopeProvider> bindIGlobalScopeProvider() {
+ return org.eclipse.xtext.scoping.impl.DefaultGlobalScopeProvider.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.formatting.FormatterFragment
+ public Class<? extends org.eclipse.xtext.formatting.IFormatter> bindIFormatter() {
+ return org.eclipse.etrice.core.formatting.RoomFormatter.class;
+ }
+
+}
diff --git a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/RoomStandaloneSetupGenerated.java b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/RoomStandaloneSetupGenerated.java index c12bb7cbb..94e92584f 100644 --- a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/RoomStandaloneSetupGenerated.java +++ b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/RoomStandaloneSetupGenerated.java @@ -1,43 +1,43 @@ - -package org.eclipse.etrice.core; - -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 RoomStandaloneSetupGenerated 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.core.RoomRuntimeModule()); - } - - public void register(Injector injector) { - if (!EPackage.Registry.INSTANCE.containsKey("http://www.eclipse.org/etrice/Room")) { - EPackage.Registry.INSTANCE.put("http://www.eclipse.org/etrice/Room", org.eclipse.etrice.core.room.RoomPackage.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("room", resourceFactory); - org.eclipse.xtext.resource.IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("room", serviceProvider); - - - - - } -} +
+package org.eclipse.etrice.core;
+
+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 RoomStandaloneSetupGenerated 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.core.RoomRuntimeModule());
+ }
+
+ public void register(Injector injector) {
+ if (!EPackage.Registry.INSTANCE.containsKey("http://www.eclipse.org/etrice/Room")) {
+ EPackage.Registry.INSTANCE.put("http://www.eclipse.org/etrice/Room", org.eclipse.etrice.core.room.RoomPackage.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("room", resourceFactory);
+ org.eclipse.xtext.resource.IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("room", serviceProvider);
+
+
+
+
+ }
+}
diff --git a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/RoomParser.java b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/RoomParser.java index 75806906e..3e6898577 100644 --- a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/RoomParser.java +++ b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/RoomParser.java @@ -1,39 +1,39 @@ -/* -* generated by Xtext -*/ -package org.eclipse.etrice.core.parser.antlr; - -import com.google.inject.Inject; - -import org.eclipse.xtext.parser.antlr.XtextTokenStream; -import org.eclipse.etrice.core.services.RoomGrammarAccess; - -public class RoomParser extends org.eclipse.xtext.parser.antlr.AbstractAntlrParser { - - @Inject - private RoomGrammarAccess grammarAccess; - - @Override - protected void setInitialHiddenTokens(XtextTokenStream tokenStream) { - tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT"); - } - - @Override - protected org.eclipse.etrice.core.parser.antlr.internal.InternalRoomParser createParser(XtextTokenStream stream) { - return new org.eclipse.etrice.core.parser.antlr.internal.InternalRoomParser(stream, getGrammarAccess()); - } - - @Override - protected String getDefaultRuleName() { - return "RoomModel"; - } - - public RoomGrammarAccess getGrammarAccess() { - return this.grammarAccess; - } - - public void setGrammarAccess(RoomGrammarAccess grammarAccess) { - this.grammarAccess = grammarAccess; - } - -} +/*
+* generated by Xtext
+*/
+package org.eclipse.etrice.core.parser.antlr;
+
+import com.google.inject.Inject;
+
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.etrice.core.services.RoomGrammarAccess;
+
+public class RoomParser extends org.eclipse.xtext.parser.antlr.AbstractAntlrParser {
+
+ @Inject
+ private RoomGrammarAccess grammarAccess;
+
+ @Override
+ protected void setInitialHiddenTokens(XtextTokenStream tokenStream) {
+ tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT");
+ }
+
+ @Override
+ protected org.eclipse.etrice.core.parser.antlr.internal.InternalRoomParser createParser(XtextTokenStream stream) {
+ return new org.eclipse.etrice.core.parser.antlr.internal.InternalRoomParser(stream, getGrammarAccess());
+ }
+
+ @Override
+ protected String getDefaultRuleName() {
+ return "RoomModel";
+ }
+
+ public RoomGrammarAccess getGrammarAccess() {
+ return this.grammarAccess;
+ }
+
+ public void setGrammarAccess(RoomGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+
+}
diff --git a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g index 1e820d8de..38f687457 100644 --- a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g +++ b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/parser/antlr/internal/InternalRoom.g @@ -1,5263 +1,5263 @@ -/* -* generated by Xtext -*/ -grammar InternalRoom; - -options { - superClass=AbstractInternalAntlrParser; - -} - -@lexer::header { -package org.eclipse.etrice.core.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.core.parser.antlr.internal; - -import org.eclipse.xtext.*; -import org.eclipse.xtext.parser.*; -import org.eclipse.xtext.parser.impl.*; -import org.eclipse.emf.ecore.util.EcoreUtil; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.common.util.Enumerator; -import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser; -import org.eclipse.xtext.parser.antlr.XtextTokenStream; -import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; -import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken; -import org.eclipse.etrice.core.services.RoomGrammarAccess; - -} - -@parser::members { - - private RoomGrammarAccess grammarAccess; - - public InternalRoomParser(TokenStream input, RoomGrammarAccess grammarAccess) { - this(input); - this.grammarAccess = grammarAccess; - registerRules(grammarAccess.getGrammar()); - } - - @Override - protected String getFirstRuleName() { - return "RoomModel"; - } - - @Override - protected RoomGrammarAccess getGrammarAccess() { - return grammarAccess; - } -} - -@rulecatch { - catch (RecognitionException re) { - recover(input,re); - appendSkippedTokens(); - } -} - - - - -// Entry rule entryRuleRoomModel -entryRuleRoomModel returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getRoomModelRule()); } - iv_ruleRoomModel=ruleRoomModel - { $current=$iv_ruleRoomModel.current; } - EOF -; - -// Rule RoomModel -ruleRoomModel returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='RoomModel' - { - newLeafNode(otherlv_0, grammarAccess.getRoomModelAccess().getRoomModelKeyword_0()); - } -( -( - { - newCompositeNode(grammarAccess.getRoomModelAccess().getNameFQNParserRuleCall_1_0()); - } - lv_name_1_0=ruleFQN { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getRoomModelRule()); - } - set( - $current, - "name", - lv_name_1_0, - "FQN"); - afterParserOrEnumRuleCall(); - } - -) -) otherlv_2='{' - { - newLeafNode(otherlv_2, grammarAccess.getRoomModelAccess().getLeftCurlyBracketKeyword_2()); - } -( -( - { - newCompositeNode(grammarAccess.getRoomModelAccess().getImportsImportParserRuleCall_3_0()); - } - lv_imports_3_0=ruleImport { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getRoomModelRule()); - } - add( - $current, - "imports", - lv_imports_3_0, - "Import"); - afterParserOrEnumRuleCall(); - } - -) -)*(( -( - { - newCompositeNode(grammarAccess.getRoomModelAccess().getDataClassesDataClassParserRuleCall_4_0_0()); - } - lv_dataClasses_4_0=ruleDataClass { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getRoomModelRule()); - } - add( - $current, - "dataClasses", - lv_dataClasses_4_0, - "DataClass"); - afterParserOrEnumRuleCall(); - } - -) -) - |( -( - { - newCompositeNode(grammarAccess.getRoomModelAccess().getProtocolClassesProtocolClassParserRuleCall_4_1_0()); - } - lv_protocolClasses_5_0=ruleProtocolClass { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getRoomModelRule()); - } - add( - $current, - "protocolClasses", - lv_protocolClasses_5_0, - "ProtocolClass"); - afterParserOrEnumRuleCall(); - } - -) -) - |( -( - { - newCompositeNode(grammarAccess.getRoomModelAccess().getActorClassesActorClassParserRuleCall_4_2_0()); - } - lv_actorClasses_6_0=ruleActorClass { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getRoomModelRule()); - } - add( - $current, - "actorClasses", - lv_actorClasses_6_0, - "ActorClass"); - afterParserOrEnumRuleCall(); - } - -) -) - |( -( - { - newCompositeNode(grammarAccess.getRoomModelAccess().getSubSystemClassesSubSystemClassParserRuleCall_4_3_0()); - } - lv_subSystemClasses_7_0=ruleSubSystemClass { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getRoomModelRule()); - } - add( - $current, - "subSystemClasses", - lv_subSystemClasses_7_0, - "SubSystemClass"); - afterParserOrEnumRuleCall(); - } - -) -) - |( -( - { - newCompositeNode(grammarAccess.getRoomModelAccess().getSystemsLogicalSystemParserRuleCall_4_4_0()); - } - lv_systems_8_0=ruleLogicalSystem { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getRoomModelRule()); - } - add( - $current, - "systems", - lv_systems_8_0, - "LogicalSystem"); - afterParserOrEnumRuleCall(); - } - -) -))+ otherlv_9='}' - { - newLeafNode(otherlv_9, grammarAccess.getRoomModelAccess().getRightCurlyBracketKeyword_5()); - } -) -; - - - - - - - -// Entry rule entryRuleStructureClass -entryRuleStructureClass returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getStructureClassRule()); } - iv_ruleStructureClass=ruleStructureClass - { $current=$iv_ruleStructureClass.current; } - EOF -; - -// Rule StructureClass -ruleStructureClass returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( - { - newCompositeNode(grammarAccess.getStructureClassAccess().getActorContainerClassParserRuleCall_0()); - } - this_ActorContainerClass_0=ruleActorContainerClass - { - $current = $this_ActorContainerClass_0.current; - afterParserOrEnumRuleCall(); - } - - | - { - newCompositeNode(grammarAccess.getStructureClassAccess().getLogicalSystemParserRuleCall_1()); - } - this_LogicalSystem_1=ruleLogicalSystem - { - $current = $this_LogicalSystem_1.current; - afterParserOrEnumRuleCall(); - } -) -; - - - - - -// Entry rule entryRuleActorContainerClass -entryRuleActorContainerClass returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getActorContainerClassRule()); } - iv_ruleActorContainerClass=ruleActorContainerClass - { $current=$iv_ruleActorContainerClass.current; } - EOF -; - -// Rule ActorContainerClass -ruleActorContainerClass returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( - { - newCompositeNode(grammarAccess.getActorContainerClassAccess().getActorClassParserRuleCall_0()); - } - this_ActorClass_0=ruleActorClass - { - $current = $this_ActorClass_0.current; - afterParserOrEnumRuleCall(); - } - - | - { - newCompositeNode(grammarAccess.getActorContainerClassAccess().getSubSystemClassParserRuleCall_1()); - } - this_SubSystemClass_1=ruleSubSystemClass - { - $current = $this_SubSystemClass_1.current; - afterParserOrEnumRuleCall(); - } -) -; - - - - - -// Entry rule entryRuleTypedID -entryRuleTypedID returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getTypedIDRule()); } - iv_ruleTypedID=ruleTypedID - { $current=$iv_ruleTypedID.current; } - EOF -; - -// Rule TypedID -ruleTypedID returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -(( -( - lv_name_0_0=RULE_ID - { - newLeafNode(lv_name_0_0, grammarAccess.getTypedIDAccess().getNameIDTerminalRuleCall_0_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getTypedIDRule()); - } - setWithLastConsumed( - $current, - "name", - lv_name_0_0, - "ID"); - } - -) -) otherlv_1=':' - { - newLeafNode(otherlv_1, grammarAccess.getTypedIDAccess().getColonKeyword_1()); - } -( -( - { - newCompositeNode(grammarAccess.getTypedIDAccess().getTypeTypeParserRuleCall_2_0()); - } - lv_type_2_0=ruleType { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getTypedIDRule()); - } - set( - $current, - "type", - lv_type_2_0, - "Type"); - afterParserOrEnumRuleCall(); - } - -) -)) -; - - - - - -// Entry rule entryRuleFreeTypedID -entryRuleFreeTypedID returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getFreeTypedIDRule()); } - iv_ruleFreeTypedID=ruleFreeTypedID - { $current=$iv_ruleFreeTypedID.current; } - EOF -; - -// Rule FreeTypedID -ruleFreeTypedID returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -(( -( - lv_name_0_0=RULE_ID - { - newLeafNode(lv_name_0_0, grammarAccess.getFreeTypedIDAccess().getNameIDTerminalRuleCall_0_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getFreeTypedIDRule()); - } - setWithLastConsumed( - $current, - "name", - lv_name_0_0, - "ID"); - } - -) -) otherlv_1=':' - { - newLeafNode(otherlv_1, grammarAccess.getFreeTypedIDAccess().getColonKeyword_1()); - } -( -( - { - newCompositeNode(grammarAccess.getFreeTypedIDAccess().getTypeFreeTypeParserRuleCall_2_0()); - } - lv_type_2_0=ruleFreeType { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getFreeTypedIDRule()); - } - set( - $current, - "type", - lv_type_2_0, - "FreeType"); - afterParserOrEnumRuleCall(); - } - -) -)) -; - - - - - -// Entry rule entryRuleType -entryRuleType returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getTypeRule()); } - iv_ruleType=ruleType - { $current=$iv_ruleType.current; } - EOF -; - -// Rule Type -ruleType returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -(( -( - { - newCompositeNode(grammarAccess.getTypeAccess().getPrimPrimitiveTypeEnumRuleCall_0_0()); - } - lv_prim_0_0=rulePrimitiveType { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getTypeRule()); - } - set( - $current, - "prim", - lv_prim_0_0, - "PrimitiveType"); - afterParserOrEnumRuleCall(); - } - -) -) - |( -( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getTypeRule()); - } - } - { - newCompositeNode(grammarAccess.getTypeAccess().getTypeDataClassCrossReference_1_0()); - } - ruleFQN { - afterParserOrEnumRuleCall(); - } - -) -)) -; - - - - - -// Entry rule entryRuleFreeType -entryRuleFreeType returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getFreeTypeRule()); } - iv_ruleFreeType=ruleFreeType - { $current=$iv_ruleFreeType.current; } - EOF -; - -// Rule FreeType -ruleFreeType returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -(( -( - { - newCompositeNode(grammarAccess.getFreeTypeAccess().getPrimPrimitiveTypeEnumRuleCall_0_0()); - } - lv_prim_0_0=rulePrimitiveType { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getFreeTypeRule()); - } - set( - $current, - "prim", - lv_prim_0_0, - "PrimitiveType"); - afterParserOrEnumRuleCall(); - } - -) -) - |( -( - lv_type_1_0=RULE_ID - { - newLeafNode(lv_type_1_0, grammarAccess.getFreeTypeAccess().getTypeIDTerminalRuleCall_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getFreeTypeRule()); - } - setWithLastConsumed( - $current, - "type", - lv_type_1_0, - "ID"); - } - -) -)) -; - - - - - -// Entry rule entryRuleDataClass -entryRuleDataClass returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getDataClassRule()); } - iv_ruleDataClass=ruleDataClass - { $current=$iv_ruleDataClass.current; } - EOF -; - -// Rule DataClass -ruleDataClass returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='DataClass' - { - newLeafNode(otherlv_0, grammarAccess.getDataClassAccess().getDataClassKeyword_0()); - } -( -( - lv_name_1_0=RULE_ID - { - newLeafNode(lv_name_1_0, grammarAccess.getDataClassAccess().getNameIDTerminalRuleCall_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getDataClassRule()); - } - setWithLastConsumed( - $current, - "name", - lv_name_1_0, - "ID"); - } - -) -)( otherlv_2='extends' - { - newLeafNode(otherlv_2, grammarAccess.getDataClassAccess().getExtendsKeyword_2_0()); - } -( -( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getDataClassRule()); - } - } - { - newCompositeNode(grammarAccess.getDataClassAccess().getBaseDataClassCrossReference_2_1_0()); - } - ruleFQN { - afterParserOrEnumRuleCall(); - } - -) -))? otherlv_4='{' - { - newLeafNode(otherlv_4, grammarAccess.getDataClassAccess().getLeftCurlyBracketKeyword_3()); - } -( -( - { - newCompositeNode(grammarAccess.getDataClassAccess().getImportsImportParserRuleCall_4_0()); - } - lv_imports_5_0=ruleImport { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getDataClassRule()); - } - add( - $current, - "imports", - lv_imports_5_0, - "Import"); - afterParserOrEnumRuleCall(); - } - -) -)*( -( - { - newCompositeNode(grammarAccess.getDataClassAccess().getAttributesAttributeParserRuleCall_5_0()); - } - lv_attributes_6_0=ruleAttribute { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getDataClassRule()); - } - add( - $current, - "attributes", - lv_attributes_6_0, - "Attribute"); - afterParserOrEnumRuleCall(); - } - -) -)+( -( - { - newCompositeNode(grammarAccess.getDataClassAccess().getOperationsOperationParserRuleCall_6_0()); - } - lv_operations_7_0=ruleOperation { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getDataClassRule()); - } - add( - $current, - "operations", - lv_operations_7_0, - "Operation"); - afterParserOrEnumRuleCall(); - } - -) -)* otherlv_8='}' - { - newLeafNode(otherlv_8, grammarAccess.getDataClassAccess().getRightCurlyBracketKeyword_7()); - } -) -; - - - - - -// Entry rule entryRuleAttribute -entryRuleAttribute returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getAttributeRule()); } - iv_ruleAttribute=ruleAttribute - { $current=$iv_ruleAttribute.current; } - EOF -; - -// Rule Attribute -ruleAttribute returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='Attribute' - { - newLeafNode(otherlv_0, grammarAccess.getAttributeAccess().getAttributeKeyword_0()); - } -( -( - lv_name_1_0=RULE_ID - { - newLeafNode(lv_name_1_0, grammarAccess.getAttributeAccess().getNameIDTerminalRuleCall_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getAttributeRule()); - } - setWithLastConsumed( - $current, - "name", - lv_name_1_0, - "ID"); - } - -) -)( otherlv_2='[' - { - newLeafNode(otherlv_2, grammarAccess.getAttributeAccess().getLeftSquareBracketKeyword_2_0()); - } -( -( - lv_size_3_0=RULE_INT - { - newLeafNode(lv_size_3_0, grammarAccess.getAttributeAccess().getSizeINTTerminalRuleCall_2_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getAttributeRule()); - } - setWithLastConsumed( - $current, - "size", - lv_size_3_0, - "INT"); - } - -) -) otherlv_4=']' - { - newLeafNode(otherlv_4, grammarAccess.getAttributeAccess().getRightSquareBracketKeyword_2_2()); - } -)? otherlv_5=':' - { - newLeafNode(otherlv_5, grammarAccess.getAttributeAccess().getColonKeyword_3()); - } -( -( - { - newCompositeNode(grammarAccess.getAttributeAccess().getTypeTypeParserRuleCall_4_0()); - } - lv_type_6_0=ruleType { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getAttributeRule()); - } - set( - $current, - "type", - lv_type_6_0, - "Type"); - afterParserOrEnumRuleCall(); - } - -) -)) -; - - - - - -// Entry rule entryRuleOperation -entryRuleOperation returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getOperationRule()); } - iv_ruleOperation=ruleOperation - { $current=$iv_ruleOperation.current; } - EOF -; - -// Rule Operation -ruleOperation returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='Operation' - { - newLeafNode(otherlv_0, grammarAccess.getOperationAccess().getOperationKeyword_0()); - } -( -( - lv_name_1_0=RULE_ID - { - newLeafNode(lv_name_1_0, grammarAccess.getOperationAccess().getNameIDTerminalRuleCall_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getOperationRule()); - } - setWithLastConsumed( - $current, - "name", - lv_name_1_0, - "ID"); - } - -) -) otherlv_2='(' - { - newLeafNode(otherlv_2, grammarAccess.getOperationAccess().getLeftParenthesisKeyword_2()); - } -(( -( - { - newCompositeNode(grammarAccess.getOperationAccess().getArgumentsFreeTypedIDParserRuleCall_3_0_0()); - } - lv_arguments_3_0=ruleFreeTypedID { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getOperationRule()); - } - add( - $current, - "arguments", - lv_arguments_3_0, - "FreeTypedID"); - afterParserOrEnumRuleCall(); - } - -) -)( otherlv_4=',' - { - newLeafNode(otherlv_4, grammarAccess.getOperationAccess().getCommaKeyword_3_1_0()); - } -( -( - { - newCompositeNode(grammarAccess.getOperationAccess().getArgumentsFreeTypedIDParserRuleCall_3_1_1_0()); - } - lv_arguments_5_0=ruleFreeTypedID { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getOperationRule()); - } - add( - $current, - "arguments", - lv_arguments_5_0, - "FreeTypedID"); - afterParserOrEnumRuleCall(); - } - -) -))*)? otherlv_6=')' - { - newLeafNode(otherlv_6, grammarAccess.getOperationAccess().getRightParenthesisKeyword_4()); - } -( otherlv_7=':' - { - newLeafNode(otherlv_7, grammarAccess.getOperationAccess().getColonKeyword_5_0()); - } -( -( - { - newCompositeNode(grammarAccess.getOperationAccess().getReturntypeFreeTypeParserRuleCall_5_1_0()); - } - lv_returntype_8_0=ruleFreeType { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getOperationRule()); - } - set( - $current, - "returntype", - lv_returntype_8_0, - "FreeType"); - afterParserOrEnumRuleCall(); - } - -) -))?( -( - { - newCompositeNode(grammarAccess.getOperationAccess().getDetailCodeDetailCodeParserRuleCall_6_0()); - } - lv_detailCode_9_0=ruleDetailCode { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getOperationRule()); - } - set( - $current, - "detailCode", - lv_detailCode_9_0, - "DetailCode"); - afterParserOrEnumRuleCall(); - } - -) -)) -; - - - - - -// Entry rule entryRuleProtocolClass -entryRuleProtocolClass returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getProtocolClassRule()); } - iv_ruleProtocolClass=ruleProtocolClass - { $current=$iv_ruleProtocolClass.current; } - EOF -; - -// Rule ProtocolClass -ruleProtocolClass returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='ProtocolClass' - { - newLeafNode(otherlv_0, grammarAccess.getProtocolClassAccess().getProtocolClassKeyword_0()); - } -( -( - lv_name_1_0=RULE_ID - { - newLeafNode(lv_name_1_0, grammarAccess.getProtocolClassAccess().getNameIDTerminalRuleCall_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getProtocolClassRule()); - } - setWithLastConsumed( - $current, - "name", - lv_name_1_0, - "ID"); - } - -) -)( otherlv_2='extends' - { - newLeafNode(otherlv_2, grammarAccess.getProtocolClassAccess().getExtendsKeyword_2_0()); - } -( -( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getProtocolClassRule()); - } - } - { - newCompositeNode(grammarAccess.getProtocolClassAccess().getBaseProtocolClassCrossReference_2_1_0()); - } - ruleFQN { - afterParserOrEnumRuleCall(); - } - -) -))? otherlv_4='{' - { - newLeafNode(otherlv_4, grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_3()); - } -( otherlv_5='usercode1' - { - newLeafNode(otherlv_5, grammarAccess.getProtocolClassAccess().getUsercode1Keyword_4_0()); - } -( -( - { - newCompositeNode(grammarAccess.getProtocolClassAccess().getUserCode1DetailCodeParserRuleCall_4_1_0()); - } - lv_userCode1_6_0=ruleDetailCode { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getProtocolClassRule()); - } - set( - $current, - "userCode1", - lv_userCode1_6_0, - "DetailCode"); - afterParserOrEnumRuleCall(); - } - -) -))?( otherlv_7='usercode2' - { - newLeafNode(otherlv_7, grammarAccess.getProtocolClassAccess().getUsercode2Keyword_5_0()); - } -( -( - { - newCompositeNode(grammarAccess.getProtocolClassAccess().getUserCode2DetailCodeParserRuleCall_5_1_0()); - } - lv_userCode2_8_0=ruleDetailCode { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getProtocolClassRule()); - } - set( - $current, - "userCode2", - lv_userCode2_8_0, - "DetailCode"); - afterParserOrEnumRuleCall(); - } - -) -))? otherlv_9='incoming' - { - newLeafNode(otherlv_9, grammarAccess.getProtocolClassAccess().getIncomingKeyword_6()); - } - otherlv_10='{' - { - newLeafNode(otherlv_10, grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_7()); - } -( -( - { - newCompositeNode(grammarAccess.getProtocolClassAccess().getIncomingMessagesMessageParserRuleCall_8_0()); - } - lv_incomingMessages_11_0=ruleMessage { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getProtocolClassRule()); - } - add( - $current, - "incomingMessages", - lv_incomingMessages_11_0, - "Message"); - afterParserOrEnumRuleCall(); - } - -) -)* otherlv_12='}' - { - newLeafNode(otherlv_12, grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_9()); - } - otherlv_13='outgoing' - { - newLeafNode(otherlv_13, grammarAccess.getProtocolClassAccess().getOutgoingKeyword_10()); - } - otherlv_14='{' - { - newLeafNode(otherlv_14, grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_11()); - } -( -( - { - newCompositeNode(grammarAccess.getProtocolClassAccess().getOutgoingMessagesMessageParserRuleCall_12_0()); - } - lv_outgoingMessages_15_0=ruleMessage { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getProtocolClassRule()); - } - add( - $current, - "outgoingMessages", - lv_outgoingMessages_15_0, - "Message"); - afterParserOrEnumRuleCall(); - } - -) -)* otherlv_16='}' - { - newLeafNode(otherlv_16, grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_13()); - } -( otherlv_17='regular' - { - newLeafNode(otherlv_17, grammarAccess.getProtocolClassAccess().getRegularKeyword_14_0()); - } - otherlv_18='PortClass' - { - newLeafNode(otherlv_18, grammarAccess.getProtocolClassAccess().getPortClassKeyword_14_1()); - } -( -( - { - newCompositeNode(grammarAccess.getProtocolClassAccess().getRegularPortClassParserRuleCall_14_2_0()); - } - lv_regular_19_0=rulePortClass { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getProtocolClassRule()); - } - set( - $current, - "regular", - lv_regular_19_0, - "PortClass"); - afterParserOrEnumRuleCall(); - } - -) -))?( otherlv_20='conjugate' - { - newLeafNode(otherlv_20, grammarAccess.getProtocolClassAccess().getConjugateKeyword_15_0()); - } - otherlv_21='PortClass' - { - newLeafNode(otherlv_21, grammarAccess.getProtocolClassAccess().getPortClassKeyword_15_1()); - } -( -( - { - newCompositeNode(grammarAccess.getProtocolClassAccess().getConjugatePortClassParserRuleCall_15_2_0()); - } - lv_conjugate_22_0=rulePortClass { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getProtocolClassRule()); - } - set( - $current, - "conjugate", - lv_conjugate_22_0, - "PortClass"); - afterParserOrEnumRuleCall(); - } - -) -))?( -( - { - newCompositeNode(grammarAccess.getProtocolClassAccess().getSemanticsProtocolSemanticsParserRuleCall_16_0()); - } - lv_semantics_23_0=ruleProtocolSemantics { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getProtocolClassRule()); - } - set( - $current, - "semantics", - lv_semantics_23_0, - "ProtocolSemantics"); - afterParserOrEnumRuleCall(); - } - -) -)? otherlv_24='}' - { - newLeafNode(otherlv_24, grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_17()); - } -) -; - - - - - -// Entry rule entryRuleMessage -entryRuleMessage returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getMessageRule()); } - iv_ruleMessage=ruleMessage - { $current=$iv_ruleMessage.current; } - EOF -; - -// Rule Message -ruleMessage returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='Message' - { - newLeafNode(otherlv_0, grammarAccess.getMessageAccess().getMessageKeyword_0()); - } -( -( - lv_name_1_0=RULE_ID - { - newLeafNode(lv_name_1_0, grammarAccess.getMessageAccess().getNameIDTerminalRuleCall_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getMessageRule()); - } - setWithLastConsumed( - $current, - "name", - lv_name_1_0, - "ID"); - } - -) -) otherlv_2='(' - { - newLeafNode(otherlv_2, grammarAccess.getMessageAccess().getLeftParenthesisKeyword_2()); - } -(( -( - { - newCompositeNode(grammarAccess.getMessageAccess().getArgumentsTypedIDParserRuleCall_3_0_0()); - } - lv_arguments_3_0=ruleTypedID { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getMessageRule()); - } - add( - $current, - "arguments", - lv_arguments_3_0, - "TypedID"); - afterParserOrEnumRuleCall(); - } - -) -)( otherlv_4=',' - { - newLeafNode(otherlv_4, grammarAccess.getMessageAccess().getCommaKeyword_3_1_0()); - } -( -( - { - newCompositeNode(grammarAccess.getMessageAccess().getArgumentsTypedIDParserRuleCall_3_1_1_0()); - } - lv_arguments_5_0=ruleTypedID { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getMessageRule()); - } - add( - $current, - "arguments", - lv_arguments_5_0, - "TypedID"); - afterParserOrEnumRuleCall(); - } - -) -))*)? otherlv_6=')' - { - newLeafNode(otherlv_6, grammarAccess.getMessageAccess().getRightParenthesisKeyword_4()); - } -) -; - - - - - -// Entry rule entryRulePortClass -entryRulePortClass returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getPortClassRule()); } - iv_rulePortClass=rulePortClass - { $current=$iv_rulePortClass.current; } - EOF -; - -// Rule PortClass -rulePortClass returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='{' - { - newLeafNode(otherlv_0, grammarAccess.getPortClassAccess().getLeftCurlyBracketKeyword_0()); - } -( otherlv_1='usercode' - { - newLeafNode(otherlv_1, grammarAccess.getPortClassAccess().getUsercodeKeyword_1_0()); - } -( -( - { - newCompositeNode(grammarAccess.getPortClassAccess().getUserCodeDetailCodeParserRuleCall_1_1_0()); - } - lv_userCode_2_0=ruleDetailCode { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getPortClassRule()); - } - set( - $current, - "userCode", - lv_userCode_2_0, - "DetailCode"); - afterParserOrEnumRuleCall(); - } - -) -))?(( -( - { - newCompositeNode(grammarAccess.getPortClassAccess().getAttributesAttributeParserRuleCall_2_0_0()); - } - lv_attributes_3_0=ruleAttribute { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getPortClassRule()); - } - add( - $current, - "attributes", - lv_attributes_3_0, - "Attribute"); - afterParserOrEnumRuleCall(); - } - -) -) - |( -( - { - newCompositeNode(grammarAccess.getPortClassAccess().getOperationsOperationParserRuleCall_2_1_0()); - } - lv_operations_4_0=ruleOperation { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getPortClassRule()); - } - add( - $current, - "operations", - lv_operations_4_0, - "Operation"); - afterParserOrEnumRuleCall(); - } - -) -) - |( -( - { - newCompositeNode(grammarAccess.getPortClassAccess().getMsgHandlersMessageHandlerParserRuleCall_2_2_0()); - } - lv_msgHandlers_5_0=ruleMessageHandler { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getPortClassRule()); - } - add( - $current, - "msgHandlers", - lv_msgHandlers_5_0, - "MessageHandler"); - afterParserOrEnumRuleCall(); - } - -) -))+ otherlv_6='}' - { - newLeafNode(otherlv_6, grammarAccess.getPortClassAccess().getRightCurlyBracketKeyword_3()); - } -) -; - - - - - -// Entry rule entryRuleMessageHandler -entryRuleMessageHandler returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getMessageHandlerRule()); } - iv_ruleMessageHandler=ruleMessageHandler - { $current=$iv_ruleMessageHandler.current; } - EOF -; - -// Rule MessageHandler -ruleMessageHandler returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='handle' - { - newLeafNode(otherlv_0, grammarAccess.getMessageHandlerAccess().getHandleKeyword_0()); - } -( -( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getMessageHandlerRule()); - } - } - otherlv_1=RULE_ID - { - newLeafNode(otherlv_1, grammarAccess.getMessageHandlerAccess().getMsgMessageCrossReference_1_0()); - } - -) -)( -( - { - newCompositeNode(grammarAccess.getMessageHandlerAccess().getDetailCodeDetailCodeParserRuleCall_2_0()); - } - lv_detailCode_2_0=ruleDetailCode { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getMessageHandlerRule()); - } - set( - $current, - "detailCode", - lv_detailCode_2_0, - "DetailCode"); - afterParserOrEnumRuleCall(); - } - -) -)) -; - - - - - -// Entry rule entryRuleProtocolSemantics -entryRuleProtocolSemantics returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getProtocolSemanticsRule()); } - iv_ruleProtocolSemantics=ruleProtocolSemantics - { $current=$iv_ruleProtocolSemantics.current; } - EOF -; - -// Rule ProtocolSemantics -ruleProtocolSemantics returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='semantics' - { - newLeafNode(otherlv_0, grammarAccess.getProtocolSemanticsAccess().getSemanticsKeyword_0()); - } - otherlv_1='{' - { - newLeafNode(otherlv_1, grammarAccess.getProtocolSemanticsAccess().getLeftCurlyBracketKeyword_1()); - } -( -( - { - newCompositeNode(grammarAccess.getProtocolSemanticsAccess().getRulesSemanticsRuleParserRuleCall_2_0()); - } - lv_rules_2_0=ruleSemanticsRule { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getProtocolSemanticsRule()); - } - add( - $current, - "rules", - lv_rules_2_0, - "SemanticsRule"); - afterParserOrEnumRuleCall(); - } - -) -)+ otherlv_3='}' - { - newLeafNode(otherlv_3, grammarAccess.getProtocolSemanticsAccess().getRightCurlyBracketKeyword_3()); - } -) -; - - - - - -// Entry rule entryRuleSemanticsRule -entryRuleSemanticsRule returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getSemanticsRuleRule()); } - iv_ruleSemanticsRule=ruleSemanticsRule - { $current=$iv_ruleSemanticsRule.current; } - EOF -; - -// Rule SemanticsRule -ruleSemanticsRule returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( - { - newCompositeNode(grammarAccess.getSemanticsRuleAccess().getSemanticsInRuleParserRuleCall_0()); - } - this_SemanticsInRule_0=ruleSemanticsInRule - { - $current = $this_SemanticsInRule_0.current; - afterParserOrEnumRuleCall(); - } - - | - { - newCompositeNode(grammarAccess.getSemanticsRuleAccess().getSemanticsOutRuleParserRuleCall_1()); - } - this_SemanticsOutRule_1=ruleSemanticsOutRule - { - $current = $this_SemanticsOutRule_1.current; - afterParserOrEnumRuleCall(); - } -) -; - - - - - -// Entry rule entryRuleSemanticsInRule -entryRuleSemanticsInRule returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getSemanticsInRuleRule()); } - iv_ruleSemanticsInRule=ruleSemanticsInRule - { $current=$iv_ruleSemanticsInRule.current; } - EOF -; - -// Rule SemanticsInRule -ruleSemanticsInRule returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='in' - { - newLeafNode(otherlv_0, grammarAccess.getSemanticsInRuleAccess().getInKeyword_0()); - } -( -( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getSemanticsInRuleRule()); - } - } - otherlv_1=RULE_ID - { - newLeafNode(otherlv_1, grammarAccess.getSemanticsInRuleAccess().getMsgMessageCrossReference_1_0()); - } - -) -) otherlv_2='->' - { - newLeafNode(otherlv_2, grammarAccess.getSemanticsInRuleAccess().getHyphenMinusGreaterThanSignKeyword_2()); - } - otherlv_3='{' - { - newLeafNode(otherlv_3, grammarAccess.getSemanticsInRuleAccess().getLeftCurlyBracketKeyword_3()); - } -( -( - { - newCompositeNode(grammarAccess.getSemanticsInRuleAccess().getFollowUpsSemanticsRuleParserRuleCall_4_0()); - } - lv_followUps_4_0=ruleSemanticsRule { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getSemanticsInRuleRule()); - } - add( - $current, - "followUps", - lv_followUps_4_0, - "SemanticsRule"); - afterParserOrEnumRuleCall(); - } - -) -)* otherlv_5='}' - { - newLeafNode(otherlv_5, grammarAccess.getSemanticsInRuleAccess().getRightCurlyBracketKeyword_5()); - } -) -; - - - - - -// Entry rule entryRuleSemanticsOutRule -entryRuleSemanticsOutRule returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getSemanticsOutRuleRule()); } - iv_ruleSemanticsOutRule=ruleSemanticsOutRule - { $current=$iv_ruleSemanticsOutRule.current; } - EOF -; - -// Rule SemanticsOutRule -ruleSemanticsOutRule returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='out' - { - newLeafNode(otherlv_0, grammarAccess.getSemanticsOutRuleAccess().getOutKeyword_0()); - } -( -( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getSemanticsOutRuleRule()); - } - } - otherlv_1=RULE_ID - { - newLeafNode(otherlv_1, grammarAccess.getSemanticsOutRuleAccess().getMsgMessageCrossReference_1_0()); - } - -) -) otherlv_2='->' - { - newLeafNode(otherlv_2, grammarAccess.getSemanticsOutRuleAccess().getHyphenMinusGreaterThanSignKeyword_2()); - } - otherlv_3='{' - { - newLeafNode(otherlv_3, grammarAccess.getSemanticsOutRuleAccess().getLeftCurlyBracketKeyword_3()); - } -( -( - { - newCompositeNode(grammarAccess.getSemanticsOutRuleAccess().getFollowUpsSemanticsRuleParserRuleCall_4_0()); - } - lv_followUps_4_0=ruleSemanticsRule { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getSemanticsOutRuleRule()); - } - add( - $current, - "followUps", - lv_followUps_4_0, - "SemanticsRule"); - afterParserOrEnumRuleCall(); - } - -) -)* otherlv_5='}' - { - newLeafNode(otherlv_5, grammarAccess.getSemanticsOutRuleAccess().getRightCurlyBracketKeyword_5()); - } -) -; - - - - - -// Entry rule entryRuleActorClass -entryRuleActorClass returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getActorClassRule()); } - iv_ruleActorClass=ruleActorClass - { $current=$iv_ruleActorClass.current; } - EOF -; - -// Rule ActorClass -ruleActorClass returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -(( -( - lv_abstract_0_0= 'abstract' - { - newLeafNode(lv_abstract_0_0, grammarAccess.getActorClassAccess().getAbstractAbstractKeyword_0_0()); - } - - { - if ($current==null) { - $current = createModelElement(grammarAccess.getActorClassRule()); - } - setWithLastConsumed($current, "abstract", true, "abstract"); - } - -) -)? otherlv_1='ActorClass' - { - newLeafNode(otherlv_1, grammarAccess.getActorClassAccess().getActorClassKeyword_1()); - } -( -( - lv_name_2_0=RULE_ID - { - newLeafNode(lv_name_2_0, grammarAccess.getActorClassAccess().getNameIDTerminalRuleCall_2_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getActorClassRule()); - } - setWithLastConsumed( - $current, - "name", - lv_name_2_0, - "ID"); - } - -) -)( otherlv_3='extends' - { - newLeafNode(otherlv_3, grammarAccess.getActorClassAccess().getExtendsKeyword_3_0()); - } -( -( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getActorClassRule()); - } - } - { - newCompositeNode(grammarAccess.getActorClassAccess().getBaseActorClassCrossReference_3_1_0()); - } - ruleFQN { - afterParserOrEnumRuleCall(); - } - -) -))? otherlv_5='{' - { - newLeafNode(otherlv_5, grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_4()); - } -( otherlv_6='Interface' - { - newLeafNode(otherlv_6, grammarAccess.getActorClassAccess().getInterfaceKeyword_5_0()); - } - otherlv_7='{' - { - newLeafNode(otherlv_7, grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_5_1()); - } -( -( - { - newCompositeNode(grammarAccess.getActorClassAccess().getIfPortsPortParserRuleCall_5_2_0()); - } - lv_ifPorts_8_0=rulePort { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getActorClassRule()); - } - add( - $current, - "ifPorts", - lv_ifPorts_8_0, - "Port"); - afterParserOrEnumRuleCall(); - } - -) -)*( -( - { - newCompositeNode(grammarAccess.getActorClassAccess().getIfSPPsSPPRefParserRuleCall_5_3_0()); - } - lv_ifSPPs_9_0=ruleSPPRef { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getActorClassRule()); - } - add( - $current, - "ifSPPs", - lv_ifSPPs_9_0, - "SPPRef"); - afterParserOrEnumRuleCall(); - } - -) -)* otherlv_10='}' - { - newLeafNode(otherlv_10, grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_5_4()); - } -)?( otherlv_11='Structure' - { - newLeafNode(otherlv_11, grammarAccess.getActorClassAccess().getStructureKeyword_6_0()); - } - otherlv_12='{' - { - newLeafNode(otherlv_12, grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_6_1()); - } -( otherlv_13='usercode1' - { - newLeafNode(otherlv_13, grammarAccess.getActorClassAccess().getUsercode1Keyword_6_2_0()); - } -( -( - { - newCompositeNode(grammarAccess.getActorClassAccess().getUserCode1DetailCodeParserRuleCall_6_2_1_0()); - } - lv_userCode1_14_0=ruleDetailCode { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getActorClassRule()); - } - set( - $current, - "userCode1", - lv_userCode1_14_0, - "DetailCode"); - afterParserOrEnumRuleCall(); - } - -) -))?( otherlv_15='usercode2' - { - newLeafNode(otherlv_15, grammarAccess.getActorClassAccess().getUsercode2Keyword_6_3_0()); - } -( -( - { - newCompositeNode(grammarAccess.getActorClassAccess().getUserCode2DetailCodeParserRuleCall_6_3_1_0()); - } - lv_userCode2_16_0=ruleDetailCode { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getActorClassRule()); - } - set( - $current, - "userCode2", - lv_userCode2_16_0, - "DetailCode"); - afterParserOrEnumRuleCall(); - } - -) -))?(( -( - { - newCompositeNode(grammarAccess.getActorClassAccess().getIntPortsPortParserRuleCall_6_4_0_0()); - } - lv_intPorts_17_0=rulePort { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getActorClassRule()); - } - add( - $current, - "intPorts", - lv_intPorts_17_0, - "Port"); - afterParserOrEnumRuleCall(); - } - -) -) - |( -( - { - newCompositeNode(grammarAccess.getActorClassAccess().getExtPortsExternalPortParserRuleCall_6_4_1_0()); - } - lv_extPorts_18_0=ruleExternalPort { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getActorClassRule()); - } - add( - $current, - "extPorts", - lv_extPorts_18_0, - "ExternalPort"); - afterParserOrEnumRuleCall(); - } - -) -))*( -( - { - newCompositeNode(grammarAccess.getActorClassAccess().getServiceImplementationsServiceImplementationParserRuleCall_6_5_0()); - } - lv_serviceImplementations_19_0=ruleServiceImplementation { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getActorClassRule()); - } - add( - $current, - "serviceImplementations", - lv_serviceImplementations_19_0, - "ServiceImplementation"); - afterParserOrEnumRuleCall(); - } - -) -)*( -( - { - newCompositeNode(grammarAccess.getActorClassAccess().getStrSAPsSAPRefParserRuleCall_6_6_0()); - } - lv_strSAPs_20_0=ruleSAPRef { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getActorClassRule()); - } - add( - $current, - "strSAPs", - lv_strSAPs_20_0, - "SAPRef"); - afterParserOrEnumRuleCall(); - } - -) -)*( -( - { - newCompositeNode(grammarAccess.getActorClassAccess().getAttributesAttributeParserRuleCall_6_7_0()); - } - lv_attributes_21_0=ruleAttribute { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getActorClassRule()); - } - add( - $current, - "attributes", - lv_attributes_21_0, - "Attribute"); - afterParserOrEnumRuleCall(); - } - -) -)*( -( - { - newCompositeNode(grammarAccess.getActorClassAccess().getActorRefsActorRefParserRuleCall_6_8_0()); - } - lv_actorRefs_22_0=ruleActorRef { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getActorClassRule()); - } - add( - $current, - "actorRefs", - lv_actorRefs_22_0, - "ActorRef"); - afterParserOrEnumRuleCall(); - } - -) -)*( -( - { - newCompositeNode(grammarAccess.getActorClassAccess().getBindingsBindingParserRuleCall_6_9_0()); - } - lv_bindings_23_0=ruleBinding { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getActorClassRule()); - } - add( - $current, - "bindings", - lv_bindings_23_0, - "Binding"); - afterParserOrEnumRuleCall(); - } - -) -)*( -( - { - newCompositeNode(grammarAccess.getActorClassAccess().getConnectionsLayerConnectionParserRuleCall_6_10_0()); - } - lv_connections_24_0=ruleLayerConnection { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getActorClassRule()); - } - add( - $current, - "connections", - lv_connections_24_0, - "LayerConnection"); - afterParserOrEnumRuleCall(); - } - -) -)* otherlv_25='}' - { - newLeafNode(otherlv_25, grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_6_11()); - } -)?( otherlv_26='Behavior' - { - newLeafNode(otherlv_26, grammarAccess.getActorClassAccess().getBehaviorKeyword_7_0()); - } - otherlv_27='{' - { - newLeafNode(otherlv_27, grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_7_1()); - } -( -( - { - newCompositeNode(grammarAccess.getActorClassAccess().getOperationsOperationParserRuleCall_7_2_0()); - } - lv_operations_28_0=ruleOperation { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getActorClassRule()); - } - add( - $current, - "operations", - lv_operations_28_0, - "Operation"); - afterParserOrEnumRuleCall(); - } - -) -)*( -( - { - newCompositeNode(grammarAccess.getActorClassAccess().getStateMachineStateMachineParserRuleCall_7_3_0()); - } - lv_stateMachine_29_0=ruleStateMachine { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getActorClassRule()); - } - set( - $current, - "stateMachine", - lv_stateMachine_29_0, - "StateMachine"); - afterParserOrEnumRuleCall(); - } - -) -)? otherlv_30='}' - { - newLeafNode(otherlv_30, grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_7_4()); - } -)? otherlv_31='}' - { - newLeafNode(otherlv_31, grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_8()); - } -) -; - - - - - - - -// Entry rule entryRulePort -entryRulePort returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getPortRule()); } - iv_rulePort=rulePort - { $current=$iv_rulePort.current; } - EOF -; - -// Rule Port -rulePort returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -(( -( - lv_conjugated_0_0= 'conjugated' - { - newLeafNode(lv_conjugated_0_0, grammarAccess.getPortAccess().getConjugatedConjugatedKeyword_0_0()); - } - - { - if ($current==null) { - $current = createModelElement(grammarAccess.getPortRule()); - } - setWithLastConsumed($current, "conjugated", true, "conjugated"); - } - -) -)? otherlv_1='Port' - { - newLeafNode(otherlv_1, grammarAccess.getPortAccess().getPortKeyword_1()); - } -( -( - lv_name_2_0=RULE_ID - { - newLeafNode(lv_name_2_0, grammarAccess.getPortAccess().getNameIDTerminalRuleCall_2_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getPortRule()); - } - setWithLastConsumed( - $current, - "name", - lv_name_2_0, - "ID"); - } - -) -)( otherlv_3='[' - { - newLeafNode(otherlv_3, grammarAccess.getPortAccess().getLeftSquareBracketKeyword_3_0()); - } -( -( - lv_multiplicity_4_0=RULE_INT - { - newLeafNode(lv_multiplicity_4_0, grammarAccess.getPortAccess().getMultiplicityINTTerminalRuleCall_3_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getPortRule()); - } - setWithLastConsumed( - $current, - "multiplicity", - lv_multiplicity_4_0, - "INT"); - } - -) -) otherlv_5=']' - { - newLeafNode(otherlv_5, grammarAccess.getPortAccess().getRightSquareBracketKeyword_3_2()); - } -)? otherlv_6=':' - { - newLeafNode(otherlv_6, grammarAccess.getPortAccess().getColonKeyword_4()); - } -( -( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getPortRule()); - } - } - { - newCompositeNode(grammarAccess.getPortAccess().getProtocolProtocolClassCrossReference_5_0()); - } - ruleFQN { - afterParserOrEnumRuleCall(); - } - -) -)) -; - - - - - -// Entry rule entryRuleExternalPort -entryRuleExternalPort returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getExternalPortRule()); } - iv_ruleExternalPort=ruleExternalPort - { $current=$iv_ruleExternalPort.current; } - EOF -; - -// Rule ExternalPort -ruleExternalPort returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='external' - { - newLeafNode(otherlv_0, grammarAccess.getExternalPortAccess().getExternalKeyword_0()); - } - otherlv_1='Port' - { - newLeafNode(otherlv_1, grammarAccess.getExternalPortAccess().getPortKeyword_1()); - } -( -( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getExternalPortRule()); - } - } - otherlv_2=RULE_ID - { - newLeafNode(otherlv_2, grammarAccess.getExternalPortAccess().getIfportPortCrossReference_2_0()); - } - -) -)) -; - - - - - -// Entry rule entryRuleSAPRef -entryRuleSAPRef returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getSAPRefRule()); } - iv_ruleSAPRef=ruleSAPRef - { $current=$iv_ruleSAPRef.current; } - EOF -; - -// Rule SAPRef -ruleSAPRef returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='SAP' - { - newLeafNode(otherlv_0, grammarAccess.getSAPRefAccess().getSAPKeyword_0()); - } -( -( - lv_name_1_0=RULE_ID - { - newLeafNode(lv_name_1_0, grammarAccess.getSAPRefAccess().getNameIDTerminalRuleCall_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getSAPRefRule()); - } - setWithLastConsumed( - $current, - "name", - lv_name_1_0, - "ID"); - } - -) -) otherlv_2=':' - { - newLeafNode(otherlv_2, grammarAccess.getSAPRefAccess().getColonKeyword_2()); - } -( -( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getSAPRefRule()); - } - } - { - newCompositeNode(grammarAccess.getSAPRefAccess().getProtocolProtocolClassCrossReference_3_0()); - } - ruleFQN { - afterParserOrEnumRuleCall(); - } - -) -)) -; - - - - - -// Entry rule entryRuleSPPRef -entryRuleSPPRef returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getSPPRefRule()); } - iv_ruleSPPRef=ruleSPPRef - { $current=$iv_ruleSPPRef.current; } - EOF -; - -// Rule SPPRef -ruleSPPRef returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='SPP' - { - newLeafNode(otherlv_0, grammarAccess.getSPPRefAccess().getSPPKeyword_0()); - } -( -( - lv_name_1_0=RULE_ID - { - newLeafNode(lv_name_1_0, grammarAccess.getSPPRefAccess().getNameIDTerminalRuleCall_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getSPPRefRule()); - } - setWithLastConsumed( - $current, - "name", - lv_name_1_0, - "ID"); - } - -) -) otherlv_2=':' - { - newLeafNode(otherlv_2, grammarAccess.getSPPRefAccess().getColonKeyword_2()); - } -( -( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getSPPRefRule()); - } - } - { - newCompositeNode(grammarAccess.getSPPRefAccess().getProtocolProtocolClassCrossReference_3_0()); - } - ruleFQN { - afterParserOrEnumRuleCall(); - } - -) -)) -; - - - - - -// Entry rule entryRuleServiceImplementation -entryRuleServiceImplementation returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getServiceImplementationRule()); } - iv_ruleServiceImplementation=ruleServiceImplementation - { $current=$iv_ruleServiceImplementation.current; } - EOF -; - -// Rule ServiceImplementation -ruleServiceImplementation returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='ServiceImplementation' - { - newLeafNode(otherlv_0, grammarAccess.getServiceImplementationAccess().getServiceImplementationKeyword_0()); - } - otherlv_1='of' - { - newLeafNode(otherlv_1, grammarAccess.getServiceImplementationAccess().getOfKeyword_1()); - } -( -( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getServiceImplementationRule()); - } - } - otherlv_2=RULE_ID - { - newLeafNode(otherlv_2, grammarAccess.getServiceImplementationAccess().getSppSPPRefCrossReference_2_0()); - } - -) -)) -; - - - - - -// Entry rule entryRuleLogicalSystem -entryRuleLogicalSystem returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getLogicalSystemRule()); } - iv_ruleLogicalSystem=ruleLogicalSystem - { $current=$iv_ruleLogicalSystem.current; } - EOF -; - -// Rule LogicalSystem -ruleLogicalSystem returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='LogicalSystem' - { - newLeafNode(otherlv_0, grammarAccess.getLogicalSystemAccess().getLogicalSystemKeyword_0()); - } -( -( - lv_name_1_0=RULE_ID - { - newLeafNode(lv_name_1_0, grammarAccess.getLogicalSystemAccess().getNameIDTerminalRuleCall_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getLogicalSystemRule()); - } - setWithLastConsumed( - $current, - "name", - lv_name_1_0, - "ID"); - } - -) -) otherlv_2='{' - { - newLeafNode(otherlv_2, grammarAccess.getLogicalSystemAccess().getLeftCurlyBracketKeyword_2()); - } -( -( - { - newCompositeNode(grammarAccess.getLogicalSystemAccess().getSubSystemsSubSystemRefParserRuleCall_3_0()); - } - lv_subSystems_3_0=ruleSubSystemRef { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getLogicalSystemRule()); - } - add( - $current, - "subSystems", - lv_subSystems_3_0, - "SubSystemRef"); - afterParserOrEnumRuleCall(); - } - -) -)+( -( - { - newCompositeNode(grammarAccess.getLogicalSystemAccess().getBindingsBindingParserRuleCall_4_0()); - } - lv_bindings_4_0=ruleBinding { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getLogicalSystemRule()); - } - add( - $current, - "bindings", - lv_bindings_4_0, - "Binding"); - afterParserOrEnumRuleCall(); - } - -) -)*( -( - { - newCompositeNode(grammarAccess.getLogicalSystemAccess().getConnectionsLayerConnectionParserRuleCall_5_0()); - } - lv_connections_5_0=ruleLayerConnection { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getLogicalSystemRule()); - } - add( - $current, - "connections", - lv_connections_5_0, - "LayerConnection"); - afterParserOrEnumRuleCall(); - } - -) -)* otherlv_6='}' - { - newLeafNode(otherlv_6, grammarAccess.getLogicalSystemAccess().getRightCurlyBracketKeyword_6()); - } -) -; - - - - - - - -// Entry rule entryRuleSubSystemRef -entryRuleSubSystemRef returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getSubSystemRefRule()); } - iv_ruleSubSystemRef=ruleSubSystemRef - { $current=$iv_ruleSubSystemRef.current; } - EOF -; - -// Rule SubSystemRef -ruleSubSystemRef returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='SubSystemRef' - { - newLeafNode(otherlv_0, grammarAccess.getSubSystemRefAccess().getSubSystemRefKeyword_0()); - } -( -( - lv_name_1_0=RULE_ID - { - newLeafNode(lv_name_1_0, grammarAccess.getSubSystemRefAccess().getNameIDTerminalRuleCall_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getSubSystemRefRule()); - } - setWithLastConsumed( - $current, - "name", - lv_name_1_0, - "ID"); - } - -) -) otherlv_2=':' - { - newLeafNode(otherlv_2, grammarAccess.getSubSystemRefAccess().getColonKeyword_2()); - } -( -( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getSubSystemRefRule()); - } - } - { - newCompositeNode(grammarAccess.getSubSystemRefAccess().getTypeSubSystemClassCrossReference_3_0()); - } - ruleFQN { - afterParserOrEnumRuleCall(); - } - -) -)) -; - - - - - -// Entry rule entryRuleSubSystemClass -entryRuleSubSystemClass returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getSubSystemClassRule()); } - iv_ruleSubSystemClass=ruleSubSystemClass - { $current=$iv_ruleSubSystemClass.current; } - EOF -; - -// Rule SubSystemClass -ruleSubSystemClass returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='SubSystemClass' - { - newLeafNode(otherlv_0, grammarAccess.getSubSystemClassAccess().getSubSystemClassKeyword_0()); - } -( -( - lv_name_1_0=RULE_ID - { - newLeafNode(lv_name_1_0, grammarAccess.getSubSystemClassAccess().getNameIDTerminalRuleCall_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getSubSystemClassRule()); - } - setWithLastConsumed( - $current, - "name", - lv_name_1_0, - "ID"); - } - -) -) otherlv_2='{' - { - newLeafNode(otherlv_2, grammarAccess.getSubSystemClassAccess().getLeftCurlyBracketKeyword_2()); - } -( -( - { - newCompositeNode(grammarAccess.getSubSystemClassAccess().getRelayPortsPortParserRuleCall_3_0()); - } - lv_relayPorts_3_0=rulePort { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getSubSystemClassRule()); - } - add( - $current, - "relayPorts", - lv_relayPorts_3_0, - "Port"); - afterParserOrEnumRuleCall(); - } - -) -)*( -( - { - newCompositeNode(grammarAccess.getSubSystemClassAccess().getIfSPPsSPPRefParserRuleCall_4_0()); - } - lv_ifSPPs_4_0=ruleSPPRef { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getSubSystemClassRule()); - } - add( - $current, - "ifSPPs", - lv_ifSPPs_4_0, - "SPPRef"); - afterParserOrEnumRuleCall(); - } - -) -)*( -( - { - newCompositeNode(grammarAccess.getSubSystemClassAccess().getActorRefsActorRefParserRuleCall_5_0()); - } - lv_actorRefs_5_0=ruleActorRef { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getSubSystemClassRule()); - } - add( - $current, - "actorRefs", - lv_actorRefs_5_0, - "ActorRef"); - afterParserOrEnumRuleCall(); - } - -) -)+( -( - { - newCompositeNode(grammarAccess.getSubSystemClassAccess().getBindingsBindingParserRuleCall_6_0()); - } - lv_bindings_6_0=ruleBinding { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getSubSystemClassRule()); - } - add( - $current, - "bindings", - lv_bindings_6_0, - "Binding"); - afterParserOrEnumRuleCall(); - } - -) -)*( -( - { - newCompositeNode(grammarAccess.getSubSystemClassAccess().getConnectionsLayerConnectionParserRuleCall_7_0()); - } - lv_connections_7_0=ruleLayerConnection { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getSubSystemClassRule()); - } - add( - $current, - "connections", - lv_connections_7_0, - "LayerConnection"); - afterParserOrEnumRuleCall(); - } - -) -)*( -( - { - newCompositeNode(grammarAccess.getSubSystemClassAccess().getThreadsLogicalThreadParserRuleCall_8_0()); - } - lv_threads_8_0=ruleLogicalThread { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getSubSystemClassRule()); - } - add( - $current, - "threads", - lv_threads_8_0, - "LogicalThread"); - afterParserOrEnumRuleCall(); - } - -) -)* otherlv_9='}' - { - newLeafNode(otherlv_9, grammarAccess.getSubSystemClassAccess().getRightCurlyBracketKeyword_9()); - } -) -; - - - - - -// Entry rule entryRuleLogicalThread -entryRuleLogicalThread returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getLogicalThreadRule()); } - iv_ruleLogicalThread=ruleLogicalThread - { $current=$iv_ruleLogicalThread.current; } - EOF -; - -// Rule LogicalThread -ruleLogicalThread returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='LogicalThread' - { - newLeafNode(otherlv_0, grammarAccess.getLogicalThreadAccess().getLogicalThreadKeyword_0()); - } -( -( - lv_name_1_0=RULE_ID - { - newLeafNode(lv_name_1_0, grammarAccess.getLogicalThreadAccess().getNameIDTerminalRuleCall_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getLogicalThreadRule()); - } - setWithLastConsumed( - $current, - "name", - lv_name_1_0, - "ID"); - } - -) -) otherlv_2='{' - { - newLeafNode(otherlv_2, grammarAccess.getLogicalThreadAccess().getLeftCurlyBracketKeyword_2()); - } -( -( - { - newCompositeNode(grammarAccess.getLogicalThreadAccess().getInstancesActorInstancePathParserRuleCall_3_0()); - } - lv_instances_3_0=ruleActorInstancePath { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getLogicalThreadRule()); - } - add( - $current, - "instances", - lv_instances_3_0, - "ActorInstancePath"); - afterParserOrEnumRuleCall(); - } - -) -)( otherlv_4=',' - { - newLeafNode(otherlv_4, grammarAccess.getLogicalThreadAccess().getCommaKeyword_4_0()); - } -( -( - { - newCompositeNode(grammarAccess.getLogicalThreadAccess().getInstancesActorInstancePathParserRuleCall_4_1_0()); - } - lv_instances_5_0=ruleActorInstancePath { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getLogicalThreadRule()); - } - add( - $current, - "instances", - lv_instances_5_0, - "ActorInstancePath"); - afterParserOrEnumRuleCall(); - } - -) -))* otherlv_6='}' - { - newLeafNode(otherlv_6, grammarAccess.getLogicalThreadAccess().getRightCurlyBracketKeyword_5()); - } -) -; - - - - - -// Entry rule entryRuleActorInstancePath -entryRuleActorInstancePath returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getActorInstancePathRule()); } - iv_ruleActorInstancePath=ruleActorInstancePath - { $current=$iv_ruleActorInstancePath.current; } - EOF -; - -// Rule ActorInstancePath -ruleActorInstancePath returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -(( -( - lv_segments_0_0=RULE_ID - { - newLeafNode(lv_segments_0_0, grammarAccess.getActorInstancePathAccess().getSegmentsIDTerminalRuleCall_0_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getActorInstancePathRule()); - } - addWithLastConsumed( - $current, - "segments", - lv_segments_0_0, - "ID"); - } - -) -)( otherlv_1='.' - { - newLeafNode(otherlv_1, grammarAccess.getActorInstancePathAccess().getFullStopKeyword_1_0()); - } -( -( - lv_segments_2_0=RULE_ID - { - newLeafNode(lv_segments_2_0, grammarAccess.getActorInstancePathAccess().getSegmentsIDTerminalRuleCall_1_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getActorInstancePathRule()); - } - addWithLastConsumed( - $current, - "segments", - lv_segments_2_0, - "ID"); - } - -) -))*) -; - - - - - -// Entry rule entryRuleBinding -entryRuleBinding returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getBindingRule()); } - iv_ruleBinding=ruleBinding - { $current=$iv_ruleBinding.current; } - EOF -; - -// Rule Binding -ruleBinding returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='Binding' - { - newLeafNode(otherlv_0, grammarAccess.getBindingAccess().getBindingKeyword_0()); - } -( -( - { - newCompositeNode(grammarAccess.getBindingAccess().getEndpoint1BindingEndPointParserRuleCall_1_0()); - } - lv_endpoint1_1_0=ruleBindingEndPoint { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getBindingRule()); - } - set( - $current, - "endpoint1", - lv_endpoint1_1_0, - "BindingEndPoint"); - afterParserOrEnumRuleCall(); - } - -) -) otherlv_2='and' - { - newLeafNode(otherlv_2, grammarAccess.getBindingAccess().getAndKeyword_2()); - } -( -( - { - newCompositeNode(grammarAccess.getBindingAccess().getEndpoint2BindingEndPointParserRuleCall_3_0()); - } - lv_endpoint2_3_0=ruleBindingEndPoint { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getBindingRule()); - } - set( - $current, - "endpoint2", - lv_endpoint2_3_0, - "BindingEndPoint"); - afterParserOrEnumRuleCall(); - } - -) -)) -; - - - - - -// Entry rule entryRuleBindingEndPoint -entryRuleBindingEndPoint returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getBindingEndPointRule()); } - iv_ruleBindingEndPoint=ruleBindingEndPoint - { $current=$iv_ruleBindingEndPoint.current; } - EOF -; - -// Rule BindingEndPoint -ruleBindingEndPoint returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -((( -( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getBindingEndPointRule()); - } - } - otherlv_0=RULE_ID - { - newLeafNode(otherlv_0, grammarAccess.getBindingEndPointAccess().getActorRefActorContainerRefCrossReference_0_0_0()); - } - -) -) otherlv_1='.' - { - newLeafNode(otherlv_1, grammarAccess.getBindingEndPointAccess().getFullStopKeyword_0_1()); - } -)?( -( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getBindingEndPointRule()); - } - } - otherlv_2=RULE_ID - { - newLeafNode(otherlv_2, grammarAccess.getBindingEndPointAccess().getPortPortCrossReference_1_0()); - } - -) -)) -; - - - - - -// Entry rule entryRuleLayerConnection -entryRuleLayerConnection returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getLayerConnectionRule()); } - iv_ruleLayerConnection=ruleLayerConnection - { $current=$iv_ruleLayerConnection.current; } - EOF -; - -// Rule LayerConnection -ruleLayerConnection returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='LayerConnection' - { - newLeafNode(otherlv_0, grammarAccess.getLayerConnectionAccess().getLayerConnectionKeyword_0()); - } -( -( - { - newCompositeNode(grammarAccess.getLayerConnectionAccess().getFromSAPointParserRuleCall_1_0()); - } - lv_from_1_0=ruleSAPoint { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getLayerConnectionRule()); - } - set( - $current, - "from", - lv_from_1_0, - "SAPoint"); - afterParserOrEnumRuleCall(); - } - -) -) otherlv_2='satisfied_by' - { - newLeafNode(otherlv_2, grammarAccess.getLayerConnectionAccess().getSatisfied_byKeyword_2()); - } -( -( - { - newCompositeNode(grammarAccess.getLayerConnectionAccess().getToSPPointParserRuleCall_3_0()); - } - lv_to_3_0=ruleSPPoint { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getLayerConnectionRule()); - } - set( - $current, - "to", - lv_to_3_0, - "SPPoint"); - afterParserOrEnumRuleCall(); - } - -) -)) -; - - - - - -// Entry rule entryRuleSAPoint -entryRuleSAPoint returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getSAPointRule()); } - iv_ruleSAPoint=ruleSAPoint - { $current=$iv_ruleSAPoint.current; } - EOF -; - -// Rule SAPoint -ruleSAPoint returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( - { - newCompositeNode(grammarAccess.getSAPointAccess().getRefSAPointParserRuleCall_0()); - } - this_RefSAPoint_0=ruleRefSAPoint - { - $current = $this_RefSAPoint_0.current; - afterParserOrEnumRuleCall(); - } - - | - { - newCompositeNode(grammarAccess.getSAPointAccess().getRelaySAPointParserRuleCall_1()); - } - this_RelaySAPoint_1=ruleRelaySAPoint - { - $current = $this_RelaySAPoint_1.current; - afterParserOrEnumRuleCall(); - } -) -; - - - - - -// Entry rule entryRuleRefSAPoint -entryRuleRefSAPoint returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getRefSAPointRule()); } - iv_ruleRefSAPoint=ruleRefSAPoint - { $current=$iv_ruleRefSAPoint.current; } - EOF -; - -// Rule RefSAPoint -ruleRefSAPoint returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='ref' - { - newLeafNode(otherlv_0, grammarAccess.getRefSAPointAccess().getRefKeyword_0()); - } -( -( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getRefSAPointRule()); - } - } - otherlv_1=RULE_ID - { - newLeafNode(otherlv_1, grammarAccess.getRefSAPointAccess().getRefActorContainerRefCrossReference_1_0()); - } - -) -)) -; - - - - - -// Entry rule entryRuleRelaySAPoint -entryRuleRelaySAPoint returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getRelaySAPointRule()); } - iv_ruleRelaySAPoint=ruleRelaySAPoint - { $current=$iv_ruleRelaySAPoint.current; } - EOF -; - -// Rule RelaySAPoint -ruleRelaySAPoint returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='relay_sap' - { - newLeafNode(otherlv_0, grammarAccess.getRelaySAPointAccess().getRelay_sapKeyword_0()); - } -( -( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getRelaySAPointRule()); - } - } - otherlv_1=RULE_ID - { - newLeafNode(otherlv_1, grammarAccess.getRelaySAPointAccess().getRelaySPPRefCrossReference_1_0()); - } - -) -)) -; - - - - - -// Entry rule entryRuleSPPoint -entryRuleSPPoint returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getSPPointRule()); } - iv_ruleSPPoint=ruleSPPoint - { $current=$iv_ruleSPPoint.current; } - EOF -; - -// Rule SPPoint -ruleSPPoint returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -(( -( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getSPPointRule()); - } - } - otherlv_0=RULE_ID - { - newLeafNode(otherlv_0, grammarAccess.getSPPointAccess().getRefActorContainerRefCrossReference_0_0()); - } - -) -) otherlv_1='.' - { - newLeafNode(otherlv_1, grammarAccess.getSPPointAccess().getFullStopKeyword_1()); - } -( -( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getSPPointRule()); - } - } - otherlv_2=RULE_ID - { - newLeafNode(otherlv_2, grammarAccess.getSPPointAccess().getServiceSPPRefCrossReference_2_0()); - } - -) -)) -; - - - - - -// Entry rule entryRuleActorRef -entryRuleActorRef returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getActorRefRule()); } - iv_ruleActorRef=ruleActorRef - { $current=$iv_ruleActorRef.current; } - EOF -; - -// Rule ActorRef -ruleActorRef returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='ActorRef' - { - newLeafNode(otherlv_0, grammarAccess.getActorRefAccess().getActorRefKeyword_0()); - } -( -( - lv_name_1_0=RULE_ID - { - newLeafNode(lv_name_1_0, grammarAccess.getActorRefAccess().getNameIDTerminalRuleCall_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getActorRefRule()); - } - setWithLastConsumed( - $current, - "name", - lv_name_1_0, - "ID"); - } - -) -) otherlv_2=':' - { - newLeafNode(otherlv_2, grammarAccess.getActorRefAccess().getColonKeyword_2()); - } -( -( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getActorRefRule()); - } - } - { - newCompositeNode(grammarAccess.getActorRefAccess().getTypeActorClassCrossReference_3_0()); - } - ruleFQN { - afterParserOrEnumRuleCall(); - } - -) -)) -; - - - - - -// Entry rule entryRuleStateGraphNode -entryRuleStateGraphNode returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getStateGraphNodeRule()); } - iv_ruleStateGraphNode=ruleStateGraphNode - { $current=$iv_ruleStateGraphNode.current; } - EOF -; - -// Rule StateGraphNode -ruleStateGraphNode returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( - { - newCompositeNode(grammarAccess.getStateGraphNodeAccess().getStateParserRuleCall_0()); - } - this_State_0=ruleState - { - $current = $this_State_0.current; - afterParserOrEnumRuleCall(); - } - - | - { - newCompositeNode(grammarAccess.getStateGraphNodeAccess().getChoicePointParserRuleCall_1()); - } - this_ChoicePoint_1=ruleChoicePoint - { - $current = $this_ChoicePoint_1.current; - afterParserOrEnumRuleCall(); - } - - | - { - newCompositeNode(grammarAccess.getStateGraphNodeAccess().getTrPointParserRuleCall_2()); - } - this_TrPoint_2=ruleTrPoint - { - $current = $this_TrPoint_2.current; - afterParserOrEnumRuleCall(); - } -) -; - - - - - - - -// 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(); }: -( - { - newCompositeNode(grammarAccess.getStateAccess().getBaseStateParserRuleCall_0()); - } - this_BaseState_0=ruleBaseState - { - $current = $this_BaseState_0.current; - afterParserOrEnumRuleCall(); - } - - | - { - newCompositeNode(grammarAccess.getStateAccess().getRefinedStateParserRuleCall_1()); - } - this_RefinedState_1=ruleRefinedState - { - $current = $this_RefinedState_1.current; - afterParserOrEnumRuleCall(); - } -) -; - - - - - -// Entry rule entryRuleStateGraph -entryRuleStateGraph returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getStateGraphRule()); } - iv_ruleStateGraph=ruleStateGraph - { $current=$iv_ruleStateGraph.current; } - EOF -; - -// Rule StateGraph -ruleStateGraph returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='{' - { - newLeafNode(otherlv_0, grammarAccess.getStateGraphAccess().getLeftCurlyBracketKeyword_0()); - } -(( -( - { - newCompositeNode(grammarAccess.getStateGraphAccess().getStatesStateParserRuleCall_1_0_0()); - } - lv_states_1_0=ruleState { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getStateGraphRule()); - } - add( - $current, - "states", - lv_states_1_0, - "State"); - afterParserOrEnumRuleCall(); - } - -) -) - |( -( - { - newCompositeNode(grammarAccess.getStateGraphAccess().getTrPointsTrPointParserRuleCall_1_1_0()); - } - lv_trPoints_2_0=ruleTrPoint { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getStateGraphRule()); - } - add( - $current, - "trPoints", - lv_trPoints_2_0, - "TrPoint"); - afterParserOrEnumRuleCall(); - } - -) -) - |( -( - { - newCompositeNode(grammarAccess.getStateGraphAccess().getChPointsChoicePointParserRuleCall_1_2_0()); - } - lv_chPoints_3_0=ruleChoicePoint { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getStateGraphRule()); - } - add( - $current, - "chPoints", - lv_chPoints_3_0, - "ChoicePoint"); - afterParserOrEnumRuleCall(); - } - -) -) - |( -( - { - newCompositeNode(grammarAccess.getStateGraphAccess().getTransitionsTransitionParserRuleCall_1_3_0()); - } - lv_transitions_4_0=ruleTransition { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getStateGraphRule()); - } - add( - $current, - "transitions", - lv_transitions_4_0, - "Transition"); - afterParserOrEnumRuleCall(); - } - -) -))+ otherlv_5='}' - { - newLeafNode(otherlv_5, grammarAccess.getStateGraphAccess().getRightCurlyBracketKeyword_2()); - } -) -; - - - - - -// Entry rule entryRuleStateMachine -entryRuleStateMachine returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getStateMachineRule()); } - iv_ruleStateMachine=ruleStateMachine - { $current=$iv_ruleStateMachine.current; } - EOF -; - -// Rule StateMachine -ruleStateMachine returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='StateMachine' - { - newLeafNode(otherlv_0, grammarAccess.getStateMachineAccess().getStateMachineKeyword_0()); - } - otherlv_1='{' - { - newLeafNode(otherlv_1, grammarAccess.getStateMachineAccess().getLeftCurlyBracketKeyword_1()); - } -(( -( - { - newCompositeNode(grammarAccess.getStateMachineAccess().getStatesStateParserRuleCall_2_0_0()); - } - lv_states_2_0=ruleState { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getStateMachineRule()); - } - add( - $current, - "states", - lv_states_2_0, - "State"); - afterParserOrEnumRuleCall(); - } - -) -) - |( -( - { - newCompositeNode(grammarAccess.getStateMachineAccess().getTrPointsTrPointParserRuleCall_2_1_0()); - } - lv_trPoints_3_0=ruleTrPoint { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getStateMachineRule()); - } - add( - $current, - "trPoints", - lv_trPoints_3_0, - "TrPoint"); - afterParserOrEnumRuleCall(); - } - -) -) - |( -( - { - newCompositeNode(grammarAccess.getStateMachineAccess().getChPointsChoicePointParserRuleCall_2_2_0()); - } - lv_chPoints_4_0=ruleChoicePoint { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getStateMachineRule()); - } - add( - $current, - "chPoints", - lv_chPoints_4_0, - "ChoicePoint"); - afterParserOrEnumRuleCall(); - } - -) -) - |( -( - { - newCompositeNode(grammarAccess.getStateMachineAccess().getTransitionsTransitionParserRuleCall_2_3_0()); - } - lv_transitions_5_0=ruleTransition { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getStateMachineRule()); - } - add( - $current, - "transitions", - lv_transitions_5_0, - "Transition"); - afterParserOrEnumRuleCall(); - } - -) -))+ otherlv_6='}' - { - newLeafNode(otherlv_6, grammarAccess.getStateMachineAccess().getRightCurlyBracketKeyword_3()); - } -) -; - - - - - -// Entry rule entryRuleBaseState -entryRuleBaseState returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getBaseStateRule()); } - iv_ruleBaseState=ruleBaseState - { $current=$iv_ruleBaseState.current; } - EOF -; - -// Rule BaseState -ruleBaseState returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='State' - { - newLeafNode(otherlv_0, grammarAccess.getBaseStateAccess().getStateKeyword_0()); - } -( -( - lv_name_1_0=RULE_ID - { - newLeafNode(lv_name_1_0, grammarAccess.getBaseStateAccess().getNameIDTerminalRuleCall_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getBaseStateRule()); - } - setWithLastConsumed( - $current, - "name", - lv_name_1_0, - "ID"); - } - -) -) otherlv_2='{' - { - newLeafNode(otherlv_2, grammarAccess.getBaseStateAccess().getLeftCurlyBracketKeyword_2()); - } -( otherlv_3='entry' - { - newLeafNode(otherlv_3, grammarAccess.getBaseStateAccess().getEntryKeyword_3_0()); - } -( -( - { - newCompositeNode(grammarAccess.getBaseStateAccess().getEntryCodeDetailCodeParserRuleCall_3_1_0()); - } - lv_entryCode_4_0=ruleDetailCode { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getBaseStateRule()); - } - set( - $current, - "entryCode", - lv_entryCode_4_0, - "DetailCode"); - afterParserOrEnumRuleCall(); - } - -) -))?( otherlv_5='exit' - { - newLeafNode(otherlv_5, grammarAccess.getBaseStateAccess().getExitKeyword_4_0()); - } -( -( - { - newCompositeNode(grammarAccess.getBaseStateAccess().getExitCodeDetailCodeParserRuleCall_4_1_0()); - } - lv_exitCode_6_0=ruleDetailCode { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getBaseStateRule()); - } - set( - $current, - "exitCode", - lv_exitCode_6_0, - "DetailCode"); - afterParserOrEnumRuleCall(); - } - -) -))?( otherlv_7='subgraph' - { - newLeafNode(otherlv_7, grammarAccess.getBaseStateAccess().getSubgraphKeyword_5_0()); - } -( -( - { - newCompositeNode(grammarAccess.getBaseStateAccess().getSubgraphStateGraphParserRuleCall_5_1_0()); - } - lv_subgraph_8_0=ruleStateGraph { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getBaseStateRule()); - } - set( - $current, - "subgraph", - lv_subgraph_8_0, - "StateGraph"); - afterParserOrEnumRuleCall(); - } - -) -))? otherlv_9='}' - { - newLeafNode(otherlv_9, grammarAccess.getBaseStateAccess().getRightCurlyBracketKeyword_6()); - } -) -; - - - - - -// Entry rule entryRuleRefinedState -entryRuleRefinedState returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getRefinedStateRule()); } - iv_ruleRefinedState=ruleRefinedState - { $current=$iv_ruleRefinedState.current; } - EOF -; - -// Rule RefinedState -ruleRefinedState returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='RefinedState' - { - newLeafNode(otherlv_0, grammarAccess.getRefinedStateAccess().getRefinedStateKeyword_0()); - } -( -( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getRefinedStateRule()); - } - } - { - newCompositeNode(grammarAccess.getRefinedStateAccess().getBaseBaseStateCrossReference_1_0()); - } - ruleFQN { - afterParserOrEnumRuleCall(); - } - -) -) otherlv_2='{' - { - newLeafNode(otherlv_2, grammarAccess.getRefinedStateAccess().getLeftCurlyBracketKeyword_2()); - } -( otherlv_3='entry' - { - newLeafNode(otherlv_3, grammarAccess.getRefinedStateAccess().getEntryKeyword_3_0()); - } -( -( - { - newCompositeNode(grammarAccess.getRefinedStateAccess().getEntryCodeDetailCodeParserRuleCall_3_1_0()); - } - lv_entryCode_4_0=ruleDetailCode { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getRefinedStateRule()); - } - set( - $current, - "entryCode", - lv_entryCode_4_0, - "DetailCode"); - afterParserOrEnumRuleCall(); - } - -) -))?( otherlv_5='exit' - { - newLeafNode(otherlv_5, grammarAccess.getRefinedStateAccess().getExitKeyword_4_0()); - } -( -( - { - newCompositeNode(grammarAccess.getRefinedStateAccess().getExitCodeDetailCodeParserRuleCall_4_1_0()); - } - lv_exitCode_6_0=ruleDetailCode { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getRefinedStateRule()); - } - set( - $current, - "exitCode", - lv_exitCode_6_0, - "DetailCode"); - afterParserOrEnumRuleCall(); - } - -) -))?( otherlv_7='subgraph' - { - newLeafNode(otherlv_7, grammarAccess.getRefinedStateAccess().getSubgraphKeyword_5_0()); - } -( -( - { - newCompositeNode(grammarAccess.getRefinedStateAccess().getSubgraphStateGraphParserRuleCall_5_1_0()); - } - lv_subgraph_8_0=ruleStateGraph { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getRefinedStateRule()); - } - set( - $current, - "subgraph", - lv_subgraph_8_0, - "StateGraph"); - afterParserOrEnumRuleCall(); - } - -) -))? otherlv_9='}' - { - newLeafNode(otherlv_9, grammarAccess.getRefinedStateAccess().getRightCurlyBracketKeyword_6()); - } -) -; - - - - - -// Entry rule entryRuleDetailCode -entryRuleDetailCode returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getDetailCodeRule()); } - iv_ruleDetailCode=ruleDetailCode - { $current=$iv_ruleDetailCode.current; } - EOF -; - -// Rule DetailCode -ruleDetailCode returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='{' - { - newLeafNode(otherlv_0, grammarAccess.getDetailCodeAccess().getLeftCurlyBracketKeyword_0()); - } -( -( - lv_commands_1_0=RULE_STRING - { - newLeafNode(lv_commands_1_0, grammarAccess.getDetailCodeAccess().getCommandsSTRINGTerminalRuleCall_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getDetailCodeRule()); - } - addWithLastConsumed( - $current, - "commands", - lv_commands_1_0, - "STRING"); - } - -) -)+ otherlv_2='}' - { - newLeafNode(otherlv_2, grammarAccess.getDetailCodeAccess().getRightCurlyBracketKeyword_2()); - } -) -; - - - - - -// Entry rule entryRuleTrPoint -entryRuleTrPoint returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getTrPointRule()); } - iv_ruleTrPoint=ruleTrPoint - { $current=$iv_ruleTrPoint.current; } - EOF -; - -// Rule TrPoint -ruleTrPoint returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( - { - newCompositeNode(grammarAccess.getTrPointAccess().getTransitionPointParserRuleCall_0()); - } - this_TransitionPoint_0=ruleTransitionPoint - { - $current = $this_TransitionPoint_0.current; - afterParserOrEnumRuleCall(); - } - - | - { - newCompositeNode(grammarAccess.getTrPointAccess().getEntryPointParserRuleCall_1()); - } - this_EntryPoint_1=ruleEntryPoint - { - $current = $this_EntryPoint_1.current; - afterParserOrEnumRuleCall(); - } - - | - { - newCompositeNode(grammarAccess.getTrPointAccess().getExitPointParserRuleCall_2()); - } - this_ExitPoint_2=ruleExitPoint - { - $current = $this_ExitPoint_2.current; - afterParserOrEnumRuleCall(); - } -) -; - - - - - -// Entry rule entryRuleTransitionPoint -entryRuleTransitionPoint returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getTransitionPointRule()); } - iv_ruleTransitionPoint=ruleTransitionPoint - { $current=$iv_ruleTransitionPoint.current; } - EOF -; - -// Rule TransitionPoint -ruleTransitionPoint returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -(( -( - lv_handler_0_0= 'handler' - { - newLeafNode(lv_handler_0_0, grammarAccess.getTransitionPointAccess().getHandlerHandlerKeyword_0_0()); - } - - { - if ($current==null) { - $current = createModelElement(grammarAccess.getTransitionPointRule()); - } - setWithLastConsumed($current, "handler", true, "handler"); - } - -) -)? otherlv_1='TransitionPoint' - { - newLeafNode(otherlv_1, grammarAccess.getTransitionPointAccess().getTransitionPointKeyword_1()); - } -( -( - lv_name_2_0=RULE_ID - { - newLeafNode(lv_name_2_0, grammarAccess.getTransitionPointAccess().getNameIDTerminalRuleCall_2_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getTransitionPointRule()); - } - setWithLastConsumed( - $current, - "name", - lv_name_2_0, - "ID"); - } - -) -)) -; - - - - - -// Entry rule entryRuleEntryPoint -entryRuleEntryPoint returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getEntryPointRule()); } - iv_ruleEntryPoint=ruleEntryPoint - { $current=$iv_ruleEntryPoint.current; } - EOF -; - -// Rule EntryPoint -ruleEntryPoint returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='EntryPoint' - { - newLeafNode(otherlv_0, grammarAccess.getEntryPointAccess().getEntryPointKeyword_0()); - } -( -( - lv_name_1_0=RULE_ID - { - newLeafNode(lv_name_1_0, grammarAccess.getEntryPointAccess().getNameIDTerminalRuleCall_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getEntryPointRule()); - } - setWithLastConsumed( - $current, - "name", - lv_name_1_0, - "ID"); - } - -) -)) -; - - - - - -// Entry rule entryRuleExitPoint -entryRuleExitPoint returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getExitPointRule()); } - iv_ruleExitPoint=ruleExitPoint - { $current=$iv_ruleExitPoint.current; } - EOF -; - -// Rule ExitPoint -ruleExitPoint returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='ExitPoint' - { - newLeafNode(otherlv_0, grammarAccess.getExitPointAccess().getExitPointKeyword_0()); - } -( -( - lv_name_1_0=RULE_ID - { - newLeafNode(lv_name_1_0, grammarAccess.getExitPointAccess().getNameIDTerminalRuleCall_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getExitPointRule()); - } - setWithLastConsumed( - $current, - "name", - lv_name_1_0, - "ID"); - } - -) -)) -; - - - - - -// Entry rule entryRuleChoicePoint -entryRuleChoicePoint returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getChoicePointRule()); } - iv_ruleChoicePoint=ruleChoicePoint - { $current=$iv_ruleChoicePoint.current; } - EOF -; - -// Rule ChoicePoint -ruleChoicePoint returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='ChoicePoint' - { - newLeafNode(otherlv_0, grammarAccess.getChoicePointAccess().getChoicePointKeyword_0()); - } -( -( - lv_name_1_0=RULE_ID - { - newLeafNode(lv_name_1_0, grammarAccess.getChoicePointAccess().getNameIDTerminalRuleCall_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getChoicePointRule()); - } - setWithLastConsumed( - $current, - "name", - lv_name_1_0, - "ID"); - } - -) -)) -; - - - - - -// Entry rule entryRuleTransition -entryRuleTransition returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getTransitionRule()); } - iv_ruleTransition=ruleTransition - { $current=$iv_ruleTransition.current; } - EOF -; - -// Rule Transition -ruleTransition returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( - { - newCompositeNode(grammarAccess.getTransitionAccess().getInitialTransitionParserRuleCall_0()); - } - this_InitialTransition_0=ruleInitialTransition - { - $current = $this_InitialTransition_0.current; - afterParserOrEnumRuleCall(); - } - - | - { - newCompositeNode(grammarAccess.getTransitionAccess().getNonInitialTransitionParserRuleCall_1()); - } - this_NonInitialTransition_1=ruleNonInitialTransition - { - $current = $this_NonInitialTransition_1.current; - afterParserOrEnumRuleCall(); - } -) -; - - - - - -// Entry rule entryRuleNonInitialTransition -entryRuleNonInitialTransition returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getNonInitialTransitionRule()); } - iv_ruleNonInitialTransition=ruleNonInitialTransition - { $current=$iv_ruleNonInitialTransition.current; } - EOF -; - -// Rule NonInitialTransition -ruleNonInitialTransition returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( - { - newCompositeNode(grammarAccess.getNonInitialTransitionAccess().getTriggeredTransitionParserRuleCall_0()); - } - this_TriggeredTransition_0=ruleTriggeredTransition - { - $current = $this_TriggeredTransition_0.current; - afterParserOrEnumRuleCall(); - } - - | - { - newCompositeNode(grammarAccess.getNonInitialTransitionAccess().getContinuationTransitionParserRuleCall_1()); - } - this_ContinuationTransition_1=ruleContinuationTransition - { - $current = $this_ContinuationTransition_1.current; - afterParserOrEnumRuleCall(); - } - - | - { - newCompositeNode(grammarAccess.getNonInitialTransitionAccess().getCPBranchTransitionParserRuleCall_2()); - } - this_CPBranchTransition_2=ruleCPBranchTransition - { - $current = $this_CPBranchTransition_2.current; - afterParserOrEnumRuleCall(); - } -) -; - - - - - -// Entry rule entryRuleInitialTransition -entryRuleInitialTransition returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getInitialTransitionRule()); } - iv_ruleInitialTransition=ruleInitialTransition - { $current=$iv_ruleInitialTransition.current; } - EOF -; - -// Rule InitialTransition -ruleInitialTransition returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='Transition' - { - newLeafNode(otherlv_0, grammarAccess.getInitialTransitionAccess().getTransitionKeyword_0()); - } -( -( - lv_name_1_0=RULE_ID - { - newLeafNode(lv_name_1_0, grammarAccess.getInitialTransitionAccess().getNameIDTerminalRuleCall_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getInitialTransitionRule()); - } - setWithLastConsumed( - $current, - "name", - lv_name_1_0, - "ID"); - } - -) -)? otherlv_2=':' - { - newLeafNode(otherlv_2, grammarAccess.getInitialTransitionAccess().getColonKeyword_2()); - } - otherlv_3='initial' - { - newLeafNode(otherlv_3, grammarAccess.getInitialTransitionAccess().getInitialKeyword_3()); - } - otherlv_4='->' - { - newLeafNode(otherlv_4, grammarAccess.getInitialTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); - } -( -( - { - newCompositeNode(grammarAccess.getInitialTransitionAccess().getToTransitionTerminalParserRuleCall_5_0()); - } - lv_to_5_0=ruleTransitionTerminal { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getInitialTransitionRule()); - } - set( - $current, - "to", - lv_to_5_0, - "TransitionTerminal"); - afterParserOrEnumRuleCall(); - } - -) -) otherlv_6='{' - { - newLeafNode(otherlv_6, grammarAccess.getInitialTransitionAccess().getLeftCurlyBracketKeyword_6()); - } -( otherlv_7='action' - { - newLeafNode(otherlv_7, grammarAccess.getInitialTransitionAccess().getActionKeyword_7_0()); - } -( -( - { - newCompositeNode(grammarAccess.getInitialTransitionAccess().getActionDetailCodeParserRuleCall_7_1_0()); - } - lv_action_8_0=ruleDetailCode { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getInitialTransitionRule()); - } - set( - $current, - "action", - lv_action_8_0, - "DetailCode"); - afterParserOrEnumRuleCall(); - } - -) -))? otherlv_9='}' - { - newLeafNode(otherlv_9, grammarAccess.getInitialTransitionAccess().getRightCurlyBracketKeyword_8()); - } -) -; - - - - - -// Entry rule entryRuleContinuationTransition -entryRuleContinuationTransition returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getContinuationTransitionRule()); } - iv_ruleContinuationTransition=ruleContinuationTransition - { $current=$iv_ruleContinuationTransition.current; } - EOF -; - -// Rule ContinuationTransition -ruleContinuationTransition returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='Transition' - { - newLeafNode(otherlv_0, grammarAccess.getContinuationTransitionAccess().getTransitionKeyword_0()); - } -( -( - lv_name_1_0=RULE_ID - { - newLeafNode(lv_name_1_0, grammarAccess.getContinuationTransitionAccess().getNameIDTerminalRuleCall_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getContinuationTransitionRule()); - } - setWithLastConsumed( - $current, - "name", - lv_name_1_0, - "ID"); - } - -) -)? otherlv_2=':' - { - newLeafNode(otherlv_2, grammarAccess.getContinuationTransitionAccess().getColonKeyword_2()); - } -( -( - { - newCompositeNode(grammarAccess.getContinuationTransitionAccess().getFromTransitionTerminalParserRuleCall_3_0()); - } - lv_from_3_0=ruleTransitionTerminal { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getContinuationTransitionRule()); - } - set( - $current, - "from", - lv_from_3_0, - "TransitionTerminal"); - afterParserOrEnumRuleCall(); - } - -) -) otherlv_4='->' - { - newLeafNode(otherlv_4, grammarAccess.getContinuationTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); - } -( -( - { - newCompositeNode(grammarAccess.getContinuationTransitionAccess().getToTransitionTerminalParserRuleCall_5_0()); - } - lv_to_5_0=ruleTransitionTerminal { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getContinuationTransitionRule()); - } - set( - $current, - "to", - lv_to_5_0, - "TransitionTerminal"); - afterParserOrEnumRuleCall(); - } - -) -) otherlv_6='{' - { - newLeafNode(otherlv_6, grammarAccess.getContinuationTransitionAccess().getLeftCurlyBracketKeyword_6()); - } -( otherlv_7='action' - { - newLeafNode(otherlv_7, grammarAccess.getContinuationTransitionAccess().getActionKeyword_7_0()); - } -( -( - { - newCompositeNode(grammarAccess.getContinuationTransitionAccess().getActionDetailCodeParserRuleCall_7_1_0()); - } - lv_action_8_0=ruleDetailCode { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getContinuationTransitionRule()); - } - set( - $current, - "action", - lv_action_8_0, - "DetailCode"); - afterParserOrEnumRuleCall(); - } - -) -))? otherlv_9='}' - { - newLeafNode(otherlv_9, grammarAccess.getContinuationTransitionAccess().getRightCurlyBracketKeyword_8()); - } -) -; - - - - - -// Entry rule entryRuleTriggeredTransition -entryRuleTriggeredTransition returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getTriggeredTransitionRule()); } - iv_ruleTriggeredTransition=ruleTriggeredTransition - { $current=$iv_ruleTriggeredTransition.current; } - EOF -; - -// Rule TriggeredTransition -ruleTriggeredTransition returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='Transition' - { - newLeafNode(otherlv_0, grammarAccess.getTriggeredTransitionAccess().getTransitionKeyword_0()); - } -( -( - lv_name_1_0=RULE_ID - { - newLeafNode(lv_name_1_0, grammarAccess.getTriggeredTransitionAccess().getNameIDTerminalRuleCall_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getTriggeredTransitionRule()); - } - setWithLastConsumed( - $current, - "name", - lv_name_1_0, - "ID"); - } - -) -)? otherlv_2=':' - { - newLeafNode(otherlv_2, grammarAccess.getTriggeredTransitionAccess().getColonKeyword_2()); - } -( -( - { - newCompositeNode(grammarAccess.getTriggeredTransitionAccess().getFromTransitionTerminalParserRuleCall_3_0()); - } - lv_from_3_0=ruleTransitionTerminal { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getTriggeredTransitionRule()); - } - set( - $current, - "from", - lv_from_3_0, - "TransitionTerminal"); - afterParserOrEnumRuleCall(); - } - -) -) otherlv_4='->' - { - newLeafNode(otherlv_4, grammarAccess.getTriggeredTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); - } -( -( - { - newCompositeNode(grammarAccess.getTriggeredTransitionAccess().getToTransitionTerminalParserRuleCall_5_0()); - } - lv_to_5_0=ruleTransitionTerminal { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getTriggeredTransitionRule()); - } - set( - $current, - "to", - lv_to_5_0, - "TransitionTerminal"); - afterParserOrEnumRuleCall(); - } - -) -) otherlv_6='{' - { - newLeafNode(otherlv_6, grammarAccess.getTriggeredTransitionAccess().getLeftCurlyBracketKeyword_6()); - } - otherlv_7='triggers' - { - newLeafNode(otherlv_7, grammarAccess.getTriggeredTransitionAccess().getTriggersKeyword_7()); - } - otherlv_8='{' - { - newLeafNode(otherlv_8, grammarAccess.getTriggeredTransitionAccess().getLeftCurlyBracketKeyword_8()); - } -( -( - { - newCompositeNode(grammarAccess.getTriggeredTransitionAccess().getTriggersTriggerParserRuleCall_9_0()); - } - lv_triggers_9_0=ruleTrigger { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getTriggeredTransitionRule()); - } - add( - $current, - "triggers", - lv_triggers_9_0, - "Trigger"); - afterParserOrEnumRuleCall(); - } - -) -)( otherlv_10='or' - { - newLeafNode(otherlv_10, grammarAccess.getTriggeredTransitionAccess().getOrKeyword_10_0()); - } -( -( - { - newCompositeNode(grammarAccess.getTriggeredTransitionAccess().getTriggersTriggerParserRuleCall_10_1_0()); - } - lv_triggers_11_0=ruleTrigger { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getTriggeredTransitionRule()); - } - add( - $current, - "triggers", - lv_triggers_11_0, - "Trigger"); - afterParserOrEnumRuleCall(); - } - -) -))* otherlv_12='}' - { - newLeafNode(otherlv_12, grammarAccess.getTriggeredTransitionAccess().getRightCurlyBracketKeyword_11()); - } -( otherlv_13='action' - { - newLeafNode(otherlv_13, grammarAccess.getTriggeredTransitionAccess().getActionKeyword_12_0()); - } -( -( - { - newCompositeNode(grammarAccess.getTriggeredTransitionAccess().getActionDetailCodeParserRuleCall_12_1_0()); - } - lv_action_14_0=ruleDetailCode { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getTriggeredTransitionRule()); - } - set( - $current, - "action", - lv_action_14_0, - "DetailCode"); - afterParserOrEnumRuleCall(); - } - -) -))? otherlv_15='}' - { - newLeafNode(otherlv_15, grammarAccess.getTriggeredTransitionAccess().getRightCurlyBracketKeyword_13()); - } -) -; - - - - - -// Entry rule entryRuleCPBranchTransition -entryRuleCPBranchTransition returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getCPBranchTransitionRule()); } - iv_ruleCPBranchTransition=ruleCPBranchTransition - { $current=$iv_ruleCPBranchTransition.current; } - EOF -; - -// Rule CPBranchTransition -ruleCPBranchTransition returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='Transition' - { - newLeafNode(otherlv_0, grammarAccess.getCPBranchTransitionAccess().getTransitionKeyword_0()); - } -( -( - lv_name_1_0=RULE_ID - { - newLeafNode(lv_name_1_0, grammarAccess.getCPBranchTransitionAccess().getNameIDTerminalRuleCall_1_0()); - } - { - if ($current==null) { - $current = createModelElement(grammarAccess.getCPBranchTransitionRule()); - } - setWithLastConsumed( - $current, - "name", - lv_name_1_0, - "ID"); - } - -) -)? otherlv_2=':' - { - newLeafNode(otherlv_2, grammarAccess.getCPBranchTransitionAccess().getColonKeyword_2()); - } -( -( - { - newCompositeNode(grammarAccess.getCPBranchTransitionAccess().getFromTransitionTerminalParserRuleCall_3_0()); - } - lv_from_3_0=ruleTransitionTerminal { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getCPBranchTransitionRule()); - } - set( - $current, - "from", - lv_from_3_0, - "TransitionTerminal"); - afterParserOrEnumRuleCall(); - } - -) -) otherlv_4='->' - { - newLeafNode(otherlv_4, grammarAccess.getCPBranchTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4()); - } -( -( - { - newCompositeNode(grammarAccess.getCPBranchTransitionAccess().getToTransitionTerminalParserRuleCall_5_0()); - } - lv_to_5_0=ruleTransitionTerminal { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getCPBranchTransitionRule()); - } - set( - $current, - "to", - lv_to_5_0, - "TransitionTerminal"); - afterParserOrEnumRuleCall(); - } - -) -) otherlv_6='{' - { - newLeafNode(otherlv_6, grammarAccess.getCPBranchTransitionAccess().getLeftCurlyBracketKeyword_6()); - } - otherlv_7='cond' - { - newLeafNode(otherlv_7, grammarAccess.getCPBranchTransitionAccess().getCondKeyword_7()); - } -( -( - { - newCompositeNode(grammarAccess.getCPBranchTransitionAccess().getConditionDetailCodeParserRuleCall_8_0()); - } - lv_condition_8_0=ruleDetailCode { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getCPBranchTransitionRule()); - } - set( - $current, - "condition", - lv_condition_8_0, - "DetailCode"); - afterParserOrEnumRuleCall(); - } - -) -)( otherlv_9='action' - { - newLeafNode(otherlv_9, grammarAccess.getCPBranchTransitionAccess().getActionKeyword_9_0()); - } -( -( - { - newCompositeNode(grammarAccess.getCPBranchTransitionAccess().getActionDetailCodeParserRuleCall_9_1_0()); - } - lv_action_10_0=ruleDetailCode { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getCPBranchTransitionRule()); - } - set( - $current, - "action", - lv_action_10_0, - "DetailCode"); - afterParserOrEnumRuleCall(); - } - -) -))? otherlv_11='}' - { - newLeafNode(otherlv_11, grammarAccess.getCPBranchTransitionAccess().getRightCurlyBracketKeyword_10()); - } -) -; - - - - - -// Entry rule entryRuleTransitionTerminal -entryRuleTransitionTerminal returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getTransitionTerminalRule()); } - iv_ruleTransitionTerminal=ruleTransitionTerminal - { $current=$iv_ruleTransitionTerminal.current; } - EOF -; - -// Rule TransitionTerminal -ruleTransitionTerminal returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( - { - newCompositeNode(grammarAccess.getTransitionTerminalAccess().getStateTerminalParserRuleCall_0()); - } - this_StateTerminal_0=ruleStateTerminal - { - $current = $this_StateTerminal_0.current; - afterParserOrEnumRuleCall(); - } - - | - { - newCompositeNode(grammarAccess.getTransitionTerminalAccess().getTrPointTerminalParserRuleCall_1()); - } - this_TrPointTerminal_1=ruleTrPointTerminal - { - $current = $this_TrPointTerminal_1.current; - afterParserOrEnumRuleCall(); - } - - | - { - newCompositeNode(grammarAccess.getTransitionTerminalAccess().getSubStateTrPointTerminalParserRuleCall_2()); - } - this_SubStateTrPointTerminal_2=ruleSubStateTrPointTerminal - { - $current = $this_SubStateTrPointTerminal_2.current; - afterParserOrEnumRuleCall(); - } - - | - { - newCompositeNode(grammarAccess.getTransitionTerminalAccess().getChoicepointTerminalParserRuleCall_3()); - } - this_ChoicepointTerminal_3=ruleChoicepointTerminal - { - $current = $this_ChoicepointTerminal_3.current; - afterParserOrEnumRuleCall(); - } -) -; - - - - - -// Entry rule entryRuleStateTerminal -entryRuleStateTerminal returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getStateTerminalRule()); } - iv_ruleStateTerminal=ruleStateTerminal - { $current=$iv_ruleStateTerminal.current; } - EOF -; - -// Rule StateTerminal -ruleStateTerminal returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( -( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getStateTerminalRule()); - } - } - otherlv_0=RULE_ID - { - newLeafNode(otherlv_0, grammarAccess.getStateTerminalAccess().getStateBaseStateCrossReference_0()); - } - -) -) -; - - - - - -// Entry rule entryRuleTrPointTerminal -entryRuleTrPointTerminal returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getTrPointTerminalRule()); } - iv_ruleTrPointTerminal=ruleTrPointTerminal - { $current=$iv_ruleTrPointTerminal.current; } - EOF -; - -// Rule TrPointTerminal -ruleTrPointTerminal returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='my' - { - newLeafNode(otherlv_0, grammarAccess.getTrPointTerminalAccess().getMyKeyword_0()); - } -( -( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getTrPointTerminalRule()); - } - } - otherlv_1=RULE_ID - { - newLeafNode(otherlv_1, grammarAccess.getTrPointTerminalAccess().getTrPointTrPointCrossReference_1_0()); - } - -) -)) -; - - - - - -// Entry rule entryRuleSubStateTrPointTerminal -entryRuleSubStateTrPointTerminal returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getSubStateTrPointTerminalRule()); } - iv_ruleSubStateTrPointTerminal=ruleSubStateTrPointTerminal - { $current=$iv_ruleSubStateTrPointTerminal.current; } - EOF -; - -// Rule SubStateTrPointTerminal -ruleSubStateTrPointTerminal returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -(( -( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getSubStateTrPointTerminalRule()); - } - } - otherlv_0=RULE_ID - { - newLeafNode(otherlv_0, grammarAccess.getSubStateTrPointTerminalAccess().getTrPointTrPointCrossReference_0_0()); - } - -) -) otherlv_1='of' - { - newLeafNode(otherlv_1, grammarAccess.getSubStateTrPointTerminalAccess().getOfKeyword_1()); - } -( -( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getSubStateTrPointTerminalRule()); - } - } - otherlv_2=RULE_ID - { - newLeafNode(otherlv_2, grammarAccess.getSubStateTrPointTerminalAccess().getStateBaseStateCrossReference_2_0()); - } - -) -)) -; - - - - - -// Entry rule entryRuleChoicepointTerminal -entryRuleChoicepointTerminal returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getChoicepointTerminalRule()); } - iv_ruleChoicepointTerminal=ruleChoicepointTerminal - { $current=$iv_ruleChoicepointTerminal.current; } - EOF -; - -// Rule ChoicepointTerminal -ruleChoicepointTerminal returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='cp' - { - newLeafNode(otherlv_0, grammarAccess.getChoicepointTerminalAccess().getCpKeyword_0()); - } -( -( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getChoicepointTerminalRule()); - } - } - otherlv_1=RULE_ID - { - newLeafNode(otherlv_1, grammarAccess.getChoicepointTerminalAccess().getCpChoicePointCrossReference_1_0()); - } - -) -)) -; - - - - - -// Entry rule entryRuleTrigger -entryRuleTrigger returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getTriggerRule()); } - iv_ruleTrigger=ruleTrigger - { $current=$iv_ruleTrigger.current; } - EOF -; - -// Rule Trigger -ruleTrigger returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='<' - { - newLeafNode(otherlv_0, grammarAccess.getTriggerAccess().getLessThanSignKeyword_0()); - } -( -( - { - newCompositeNode(grammarAccess.getTriggerAccess().getMsgFromIfPairsMessageFromIfParserRuleCall_1_0()); - } - lv_msgFromIfPairs_1_0=ruleMessageFromIf { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getTriggerRule()); - } - add( - $current, - "msgFromIfPairs", - lv_msgFromIfPairs_1_0, - "MessageFromIf"); - afterParserOrEnumRuleCall(); - } - -) -)( otherlv_2='|' - { - newLeafNode(otherlv_2, grammarAccess.getTriggerAccess().getVerticalLineKeyword_2_0()); - } -( -( - { - newCompositeNode(grammarAccess.getTriggerAccess().getMsgFromIfPairsMessageFromIfParserRuleCall_2_1_0()); - } - lv_msgFromIfPairs_3_0=ruleMessageFromIf { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getTriggerRule()); - } - add( - $current, - "msgFromIfPairs", - lv_msgFromIfPairs_3_0, - "MessageFromIf"); - afterParserOrEnumRuleCall(); - } - -) -))*( -( - { - newCompositeNode(grammarAccess.getTriggerAccess().getGuardGuardParserRuleCall_3_0()); - } - lv_guard_4_0=ruleGuard { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getTriggerRule()); - } - set( - $current, - "guard", - lv_guard_4_0, - "Guard"); - afterParserOrEnumRuleCall(); - } - -) -)? otherlv_5='>' - { - newLeafNode(otherlv_5, grammarAccess.getTriggerAccess().getGreaterThanSignKeyword_4()); - } -) -; - - - - - -// Entry rule entryRuleMessageFromIf -entryRuleMessageFromIf returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getMessageFromIfRule()); } - iv_ruleMessageFromIf=ruleMessageFromIf - { $current=$iv_ruleMessageFromIf.current; } - EOF -; - -// Rule MessageFromIf -ruleMessageFromIf returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -(( -( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getMessageFromIfRule()); - } - } - otherlv_0=RULE_ID - { - newLeafNode(otherlv_0, grammarAccess.getMessageFromIfAccess().getMessageMessageCrossReference_0_0()); - } - -) -) otherlv_1=':' - { - newLeafNode(otherlv_1, grammarAccess.getMessageFromIfAccess().getColonKeyword_1()); - } -( -( - { - if ($current==null) { - $current = createModelElement(grammarAccess.getMessageFromIfRule()); - } - } - otherlv_2=RULE_ID - { - newLeafNode(otherlv_2, grammarAccess.getMessageFromIfAccess().getFromInterfaceItemCrossReference_2_0()); - } - -) -)) -; - - - - - -// Entry rule entryRuleGuard -entryRuleGuard returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getGuardRule()); } - iv_ruleGuard=ruleGuard - { $current=$iv_ruleGuard.current; } - EOF -; - -// Rule Guard -ruleGuard returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='guard' - { - newLeafNode(otherlv_0, grammarAccess.getGuardAccess().getGuardKeyword_0()); - } -( -( - { - newCompositeNode(grammarAccess.getGuardAccess().getGuardDetailCodeParserRuleCall_1_0()); - } - lv_guard_1_0=ruleDetailCode { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getGuardRule()); - } - set( - $current, - "guard", - lv_guard_1_0, - "DetailCode"); - afterParserOrEnumRuleCall(); - } - -) -)) -; - - - - - -// Entry rule entryRuleImport -entryRuleImport returns [EObject current=null] - : - { newCompositeNode(grammarAccess.getImportRule()); } - iv_ruleImport=ruleImport - { $current=$iv_ruleImport.current; } - EOF -; - -// Rule Import -ruleImport returns [EObject current=null] - @init { enterRule(); - } - @after { leaveRule(); }: -( otherlv_0='import' - { - newLeafNode(otherlv_0, grammarAccess.getImportAccess().getImportKeyword_0()); - } -( -( - { - newCompositeNode(grammarAccess.getImportAccess().getImportedNamespaceImportedFQNParserRuleCall_1_0()); - } - lv_importedNamespace_1_0=ruleImportedFQN { - if ($current==null) { - $current = createModelElementForParent(grammarAccess.getImportRule()); - } - set( - $current, - "importedNamespace", - lv_importedNamespace_1_0, - "ImportedFQN"); - afterParserOrEnumRuleCall(); - } - -) -)) -; - - - - - -// Entry rule entryRuleImportedFQN -entryRuleImportedFQN returns [String current=null] - : - { newCompositeNode(grammarAccess.getImportedFQNRule()); } - iv_ruleImportedFQN=ruleImportedFQN - { $current=$iv_ruleImportedFQN.current.getText(); } - EOF -; - -// Rule ImportedFQN -ruleImportedFQN returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] - @init { enterRule(); - } - @after { leaveRule(); }: -( - { - newCompositeNode(grammarAccess.getImportedFQNAccess().getFQNParserRuleCall_0()); - } - this_FQN_0=ruleFQN { - $current.merge(this_FQN_0); - } - - { - afterParserOrEnumRuleCall(); - } -( - kw='.' - { - $current.merge(kw); - newLeafNode(kw, grammarAccess.getImportedFQNAccess().getFullStopKeyword_1_0()); - } - - kw='*' - { - $current.merge(kw); - newLeafNode(kw, grammarAccess.getImportedFQNAccess().getAsteriskKeyword_1_1()); - } -)?) - ; - - - - - -// Entry rule entryRuleFQN -entryRuleFQN returns [String current=null] - : - { newCompositeNode(grammarAccess.getFQNRule()); } - iv_ruleFQN=ruleFQN - { $current=$iv_ruleFQN.current.getText(); } - EOF -; - -// Rule FQN -ruleFQN returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] - @init { enterRule(); - } - @after { leaveRule(); }: -( this_ID_0=RULE_ID { - $current.merge(this_ID_0); - } - - { - newLeafNode(this_ID_0, grammarAccess.getFQNAccess().getIDTerminalRuleCall_0()); - } -( - kw='.' - { - $current.merge(kw); - newLeafNode(kw, grammarAccess.getFQNAccess().getFullStopKeyword_1_0()); - } - this_ID_2=RULE_ID { - $current.merge(this_ID_2); - } - - { - newLeafNode(this_ID_2, grammarAccess.getFQNAccess().getIDTerminalRuleCall_1_1()); - } -)*) - ; - - - - - -// Rule PrimitiveType -rulePrimitiveType returns [Enumerator current=null] - @init { enterRule(); } - @after { leaveRule(); }: -(( enumLiteral_0='void' - { - $current = grammarAccess.getPrimitiveTypeAccess().getVoidEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_0, grammarAccess.getPrimitiveTypeAccess().getVoidEnumLiteralDeclaration_0()); - } -) - |( enumLiteral_1='int8' - { - $current = grammarAccess.getPrimitiveTypeAccess().getInt8EnumLiteralDeclaration_1().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_1, grammarAccess.getPrimitiveTypeAccess().getInt8EnumLiteralDeclaration_1()); - } -) - |( enumLiteral_2='int16' - { - $current = grammarAccess.getPrimitiveTypeAccess().getInt16EnumLiteralDeclaration_2().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_2, grammarAccess.getPrimitiveTypeAccess().getInt16EnumLiteralDeclaration_2()); - } -) - |( enumLiteral_3='int32' - { - $current = grammarAccess.getPrimitiveTypeAccess().getInt32EnumLiteralDeclaration_3().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_3, grammarAccess.getPrimitiveTypeAccess().getInt32EnumLiteralDeclaration_3()); - } -) - |( enumLiteral_4='uint8' - { - $current = grammarAccess.getPrimitiveTypeAccess().getUint8EnumLiteralDeclaration_4().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_4, grammarAccess.getPrimitiveTypeAccess().getUint8EnumLiteralDeclaration_4()); - } -) - |( enumLiteral_5='uint16' - { - $current = grammarAccess.getPrimitiveTypeAccess().getUint16EnumLiteralDeclaration_5().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_5, grammarAccess.getPrimitiveTypeAccess().getUint16EnumLiteralDeclaration_5()); - } -) - |( enumLiteral_6='uint32' - { - $current = grammarAccess.getPrimitiveTypeAccess().getUint32EnumLiteralDeclaration_6().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_6, grammarAccess.getPrimitiveTypeAccess().getUint32EnumLiteralDeclaration_6()); - } -) - |( enumLiteral_7='float32' - { - $current = grammarAccess.getPrimitiveTypeAccess().getFloat32EnumLiteralDeclaration_7().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_7, grammarAccess.getPrimitiveTypeAccess().getFloat32EnumLiteralDeclaration_7()); - } -) - |( enumLiteral_8='float64' - { - $current = grammarAccess.getPrimitiveTypeAccess().getFloat64EnumLiteralDeclaration_8().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_8, grammarAccess.getPrimitiveTypeAccess().getFloat64EnumLiteralDeclaration_8()); - } -) - |( enumLiteral_9='boolean' - { - $current = grammarAccess.getPrimitiveTypeAccess().getBooleanEnumLiteralDeclaration_9().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_9, grammarAccess.getPrimitiveTypeAccess().getBooleanEnumLiteralDeclaration_9()); - } -) - |( enumLiteral_10='string' - { - $current = grammarAccess.getPrimitiveTypeAccess().getStringEnumLiteralDeclaration_10().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_10, grammarAccess.getPrimitiveTypeAccess().getStringEnumLiteralDeclaration_10()); - } -) - |( enumLiteral_11='char' - { - $current = grammarAccess.getPrimitiveTypeAccess().getCharEnumLiteralDeclaration_11().getEnumLiteral().getInstance(); - newLeafNode(enumLiteral_11, grammarAccess.getPrimitiveTypeAccess().getCharEnumLiteralDeclaration_11()); - } -)); - - - -RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; - -RULE_INT : ('0'..'9')+; - -RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\''); - -RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/'; - -RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?; - -RULE_WS : (' '|'\t'|'\r'|'\n')+; - -RULE_ANY_OTHER : .; - - +/*
+* generated by Xtext
+*/
+grammar InternalRoom;
+
+options {
+ superClass=AbstractInternalAntlrParser;
+
+}
+
+@lexer::header {
+package org.eclipse.etrice.core.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.core.parser.antlr.internal;
+
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.common.util.Enumerator;
+import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
+import org.eclipse.etrice.core.services.RoomGrammarAccess;
+
+}
+
+@parser::members {
+
+ private RoomGrammarAccess grammarAccess;
+
+ public InternalRoomParser(TokenStream input, RoomGrammarAccess grammarAccess) {
+ this(input);
+ this.grammarAccess = grammarAccess;
+ registerRules(grammarAccess.getGrammar());
+ }
+
+ @Override
+ protected String getFirstRuleName() {
+ return "RoomModel";
+ }
+
+ @Override
+ protected RoomGrammarAccess getGrammarAccess() {
+ return grammarAccess;
+ }
+}
+
+@rulecatch {
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+}
+
+
+
+
+// Entry rule entryRuleRoomModel
+entryRuleRoomModel returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getRoomModelRule()); }
+ iv_ruleRoomModel=ruleRoomModel
+ { $current=$iv_ruleRoomModel.current; }
+ EOF
+;
+
+// Rule RoomModel
+ruleRoomModel returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='RoomModel'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getRoomModelAccess().getRoomModelKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getRoomModelAccess().getNameFQNParserRuleCall_1_0());
+ }
+ lv_name_1_0=ruleFQN {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRoomModelRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_1_0,
+ "FQN");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_2='{'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getRoomModelAccess().getLeftCurlyBracketKeyword_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getRoomModelAccess().getImportsImportParserRuleCall_3_0());
+ }
+ lv_imports_3_0=ruleImport {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRoomModelRule());
+ }
+ add(
+ $current,
+ "imports",
+ lv_imports_3_0,
+ "Import");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*((
+(
+ {
+ newCompositeNode(grammarAccess.getRoomModelAccess().getDataClassesDataClassParserRuleCall_4_0_0());
+ }
+ lv_dataClasses_4_0=ruleDataClass {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRoomModelRule());
+ }
+ add(
+ $current,
+ "dataClasses",
+ lv_dataClasses_4_0,
+ "DataClass");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getRoomModelAccess().getProtocolClassesProtocolClassParserRuleCall_4_1_0());
+ }
+ lv_protocolClasses_5_0=ruleProtocolClass {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRoomModelRule());
+ }
+ add(
+ $current,
+ "protocolClasses",
+ lv_protocolClasses_5_0,
+ "ProtocolClass");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getRoomModelAccess().getActorClassesActorClassParserRuleCall_4_2_0());
+ }
+ lv_actorClasses_6_0=ruleActorClass {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRoomModelRule());
+ }
+ add(
+ $current,
+ "actorClasses",
+ lv_actorClasses_6_0,
+ "ActorClass");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getRoomModelAccess().getSubSystemClassesSubSystemClassParserRuleCall_4_3_0());
+ }
+ lv_subSystemClasses_7_0=ruleSubSystemClass {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRoomModelRule());
+ }
+ add(
+ $current,
+ "subSystemClasses",
+ lv_subSystemClasses_7_0,
+ "SubSystemClass");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getRoomModelAccess().getSystemsLogicalSystemParserRuleCall_4_4_0());
+ }
+ lv_systems_8_0=ruleLogicalSystem {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRoomModelRule());
+ }
+ add(
+ $current,
+ "systems",
+ lv_systems_8_0,
+ "LogicalSystem");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))+ otherlv_9='}'
+ {
+ newLeafNode(otherlv_9, grammarAccess.getRoomModelAccess().getRightCurlyBracketKeyword_5());
+ }
+)
+;
+
+
+
+
+
+
+
+// Entry rule entryRuleStructureClass
+entryRuleStructureClass returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getStructureClassRule()); }
+ iv_ruleStructureClass=ruleStructureClass
+ { $current=$iv_ruleStructureClass.current; }
+ EOF
+;
+
+// Rule StructureClass
+ruleStructureClass returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getStructureClassAccess().getActorContainerClassParserRuleCall_0());
+ }
+ this_ActorContainerClass_0=ruleActorContainerClass
+ {
+ $current = $this_ActorContainerClass_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getStructureClassAccess().getLogicalSystemParserRuleCall_1());
+ }
+ this_LogicalSystem_1=ruleLogicalSystem
+ {
+ $current = $this_LogicalSystem_1.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleActorContainerClass
+entryRuleActorContainerClass returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getActorContainerClassRule()); }
+ iv_ruleActorContainerClass=ruleActorContainerClass
+ { $current=$iv_ruleActorContainerClass.current; }
+ EOF
+;
+
+// Rule ActorContainerClass
+ruleActorContainerClass returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getActorContainerClassAccess().getActorClassParserRuleCall_0());
+ }
+ this_ActorClass_0=ruleActorClass
+ {
+ $current = $this_ActorClass_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getActorContainerClassAccess().getSubSystemClassParserRuleCall_1());
+ }
+ this_SubSystemClass_1=ruleSubSystemClass
+ {
+ $current = $this_SubSystemClass_1.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleTypedID
+entryRuleTypedID returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getTypedIDRule()); }
+ iv_ruleTypedID=ruleTypedID
+ { $current=$iv_ruleTypedID.current; }
+ EOF
+;
+
+// Rule TypedID
+ruleTypedID returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ lv_name_0_0=RULE_ID
+ {
+ newLeafNode(lv_name_0_0, grammarAccess.getTypedIDAccess().getNameIDTerminalRuleCall_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getTypedIDRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_0_0,
+ "ID");
+ }
+
+)
+) otherlv_1=':'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getTypedIDAccess().getColonKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTypedIDAccess().getTypeTypeParserRuleCall_2_0());
+ }
+ lv_type_2_0=ruleType {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTypedIDRule());
+ }
+ set(
+ $current,
+ "type",
+ lv_type_2_0,
+ "Type");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleFreeTypedID
+entryRuleFreeTypedID returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getFreeTypedIDRule()); }
+ iv_ruleFreeTypedID=ruleFreeTypedID
+ { $current=$iv_ruleFreeTypedID.current; }
+ EOF
+;
+
+// Rule FreeTypedID
+ruleFreeTypedID returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ lv_name_0_0=RULE_ID
+ {
+ newLeafNode(lv_name_0_0, grammarAccess.getFreeTypedIDAccess().getNameIDTerminalRuleCall_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getFreeTypedIDRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_0_0,
+ "ID");
+ }
+
+)
+) otherlv_1=':'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getFreeTypedIDAccess().getColonKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getFreeTypedIDAccess().getTypeFreeTypeParserRuleCall_2_0());
+ }
+ lv_type_2_0=ruleFreeType {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getFreeTypedIDRule());
+ }
+ set(
+ $current,
+ "type",
+ lv_type_2_0,
+ "FreeType");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleType
+entryRuleType returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getTypeRule()); }
+ iv_ruleType=ruleType
+ { $current=$iv_ruleType.current; }
+ EOF
+;
+
+// Rule Type
+ruleType returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getTypeAccess().getPrimPrimitiveTypeEnumRuleCall_0_0());
+ }
+ lv_prim_0_0=rulePrimitiveType {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTypeRule());
+ }
+ set(
+ $current,
+ "prim",
+ lv_prim_0_0,
+ "PrimitiveType");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getTypeRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getTypeAccess().getTypeDataClassCrossReference_1_0());
+ }
+ ruleFQN {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleFreeType
+entryRuleFreeType returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getFreeTypeRule()); }
+ iv_ruleFreeType=ruleFreeType
+ { $current=$iv_ruleFreeType.current; }
+ EOF
+;
+
+// Rule FreeType
+ruleFreeType returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getFreeTypeAccess().getPrimPrimitiveTypeEnumRuleCall_0_0());
+ }
+ lv_prim_0_0=rulePrimitiveType {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getFreeTypeRule());
+ }
+ set(
+ $current,
+ "prim",
+ lv_prim_0_0,
+ "PrimitiveType");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ lv_type_1_0=RULE_ID
+ {
+ newLeafNode(lv_type_1_0, grammarAccess.getFreeTypeAccess().getTypeIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getFreeTypeRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "type",
+ lv_type_1_0,
+ "ID");
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleDataClass
+entryRuleDataClass returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getDataClassRule()); }
+ iv_ruleDataClass=ruleDataClass
+ { $current=$iv_ruleDataClass.current; }
+ EOF
+;
+
+// Rule DataClass
+ruleDataClass returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='DataClass'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getDataClassAccess().getDataClassKeyword_0());
+ }
+(
+(
+ lv_name_1_0=RULE_ID
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getDataClassAccess().getNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getDataClassRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ID");
+ }
+
+)
+)( otherlv_2='extends'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getDataClassAccess().getExtendsKeyword_2_0());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getDataClassRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getDataClassAccess().getBaseDataClassCrossReference_2_1_0());
+ }
+ ruleFQN {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))? otherlv_4='{'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getDataClassAccess().getLeftCurlyBracketKeyword_3());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getDataClassAccess().getImportsImportParserRuleCall_4_0());
+ }
+ lv_imports_5_0=ruleImport {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getDataClassRule());
+ }
+ add(
+ $current,
+ "imports",
+ lv_imports_5_0,
+ "Import");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getDataClassAccess().getAttributesAttributeParserRuleCall_5_0());
+ }
+ lv_attributes_6_0=ruleAttribute {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getDataClassRule());
+ }
+ add(
+ $current,
+ "attributes",
+ lv_attributes_6_0,
+ "Attribute");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)+(
+(
+ {
+ newCompositeNode(grammarAccess.getDataClassAccess().getOperationsOperationParserRuleCall_6_0());
+ }
+ lv_operations_7_0=ruleOperation {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getDataClassRule());
+ }
+ add(
+ $current,
+ "operations",
+ lv_operations_7_0,
+ "Operation");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)* otherlv_8='}'
+ {
+ newLeafNode(otherlv_8, grammarAccess.getDataClassAccess().getRightCurlyBracketKeyword_7());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleAttribute
+entryRuleAttribute returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getAttributeRule()); }
+ iv_ruleAttribute=ruleAttribute
+ { $current=$iv_ruleAttribute.current; }
+ EOF
+;
+
+// Rule Attribute
+ruleAttribute returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='Attribute'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getAttributeAccess().getAttributeKeyword_0());
+ }
+(
+(
+ lv_name_1_0=RULE_ID
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getAttributeAccess().getNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getAttributeRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ID");
+ }
+
+)
+)( otherlv_2='['
+ {
+ newLeafNode(otherlv_2, grammarAccess.getAttributeAccess().getLeftSquareBracketKeyword_2_0());
+ }
+(
+(
+ lv_size_3_0=RULE_INT
+ {
+ newLeafNode(lv_size_3_0, grammarAccess.getAttributeAccess().getSizeINTTerminalRuleCall_2_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getAttributeRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "size",
+ lv_size_3_0,
+ "INT");
+ }
+
+)
+) otherlv_4=']'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getAttributeAccess().getRightSquareBracketKeyword_2_2());
+ }
+)? otherlv_5=':'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getAttributeAccess().getColonKeyword_3());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getAttributeAccess().getTypeTypeParserRuleCall_4_0());
+ }
+ lv_type_6_0=ruleType {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getAttributeRule());
+ }
+ set(
+ $current,
+ "type",
+ lv_type_6_0,
+ "Type");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleOperation
+entryRuleOperation returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getOperationRule()); }
+ iv_ruleOperation=ruleOperation
+ { $current=$iv_ruleOperation.current; }
+ EOF
+;
+
+// Rule Operation
+ruleOperation returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='Operation'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getOperationAccess().getOperationKeyword_0());
+ }
+(
+(
+ lv_name_1_0=RULE_ID
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getOperationAccess().getNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getOperationRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ID");
+ }
+
+)
+) otherlv_2='('
+ {
+ newLeafNode(otherlv_2, grammarAccess.getOperationAccess().getLeftParenthesisKeyword_2());
+ }
+((
+(
+ {
+ newCompositeNode(grammarAccess.getOperationAccess().getArgumentsFreeTypedIDParserRuleCall_3_0_0());
+ }
+ lv_arguments_3_0=ruleFreeTypedID {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getOperationRule());
+ }
+ add(
+ $current,
+ "arguments",
+ lv_arguments_3_0,
+ "FreeTypedID");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_4=','
+ {
+ newLeafNode(otherlv_4, grammarAccess.getOperationAccess().getCommaKeyword_3_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getOperationAccess().getArgumentsFreeTypedIDParserRuleCall_3_1_1_0());
+ }
+ lv_arguments_5_0=ruleFreeTypedID {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getOperationRule());
+ }
+ add(
+ $current,
+ "arguments",
+ lv_arguments_5_0,
+ "FreeTypedID");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)? otherlv_6=')'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getOperationAccess().getRightParenthesisKeyword_4());
+ }
+( otherlv_7=':'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getOperationAccess().getColonKeyword_5_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getOperationAccess().getReturntypeFreeTypeParserRuleCall_5_1_0());
+ }
+ lv_returntype_8_0=ruleFreeType {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getOperationRule());
+ }
+ set(
+ $current,
+ "returntype",
+ lv_returntype_8_0,
+ "FreeType");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?(
+(
+ {
+ newCompositeNode(grammarAccess.getOperationAccess().getDetailCodeDetailCodeParserRuleCall_6_0());
+ }
+ lv_detailCode_9_0=ruleDetailCode {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getOperationRule());
+ }
+ set(
+ $current,
+ "detailCode",
+ lv_detailCode_9_0,
+ "DetailCode");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleProtocolClass
+entryRuleProtocolClass returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getProtocolClassRule()); }
+ iv_ruleProtocolClass=ruleProtocolClass
+ { $current=$iv_ruleProtocolClass.current; }
+ EOF
+;
+
+// Rule ProtocolClass
+ruleProtocolClass returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='ProtocolClass'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getProtocolClassAccess().getProtocolClassKeyword_0());
+ }
+(
+(
+ lv_name_1_0=RULE_ID
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getProtocolClassAccess().getNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getProtocolClassRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ID");
+ }
+
+)
+)( otherlv_2='extends'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getProtocolClassAccess().getExtendsKeyword_2_0());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getProtocolClassRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getProtocolClassAccess().getBaseProtocolClassCrossReference_2_1_0());
+ }
+ ruleFQN {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))? otherlv_4='{'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_3());
+ }
+( otherlv_5='usercode1'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getProtocolClassAccess().getUsercode1Keyword_4_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getProtocolClassAccess().getUserCode1DetailCodeParserRuleCall_4_1_0());
+ }
+ lv_userCode1_6_0=ruleDetailCode {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getProtocolClassRule());
+ }
+ set(
+ $current,
+ "userCode1",
+ lv_userCode1_6_0,
+ "DetailCode");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?( otherlv_7='usercode2'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getProtocolClassAccess().getUsercode2Keyword_5_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getProtocolClassAccess().getUserCode2DetailCodeParserRuleCall_5_1_0());
+ }
+ lv_userCode2_8_0=ruleDetailCode {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getProtocolClassRule());
+ }
+ set(
+ $current,
+ "userCode2",
+ lv_userCode2_8_0,
+ "DetailCode");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))? otherlv_9='incoming'
+ {
+ newLeafNode(otherlv_9, grammarAccess.getProtocolClassAccess().getIncomingKeyword_6());
+ }
+ otherlv_10='{'
+ {
+ newLeafNode(otherlv_10, grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_7());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getProtocolClassAccess().getIncomingMessagesMessageParserRuleCall_8_0());
+ }
+ lv_incomingMessages_11_0=ruleMessage {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getProtocolClassRule());
+ }
+ add(
+ $current,
+ "incomingMessages",
+ lv_incomingMessages_11_0,
+ "Message");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)* otherlv_12='}'
+ {
+ newLeafNode(otherlv_12, grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_9());
+ }
+ otherlv_13='outgoing'
+ {
+ newLeafNode(otherlv_13, grammarAccess.getProtocolClassAccess().getOutgoingKeyword_10());
+ }
+ otherlv_14='{'
+ {
+ newLeafNode(otherlv_14, grammarAccess.getProtocolClassAccess().getLeftCurlyBracketKeyword_11());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getProtocolClassAccess().getOutgoingMessagesMessageParserRuleCall_12_0());
+ }
+ lv_outgoingMessages_15_0=ruleMessage {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getProtocolClassRule());
+ }
+ add(
+ $current,
+ "outgoingMessages",
+ lv_outgoingMessages_15_0,
+ "Message");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)* otherlv_16='}'
+ {
+ newLeafNode(otherlv_16, grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_13());
+ }
+( otherlv_17='regular'
+ {
+ newLeafNode(otherlv_17, grammarAccess.getProtocolClassAccess().getRegularKeyword_14_0());
+ }
+ otherlv_18='PortClass'
+ {
+ newLeafNode(otherlv_18, grammarAccess.getProtocolClassAccess().getPortClassKeyword_14_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getProtocolClassAccess().getRegularPortClassParserRuleCall_14_2_0());
+ }
+ lv_regular_19_0=rulePortClass {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getProtocolClassRule());
+ }
+ set(
+ $current,
+ "regular",
+ lv_regular_19_0,
+ "PortClass");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?( otherlv_20='conjugate'
+ {
+ newLeafNode(otherlv_20, grammarAccess.getProtocolClassAccess().getConjugateKeyword_15_0());
+ }
+ otherlv_21='PortClass'
+ {
+ newLeafNode(otherlv_21, grammarAccess.getProtocolClassAccess().getPortClassKeyword_15_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getProtocolClassAccess().getConjugatePortClassParserRuleCall_15_2_0());
+ }
+ lv_conjugate_22_0=rulePortClass {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getProtocolClassRule());
+ }
+ set(
+ $current,
+ "conjugate",
+ lv_conjugate_22_0,
+ "PortClass");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?(
+(
+ {
+ newCompositeNode(grammarAccess.getProtocolClassAccess().getSemanticsProtocolSemanticsParserRuleCall_16_0());
+ }
+ lv_semantics_23_0=ruleProtocolSemantics {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getProtocolClassRule());
+ }
+ set(
+ $current,
+ "semantics",
+ lv_semantics_23_0,
+ "ProtocolSemantics");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)? otherlv_24='}'
+ {
+ newLeafNode(otherlv_24, grammarAccess.getProtocolClassAccess().getRightCurlyBracketKeyword_17());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleMessage
+entryRuleMessage returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getMessageRule()); }
+ iv_ruleMessage=ruleMessage
+ { $current=$iv_ruleMessage.current; }
+ EOF
+;
+
+// Rule Message
+ruleMessage returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='Message'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getMessageAccess().getMessageKeyword_0());
+ }
+(
+(
+ lv_name_1_0=RULE_ID
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getMessageAccess().getNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getMessageRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ID");
+ }
+
+)
+) otherlv_2='('
+ {
+ newLeafNode(otherlv_2, grammarAccess.getMessageAccess().getLeftParenthesisKeyword_2());
+ }
+((
+(
+ {
+ newCompositeNode(grammarAccess.getMessageAccess().getArgumentsTypedIDParserRuleCall_3_0_0());
+ }
+ lv_arguments_3_0=ruleTypedID {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getMessageRule());
+ }
+ add(
+ $current,
+ "arguments",
+ lv_arguments_3_0,
+ "TypedID");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_4=','
+ {
+ newLeafNode(otherlv_4, grammarAccess.getMessageAccess().getCommaKeyword_3_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getMessageAccess().getArgumentsTypedIDParserRuleCall_3_1_1_0());
+ }
+ lv_arguments_5_0=ruleTypedID {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getMessageRule());
+ }
+ add(
+ $current,
+ "arguments",
+ lv_arguments_5_0,
+ "TypedID");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)? otherlv_6=')'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getMessageAccess().getRightParenthesisKeyword_4());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRulePortClass
+entryRulePortClass returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getPortClassRule()); }
+ iv_rulePortClass=rulePortClass
+ { $current=$iv_rulePortClass.current; }
+ EOF
+;
+
+// Rule PortClass
+rulePortClass returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='{'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getPortClassAccess().getLeftCurlyBracketKeyword_0());
+ }
+( otherlv_1='usercode'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getPortClassAccess().getUsercodeKeyword_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getPortClassAccess().getUserCodeDetailCodeParserRuleCall_1_1_0());
+ }
+ lv_userCode_2_0=ruleDetailCode {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPortClassRule());
+ }
+ set(
+ $current,
+ "userCode",
+ lv_userCode_2_0,
+ "DetailCode");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?((
+(
+ {
+ newCompositeNode(grammarAccess.getPortClassAccess().getAttributesAttributeParserRuleCall_2_0_0());
+ }
+ lv_attributes_3_0=ruleAttribute {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPortClassRule());
+ }
+ add(
+ $current,
+ "attributes",
+ lv_attributes_3_0,
+ "Attribute");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getPortClassAccess().getOperationsOperationParserRuleCall_2_1_0());
+ }
+ lv_operations_4_0=ruleOperation {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPortClassRule());
+ }
+ add(
+ $current,
+ "operations",
+ lv_operations_4_0,
+ "Operation");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getPortClassAccess().getMsgHandlersMessageHandlerParserRuleCall_2_2_0());
+ }
+ lv_msgHandlers_5_0=ruleMessageHandler {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPortClassRule());
+ }
+ add(
+ $current,
+ "msgHandlers",
+ lv_msgHandlers_5_0,
+ "MessageHandler");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))+ otherlv_6='}'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getPortClassAccess().getRightCurlyBracketKeyword_3());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleMessageHandler
+entryRuleMessageHandler returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getMessageHandlerRule()); }
+ iv_ruleMessageHandler=ruleMessageHandler
+ { $current=$iv_ruleMessageHandler.current; }
+ EOF
+;
+
+// Rule MessageHandler
+ruleMessageHandler returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='handle'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getMessageHandlerAccess().getHandleKeyword_0());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getMessageHandlerRule());
+ }
+ }
+ otherlv_1=RULE_ID
+ {
+ newLeafNode(otherlv_1, grammarAccess.getMessageHandlerAccess().getMsgMessageCrossReference_1_0());
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getMessageHandlerAccess().getDetailCodeDetailCodeParserRuleCall_2_0());
+ }
+ lv_detailCode_2_0=ruleDetailCode {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getMessageHandlerRule());
+ }
+ set(
+ $current,
+ "detailCode",
+ lv_detailCode_2_0,
+ "DetailCode");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleProtocolSemantics
+entryRuleProtocolSemantics returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getProtocolSemanticsRule()); }
+ iv_ruleProtocolSemantics=ruleProtocolSemantics
+ { $current=$iv_ruleProtocolSemantics.current; }
+ EOF
+;
+
+// Rule ProtocolSemantics
+ruleProtocolSemantics returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='semantics'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getProtocolSemanticsAccess().getSemanticsKeyword_0());
+ }
+ otherlv_1='{'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getProtocolSemanticsAccess().getLeftCurlyBracketKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getProtocolSemanticsAccess().getRulesSemanticsRuleParserRuleCall_2_0());
+ }
+ lv_rules_2_0=ruleSemanticsRule {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getProtocolSemanticsRule());
+ }
+ add(
+ $current,
+ "rules",
+ lv_rules_2_0,
+ "SemanticsRule");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)+ otherlv_3='}'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getProtocolSemanticsAccess().getRightCurlyBracketKeyword_3());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleSemanticsRule
+entryRuleSemanticsRule returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSemanticsRuleRule()); }
+ iv_ruleSemanticsRule=ruleSemanticsRule
+ { $current=$iv_ruleSemanticsRule.current; }
+ EOF
+;
+
+// Rule SemanticsRule
+ruleSemanticsRule returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getSemanticsRuleAccess().getSemanticsInRuleParserRuleCall_0());
+ }
+ this_SemanticsInRule_0=ruleSemanticsInRule
+ {
+ $current = $this_SemanticsInRule_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getSemanticsRuleAccess().getSemanticsOutRuleParserRuleCall_1());
+ }
+ this_SemanticsOutRule_1=ruleSemanticsOutRule
+ {
+ $current = $this_SemanticsOutRule_1.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleSemanticsInRule
+entryRuleSemanticsInRule returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSemanticsInRuleRule()); }
+ iv_ruleSemanticsInRule=ruleSemanticsInRule
+ { $current=$iv_ruleSemanticsInRule.current; }
+ EOF
+;
+
+// Rule SemanticsInRule
+ruleSemanticsInRule returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='in'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getSemanticsInRuleAccess().getInKeyword_0());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getSemanticsInRuleRule());
+ }
+ }
+ otherlv_1=RULE_ID
+ {
+ newLeafNode(otherlv_1, grammarAccess.getSemanticsInRuleAccess().getMsgMessageCrossReference_1_0());
+ }
+
+)
+) otherlv_2='->'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getSemanticsInRuleAccess().getHyphenMinusGreaterThanSignKeyword_2());
+ }
+ otherlv_3='{'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getSemanticsInRuleAccess().getLeftCurlyBracketKeyword_3());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getSemanticsInRuleAccess().getFollowUpsSemanticsRuleParserRuleCall_4_0());
+ }
+ lv_followUps_4_0=ruleSemanticsRule {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSemanticsInRuleRule());
+ }
+ add(
+ $current,
+ "followUps",
+ lv_followUps_4_0,
+ "SemanticsRule");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)* otherlv_5='}'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getSemanticsInRuleAccess().getRightCurlyBracketKeyword_5());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleSemanticsOutRule
+entryRuleSemanticsOutRule returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSemanticsOutRuleRule()); }
+ iv_ruleSemanticsOutRule=ruleSemanticsOutRule
+ { $current=$iv_ruleSemanticsOutRule.current; }
+ EOF
+;
+
+// Rule SemanticsOutRule
+ruleSemanticsOutRule returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='out'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getSemanticsOutRuleAccess().getOutKeyword_0());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getSemanticsOutRuleRule());
+ }
+ }
+ otherlv_1=RULE_ID
+ {
+ newLeafNode(otherlv_1, grammarAccess.getSemanticsOutRuleAccess().getMsgMessageCrossReference_1_0());
+ }
+
+)
+) otherlv_2='->'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getSemanticsOutRuleAccess().getHyphenMinusGreaterThanSignKeyword_2());
+ }
+ otherlv_3='{'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getSemanticsOutRuleAccess().getLeftCurlyBracketKeyword_3());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getSemanticsOutRuleAccess().getFollowUpsSemanticsRuleParserRuleCall_4_0());
+ }
+ lv_followUps_4_0=ruleSemanticsRule {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSemanticsOutRuleRule());
+ }
+ add(
+ $current,
+ "followUps",
+ lv_followUps_4_0,
+ "SemanticsRule");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)* otherlv_5='}'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getSemanticsOutRuleAccess().getRightCurlyBracketKeyword_5());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleActorClass
+entryRuleActorClass returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getActorClassRule()); }
+ iv_ruleActorClass=ruleActorClass
+ { $current=$iv_ruleActorClass.current; }
+ EOF
+;
+
+// Rule ActorClass
+ruleActorClass returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ lv_abstract_0_0= 'abstract'
+ {
+ newLeafNode(lv_abstract_0_0, grammarAccess.getActorClassAccess().getAbstractAbstractKeyword_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getActorClassRule());
+ }
+ setWithLastConsumed($current, "abstract", true, "abstract");
+ }
+
+)
+)? otherlv_1='ActorClass'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getActorClassAccess().getActorClassKeyword_1());
+ }
+(
+(
+ lv_name_2_0=RULE_ID
+ {
+ newLeafNode(lv_name_2_0, grammarAccess.getActorClassAccess().getNameIDTerminalRuleCall_2_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getActorClassRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_2_0,
+ "ID");
+ }
+
+)
+)( otherlv_3='extends'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getActorClassAccess().getExtendsKeyword_3_0());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getActorClassRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getActorClassAccess().getBaseActorClassCrossReference_3_1_0());
+ }
+ ruleFQN {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))? otherlv_5='{'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_4());
+ }
+( otherlv_6='Interface'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getActorClassAccess().getInterfaceKeyword_5_0());
+ }
+ otherlv_7='{'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_5_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getActorClassAccess().getIfPortsPortParserRuleCall_5_2_0());
+ }
+ lv_ifPorts_8_0=rulePort {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getActorClassRule());
+ }
+ add(
+ $current,
+ "ifPorts",
+ lv_ifPorts_8_0,
+ "Port");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getActorClassAccess().getIfSPPsSPPRefParserRuleCall_5_3_0());
+ }
+ lv_ifSPPs_9_0=ruleSPPRef {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getActorClassRule());
+ }
+ add(
+ $current,
+ "ifSPPs",
+ lv_ifSPPs_9_0,
+ "SPPRef");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)* otherlv_10='}'
+ {
+ newLeafNode(otherlv_10, grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_5_4());
+ }
+)?( otherlv_11='Structure'
+ {
+ newLeafNode(otherlv_11, grammarAccess.getActorClassAccess().getStructureKeyword_6_0());
+ }
+ otherlv_12='{'
+ {
+ newLeafNode(otherlv_12, grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_6_1());
+ }
+( otherlv_13='usercode1'
+ {
+ newLeafNode(otherlv_13, grammarAccess.getActorClassAccess().getUsercode1Keyword_6_2_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getActorClassAccess().getUserCode1DetailCodeParserRuleCall_6_2_1_0());
+ }
+ lv_userCode1_14_0=ruleDetailCode {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getActorClassRule());
+ }
+ set(
+ $current,
+ "userCode1",
+ lv_userCode1_14_0,
+ "DetailCode");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?( otherlv_15='usercode2'
+ {
+ newLeafNode(otherlv_15, grammarAccess.getActorClassAccess().getUsercode2Keyword_6_3_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getActorClassAccess().getUserCode2DetailCodeParserRuleCall_6_3_1_0());
+ }
+ lv_userCode2_16_0=ruleDetailCode {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getActorClassRule());
+ }
+ set(
+ $current,
+ "userCode2",
+ lv_userCode2_16_0,
+ "DetailCode");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?((
+(
+ {
+ newCompositeNode(grammarAccess.getActorClassAccess().getIntPortsPortParserRuleCall_6_4_0_0());
+ }
+ lv_intPorts_17_0=rulePort {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getActorClassRule());
+ }
+ add(
+ $current,
+ "intPorts",
+ lv_intPorts_17_0,
+ "Port");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getActorClassAccess().getExtPortsExternalPortParserRuleCall_6_4_1_0());
+ }
+ lv_extPorts_18_0=ruleExternalPort {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getActorClassRule());
+ }
+ add(
+ $current,
+ "extPorts",
+ lv_extPorts_18_0,
+ "ExternalPort");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*(
+(
+ {
+ newCompositeNode(grammarAccess.getActorClassAccess().getServiceImplementationsServiceImplementationParserRuleCall_6_5_0());
+ }
+ lv_serviceImplementations_19_0=ruleServiceImplementation {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getActorClassRule());
+ }
+ add(
+ $current,
+ "serviceImplementations",
+ lv_serviceImplementations_19_0,
+ "ServiceImplementation");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getActorClassAccess().getStrSAPsSAPRefParserRuleCall_6_6_0());
+ }
+ lv_strSAPs_20_0=ruleSAPRef {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getActorClassRule());
+ }
+ add(
+ $current,
+ "strSAPs",
+ lv_strSAPs_20_0,
+ "SAPRef");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getActorClassAccess().getAttributesAttributeParserRuleCall_6_7_0());
+ }
+ lv_attributes_21_0=ruleAttribute {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getActorClassRule());
+ }
+ add(
+ $current,
+ "attributes",
+ lv_attributes_21_0,
+ "Attribute");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getActorClassAccess().getActorRefsActorRefParserRuleCall_6_8_0());
+ }
+ lv_actorRefs_22_0=ruleActorRef {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getActorClassRule());
+ }
+ add(
+ $current,
+ "actorRefs",
+ lv_actorRefs_22_0,
+ "ActorRef");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getActorClassAccess().getBindingsBindingParserRuleCall_6_9_0());
+ }
+ lv_bindings_23_0=ruleBinding {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getActorClassRule());
+ }
+ add(
+ $current,
+ "bindings",
+ lv_bindings_23_0,
+ "Binding");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getActorClassAccess().getConnectionsLayerConnectionParserRuleCall_6_10_0());
+ }
+ lv_connections_24_0=ruleLayerConnection {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getActorClassRule());
+ }
+ add(
+ $current,
+ "connections",
+ lv_connections_24_0,
+ "LayerConnection");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)* otherlv_25='}'
+ {
+ newLeafNode(otherlv_25, grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_6_11());
+ }
+)?( otherlv_26='Behavior'
+ {
+ newLeafNode(otherlv_26, grammarAccess.getActorClassAccess().getBehaviorKeyword_7_0());
+ }
+ otherlv_27='{'
+ {
+ newLeafNode(otherlv_27, grammarAccess.getActorClassAccess().getLeftCurlyBracketKeyword_7_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getActorClassAccess().getOperationsOperationParserRuleCall_7_2_0());
+ }
+ lv_operations_28_0=ruleOperation {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getActorClassRule());
+ }
+ add(
+ $current,
+ "operations",
+ lv_operations_28_0,
+ "Operation");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getActorClassAccess().getStateMachineStateMachineParserRuleCall_7_3_0());
+ }
+ lv_stateMachine_29_0=ruleStateMachine {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getActorClassRule());
+ }
+ set(
+ $current,
+ "stateMachine",
+ lv_stateMachine_29_0,
+ "StateMachine");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)? otherlv_30='}'
+ {
+ newLeafNode(otherlv_30, grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_7_4());
+ }
+)? otherlv_31='}'
+ {
+ newLeafNode(otherlv_31, grammarAccess.getActorClassAccess().getRightCurlyBracketKeyword_8());
+ }
+)
+;
+
+
+
+
+
+
+
+// Entry rule entryRulePort
+entryRulePort returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getPortRule()); }
+ iv_rulePort=rulePort
+ { $current=$iv_rulePort.current; }
+ EOF
+;
+
+// Rule Port
+rulePort returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ lv_conjugated_0_0= 'conjugated'
+ {
+ newLeafNode(lv_conjugated_0_0, grammarAccess.getPortAccess().getConjugatedConjugatedKeyword_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getPortRule());
+ }
+ setWithLastConsumed($current, "conjugated", true, "conjugated");
+ }
+
+)
+)? otherlv_1='Port'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getPortAccess().getPortKeyword_1());
+ }
+(
+(
+ lv_name_2_0=RULE_ID
+ {
+ newLeafNode(lv_name_2_0, grammarAccess.getPortAccess().getNameIDTerminalRuleCall_2_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getPortRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_2_0,
+ "ID");
+ }
+
+)
+)( otherlv_3='['
+ {
+ newLeafNode(otherlv_3, grammarAccess.getPortAccess().getLeftSquareBracketKeyword_3_0());
+ }
+(
+(
+ lv_multiplicity_4_0=RULE_INT
+ {
+ newLeafNode(lv_multiplicity_4_0, grammarAccess.getPortAccess().getMultiplicityINTTerminalRuleCall_3_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getPortRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "multiplicity",
+ lv_multiplicity_4_0,
+ "INT");
+ }
+
+)
+) otherlv_5=']'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getPortAccess().getRightSquareBracketKeyword_3_2());
+ }
+)? otherlv_6=':'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getPortAccess().getColonKeyword_4());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getPortRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getPortAccess().getProtocolProtocolClassCrossReference_5_0());
+ }
+ ruleFQN {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleExternalPort
+entryRuleExternalPort returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getExternalPortRule()); }
+ iv_ruleExternalPort=ruleExternalPort
+ { $current=$iv_ruleExternalPort.current; }
+ EOF
+;
+
+// Rule ExternalPort
+ruleExternalPort returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='external'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getExternalPortAccess().getExternalKeyword_0());
+ }
+ otherlv_1='Port'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getExternalPortAccess().getPortKeyword_1());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getExternalPortRule());
+ }
+ }
+ otherlv_2=RULE_ID
+ {
+ newLeafNode(otherlv_2, grammarAccess.getExternalPortAccess().getIfportPortCrossReference_2_0());
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleSAPRef
+entryRuleSAPRef returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSAPRefRule()); }
+ iv_ruleSAPRef=ruleSAPRef
+ { $current=$iv_ruleSAPRef.current; }
+ EOF
+;
+
+// Rule SAPRef
+ruleSAPRef returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='SAP'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getSAPRefAccess().getSAPKeyword_0());
+ }
+(
+(
+ lv_name_1_0=RULE_ID
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getSAPRefAccess().getNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getSAPRefRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ID");
+ }
+
+)
+) otherlv_2=':'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getSAPRefAccess().getColonKeyword_2());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getSAPRefRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getSAPRefAccess().getProtocolProtocolClassCrossReference_3_0());
+ }
+ ruleFQN {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleSPPRef
+entryRuleSPPRef returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSPPRefRule()); }
+ iv_ruleSPPRef=ruleSPPRef
+ { $current=$iv_ruleSPPRef.current; }
+ EOF
+;
+
+// Rule SPPRef
+ruleSPPRef returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='SPP'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getSPPRefAccess().getSPPKeyword_0());
+ }
+(
+(
+ lv_name_1_0=RULE_ID
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getSPPRefAccess().getNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getSPPRefRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ID");
+ }
+
+)
+) otherlv_2=':'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getSPPRefAccess().getColonKeyword_2());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getSPPRefRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getSPPRefAccess().getProtocolProtocolClassCrossReference_3_0());
+ }
+ ruleFQN {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleServiceImplementation
+entryRuleServiceImplementation returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getServiceImplementationRule()); }
+ iv_ruleServiceImplementation=ruleServiceImplementation
+ { $current=$iv_ruleServiceImplementation.current; }
+ EOF
+;
+
+// Rule ServiceImplementation
+ruleServiceImplementation returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='ServiceImplementation'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getServiceImplementationAccess().getServiceImplementationKeyword_0());
+ }
+ otherlv_1='of'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getServiceImplementationAccess().getOfKeyword_1());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getServiceImplementationRule());
+ }
+ }
+ otherlv_2=RULE_ID
+ {
+ newLeafNode(otherlv_2, grammarAccess.getServiceImplementationAccess().getSppSPPRefCrossReference_2_0());
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleLogicalSystem
+entryRuleLogicalSystem returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getLogicalSystemRule()); }
+ iv_ruleLogicalSystem=ruleLogicalSystem
+ { $current=$iv_ruleLogicalSystem.current; }
+ EOF
+;
+
+// Rule LogicalSystem
+ruleLogicalSystem returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='LogicalSystem'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getLogicalSystemAccess().getLogicalSystemKeyword_0());
+ }
+(
+(
+ lv_name_1_0=RULE_ID
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getLogicalSystemAccess().getNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getLogicalSystemRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ID");
+ }
+
+)
+) otherlv_2='{'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getLogicalSystemAccess().getLeftCurlyBracketKeyword_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getLogicalSystemAccess().getSubSystemsSubSystemRefParserRuleCall_3_0());
+ }
+ lv_subSystems_3_0=ruleSubSystemRef {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getLogicalSystemRule());
+ }
+ add(
+ $current,
+ "subSystems",
+ lv_subSystems_3_0,
+ "SubSystemRef");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)+(
+(
+ {
+ newCompositeNode(grammarAccess.getLogicalSystemAccess().getBindingsBindingParserRuleCall_4_0());
+ }
+ lv_bindings_4_0=ruleBinding {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getLogicalSystemRule());
+ }
+ add(
+ $current,
+ "bindings",
+ lv_bindings_4_0,
+ "Binding");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getLogicalSystemAccess().getConnectionsLayerConnectionParserRuleCall_5_0());
+ }
+ lv_connections_5_0=ruleLayerConnection {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getLogicalSystemRule());
+ }
+ add(
+ $current,
+ "connections",
+ lv_connections_5_0,
+ "LayerConnection");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)* otherlv_6='}'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getLogicalSystemAccess().getRightCurlyBracketKeyword_6());
+ }
+)
+;
+
+
+
+
+
+
+
+// Entry rule entryRuleSubSystemRef
+entryRuleSubSystemRef returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSubSystemRefRule()); }
+ iv_ruleSubSystemRef=ruleSubSystemRef
+ { $current=$iv_ruleSubSystemRef.current; }
+ EOF
+;
+
+// Rule SubSystemRef
+ruleSubSystemRef returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='SubSystemRef'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getSubSystemRefAccess().getSubSystemRefKeyword_0());
+ }
+(
+(
+ lv_name_1_0=RULE_ID
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getSubSystemRefAccess().getNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getSubSystemRefRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ID");
+ }
+
+)
+) otherlv_2=':'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getSubSystemRefAccess().getColonKeyword_2());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getSubSystemRefRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getSubSystemRefAccess().getTypeSubSystemClassCrossReference_3_0());
+ }
+ ruleFQN {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleSubSystemClass
+entryRuleSubSystemClass returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSubSystemClassRule()); }
+ iv_ruleSubSystemClass=ruleSubSystemClass
+ { $current=$iv_ruleSubSystemClass.current; }
+ EOF
+;
+
+// Rule SubSystemClass
+ruleSubSystemClass returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='SubSystemClass'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getSubSystemClassAccess().getSubSystemClassKeyword_0());
+ }
+(
+(
+ lv_name_1_0=RULE_ID
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getSubSystemClassAccess().getNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getSubSystemClassRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ID");
+ }
+
+)
+) otherlv_2='{'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getSubSystemClassAccess().getLeftCurlyBracketKeyword_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getSubSystemClassAccess().getRelayPortsPortParserRuleCall_3_0());
+ }
+ lv_relayPorts_3_0=rulePort {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSubSystemClassRule());
+ }
+ add(
+ $current,
+ "relayPorts",
+ lv_relayPorts_3_0,
+ "Port");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getSubSystemClassAccess().getIfSPPsSPPRefParserRuleCall_4_0());
+ }
+ lv_ifSPPs_4_0=ruleSPPRef {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSubSystemClassRule());
+ }
+ add(
+ $current,
+ "ifSPPs",
+ lv_ifSPPs_4_0,
+ "SPPRef");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getSubSystemClassAccess().getActorRefsActorRefParserRuleCall_5_0());
+ }
+ lv_actorRefs_5_0=ruleActorRef {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSubSystemClassRule());
+ }
+ add(
+ $current,
+ "actorRefs",
+ lv_actorRefs_5_0,
+ "ActorRef");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)+(
+(
+ {
+ newCompositeNode(grammarAccess.getSubSystemClassAccess().getBindingsBindingParserRuleCall_6_0());
+ }
+ lv_bindings_6_0=ruleBinding {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSubSystemClassRule());
+ }
+ add(
+ $current,
+ "bindings",
+ lv_bindings_6_0,
+ "Binding");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getSubSystemClassAccess().getConnectionsLayerConnectionParserRuleCall_7_0());
+ }
+ lv_connections_7_0=ruleLayerConnection {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSubSystemClassRule());
+ }
+ add(
+ $current,
+ "connections",
+ lv_connections_7_0,
+ "LayerConnection");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getSubSystemClassAccess().getThreadsLogicalThreadParserRuleCall_8_0());
+ }
+ lv_threads_8_0=ruleLogicalThread {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSubSystemClassRule());
+ }
+ add(
+ $current,
+ "threads",
+ lv_threads_8_0,
+ "LogicalThread");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)* otherlv_9='}'
+ {
+ newLeafNode(otherlv_9, grammarAccess.getSubSystemClassAccess().getRightCurlyBracketKeyword_9());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleLogicalThread
+entryRuleLogicalThread returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getLogicalThreadRule()); }
+ iv_ruleLogicalThread=ruleLogicalThread
+ { $current=$iv_ruleLogicalThread.current; }
+ EOF
+;
+
+// Rule LogicalThread
+ruleLogicalThread returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='LogicalThread'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getLogicalThreadAccess().getLogicalThreadKeyword_0());
+ }
+(
+(
+ lv_name_1_0=RULE_ID
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getLogicalThreadAccess().getNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getLogicalThreadRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ID");
+ }
+
+)
+) otherlv_2='{'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getLogicalThreadAccess().getLeftCurlyBracketKeyword_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getLogicalThreadAccess().getInstancesActorInstancePathParserRuleCall_3_0());
+ }
+ lv_instances_3_0=ruleActorInstancePath {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getLogicalThreadRule());
+ }
+ add(
+ $current,
+ "instances",
+ lv_instances_3_0,
+ "ActorInstancePath");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_4=','
+ {
+ newLeafNode(otherlv_4, grammarAccess.getLogicalThreadAccess().getCommaKeyword_4_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getLogicalThreadAccess().getInstancesActorInstancePathParserRuleCall_4_1_0());
+ }
+ lv_instances_5_0=ruleActorInstancePath {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getLogicalThreadRule());
+ }
+ add(
+ $current,
+ "instances",
+ lv_instances_5_0,
+ "ActorInstancePath");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))* otherlv_6='}'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getLogicalThreadAccess().getRightCurlyBracketKeyword_5());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleActorInstancePath
+entryRuleActorInstancePath returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getActorInstancePathRule()); }
+ iv_ruleActorInstancePath=ruleActorInstancePath
+ { $current=$iv_ruleActorInstancePath.current; }
+ EOF
+;
+
+// Rule ActorInstancePath
+ruleActorInstancePath returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ lv_segments_0_0=RULE_ID
+ {
+ newLeafNode(lv_segments_0_0, grammarAccess.getActorInstancePathAccess().getSegmentsIDTerminalRuleCall_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getActorInstancePathRule());
+ }
+ addWithLastConsumed(
+ $current,
+ "segments",
+ lv_segments_0_0,
+ "ID");
+ }
+
+)
+)( otherlv_1='.'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getActorInstancePathAccess().getFullStopKeyword_1_0());
+ }
+(
+(
+ lv_segments_2_0=RULE_ID
+ {
+ newLeafNode(lv_segments_2_0, grammarAccess.getActorInstancePathAccess().getSegmentsIDTerminalRuleCall_1_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getActorInstancePathRule());
+ }
+ addWithLastConsumed(
+ $current,
+ "segments",
+ lv_segments_2_0,
+ "ID");
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRuleBinding
+entryRuleBinding returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getBindingRule()); }
+ iv_ruleBinding=ruleBinding
+ { $current=$iv_ruleBinding.current; }
+ EOF
+;
+
+// Rule Binding
+ruleBinding returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='Binding'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getBindingAccess().getBindingKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getBindingAccess().getEndpoint1BindingEndPointParserRuleCall_1_0());
+ }
+ lv_endpoint1_1_0=ruleBindingEndPoint {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getBindingRule());
+ }
+ set(
+ $current,
+ "endpoint1",
+ lv_endpoint1_1_0,
+ "BindingEndPoint");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_2='and'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getBindingAccess().getAndKeyword_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getBindingAccess().getEndpoint2BindingEndPointParserRuleCall_3_0());
+ }
+ lv_endpoint2_3_0=ruleBindingEndPoint {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getBindingRule());
+ }
+ set(
+ $current,
+ "endpoint2",
+ lv_endpoint2_3_0,
+ "BindingEndPoint");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleBindingEndPoint
+entryRuleBindingEndPoint returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getBindingEndPointRule()); }
+ iv_ruleBindingEndPoint=ruleBindingEndPoint
+ { $current=$iv_ruleBindingEndPoint.current; }
+ EOF
+;
+
+// Rule BindingEndPoint
+ruleBindingEndPoint returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(((
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getBindingEndPointRule());
+ }
+ }
+ otherlv_0=RULE_ID
+ {
+ newLeafNode(otherlv_0, grammarAccess.getBindingEndPointAccess().getActorRefActorContainerRefCrossReference_0_0_0());
+ }
+
+)
+) otherlv_1='.'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getBindingEndPointAccess().getFullStopKeyword_0_1());
+ }
+)?(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getBindingEndPointRule());
+ }
+ }
+ otherlv_2=RULE_ID
+ {
+ newLeafNode(otherlv_2, grammarAccess.getBindingEndPointAccess().getPortPortCrossReference_1_0());
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleLayerConnection
+entryRuleLayerConnection returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getLayerConnectionRule()); }
+ iv_ruleLayerConnection=ruleLayerConnection
+ { $current=$iv_ruleLayerConnection.current; }
+ EOF
+;
+
+// Rule LayerConnection
+ruleLayerConnection returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='LayerConnection'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getLayerConnectionAccess().getLayerConnectionKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getLayerConnectionAccess().getFromSAPointParserRuleCall_1_0());
+ }
+ lv_from_1_0=ruleSAPoint {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getLayerConnectionRule());
+ }
+ set(
+ $current,
+ "from",
+ lv_from_1_0,
+ "SAPoint");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_2='satisfied_by'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getLayerConnectionAccess().getSatisfied_byKeyword_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getLayerConnectionAccess().getToSPPointParserRuleCall_3_0());
+ }
+ lv_to_3_0=ruleSPPoint {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getLayerConnectionRule());
+ }
+ set(
+ $current,
+ "to",
+ lv_to_3_0,
+ "SPPoint");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleSAPoint
+entryRuleSAPoint returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSAPointRule()); }
+ iv_ruleSAPoint=ruleSAPoint
+ { $current=$iv_ruleSAPoint.current; }
+ EOF
+;
+
+// Rule SAPoint
+ruleSAPoint returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getSAPointAccess().getRefSAPointParserRuleCall_0());
+ }
+ this_RefSAPoint_0=ruleRefSAPoint
+ {
+ $current = $this_RefSAPoint_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getSAPointAccess().getRelaySAPointParserRuleCall_1());
+ }
+ this_RelaySAPoint_1=ruleRelaySAPoint
+ {
+ $current = $this_RelaySAPoint_1.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleRefSAPoint
+entryRuleRefSAPoint returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getRefSAPointRule()); }
+ iv_ruleRefSAPoint=ruleRefSAPoint
+ { $current=$iv_ruleRefSAPoint.current; }
+ EOF
+;
+
+// Rule RefSAPoint
+ruleRefSAPoint returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='ref'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getRefSAPointAccess().getRefKeyword_0());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getRefSAPointRule());
+ }
+ }
+ otherlv_1=RULE_ID
+ {
+ newLeafNode(otherlv_1, grammarAccess.getRefSAPointAccess().getRefActorContainerRefCrossReference_1_0());
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleRelaySAPoint
+entryRuleRelaySAPoint returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getRelaySAPointRule()); }
+ iv_ruleRelaySAPoint=ruleRelaySAPoint
+ { $current=$iv_ruleRelaySAPoint.current; }
+ EOF
+;
+
+// Rule RelaySAPoint
+ruleRelaySAPoint returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='relay_sap'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getRelaySAPointAccess().getRelay_sapKeyword_0());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getRelaySAPointRule());
+ }
+ }
+ otherlv_1=RULE_ID
+ {
+ newLeafNode(otherlv_1, grammarAccess.getRelaySAPointAccess().getRelaySPPRefCrossReference_1_0());
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleSPPoint
+entryRuleSPPoint returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSPPointRule()); }
+ iv_ruleSPPoint=ruleSPPoint
+ { $current=$iv_ruleSPPoint.current; }
+ EOF
+;
+
+// Rule SPPoint
+ruleSPPoint returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getSPPointRule());
+ }
+ }
+ otherlv_0=RULE_ID
+ {
+ newLeafNode(otherlv_0, grammarAccess.getSPPointAccess().getRefActorContainerRefCrossReference_0_0());
+ }
+
+)
+) otherlv_1='.'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getSPPointAccess().getFullStopKeyword_1());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getSPPointRule());
+ }
+ }
+ otherlv_2=RULE_ID
+ {
+ newLeafNode(otherlv_2, grammarAccess.getSPPointAccess().getServiceSPPRefCrossReference_2_0());
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleActorRef
+entryRuleActorRef returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getActorRefRule()); }
+ iv_ruleActorRef=ruleActorRef
+ { $current=$iv_ruleActorRef.current; }
+ EOF
+;
+
+// Rule ActorRef
+ruleActorRef returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='ActorRef'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getActorRefAccess().getActorRefKeyword_0());
+ }
+(
+(
+ lv_name_1_0=RULE_ID
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getActorRefAccess().getNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getActorRefRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ID");
+ }
+
+)
+) otherlv_2=':'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getActorRefAccess().getColonKeyword_2());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getActorRefRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getActorRefAccess().getTypeActorClassCrossReference_3_0());
+ }
+ ruleFQN {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleStateGraphNode
+entryRuleStateGraphNode returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getStateGraphNodeRule()); }
+ iv_ruleStateGraphNode=ruleStateGraphNode
+ { $current=$iv_ruleStateGraphNode.current; }
+ EOF
+;
+
+// Rule StateGraphNode
+ruleStateGraphNode returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getStateGraphNodeAccess().getStateParserRuleCall_0());
+ }
+ this_State_0=ruleState
+ {
+ $current = $this_State_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getStateGraphNodeAccess().getChoicePointParserRuleCall_1());
+ }
+ this_ChoicePoint_1=ruleChoicePoint
+ {
+ $current = $this_ChoicePoint_1.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getStateGraphNodeAccess().getTrPointParserRuleCall_2());
+ }
+ this_TrPoint_2=ruleTrPoint
+ {
+ $current = $this_TrPoint_2.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+
+
+// 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(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getStateAccess().getBaseStateParserRuleCall_0());
+ }
+ this_BaseState_0=ruleBaseState
+ {
+ $current = $this_BaseState_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getStateAccess().getRefinedStateParserRuleCall_1());
+ }
+ this_RefinedState_1=ruleRefinedState
+ {
+ $current = $this_RefinedState_1.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleStateGraph
+entryRuleStateGraph returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getStateGraphRule()); }
+ iv_ruleStateGraph=ruleStateGraph
+ { $current=$iv_ruleStateGraph.current; }
+ EOF
+;
+
+// Rule StateGraph
+ruleStateGraph returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='{'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getStateGraphAccess().getLeftCurlyBracketKeyword_0());
+ }
+((
+(
+ {
+ newCompositeNode(grammarAccess.getStateGraphAccess().getStatesStateParserRuleCall_1_0_0());
+ }
+ lv_states_1_0=ruleState {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStateGraphRule());
+ }
+ add(
+ $current,
+ "states",
+ lv_states_1_0,
+ "State");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getStateGraphAccess().getTrPointsTrPointParserRuleCall_1_1_0());
+ }
+ lv_trPoints_2_0=ruleTrPoint {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStateGraphRule());
+ }
+ add(
+ $current,
+ "trPoints",
+ lv_trPoints_2_0,
+ "TrPoint");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getStateGraphAccess().getChPointsChoicePointParserRuleCall_1_2_0());
+ }
+ lv_chPoints_3_0=ruleChoicePoint {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStateGraphRule());
+ }
+ add(
+ $current,
+ "chPoints",
+ lv_chPoints_3_0,
+ "ChoicePoint");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getStateGraphAccess().getTransitionsTransitionParserRuleCall_1_3_0());
+ }
+ lv_transitions_4_0=ruleTransition {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStateGraphRule());
+ }
+ add(
+ $current,
+ "transitions",
+ lv_transitions_4_0,
+ "Transition");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))+ otherlv_5='}'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getStateGraphAccess().getRightCurlyBracketKeyword_2());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleStateMachine
+entryRuleStateMachine returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getStateMachineRule()); }
+ iv_ruleStateMachine=ruleStateMachine
+ { $current=$iv_ruleStateMachine.current; }
+ EOF
+;
+
+// Rule StateMachine
+ruleStateMachine returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='StateMachine'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getStateMachineAccess().getStateMachineKeyword_0());
+ }
+ otherlv_1='{'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getStateMachineAccess().getLeftCurlyBracketKeyword_1());
+ }
+((
+(
+ {
+ newCompositeNode(grammarAccess.getStateMachineAccess().getStatesStateParserRuleCall_2_0_0());
+ }
+ lv_states_2_0=ruleState {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStateMachineRule());
+ }
+ add(
+ $current,
+ "states",
+ lv_states_2_0,
+ "State");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getStateMachineAccess().getTrPointsTrPointParserRuleCall_2_1_0());
+ }
+ lv_trPoints_3_0=ruleTrPoint {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStateMachineRule());
+ }
+ add(
+ $current,
+ "trPoints",
+ lv_trPoints_3_0,
+ "TrPoint");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getStateMachineAccess().getChPointsChoicePointParserRuleCall_2_2_0());
+ }
+ lv_chPoints_4_0=ruleChoicePoint {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStateMachineRule());
+ }
+ add(
+ $current,
+ "chPoints",
+ lv_chPoints_4_0,
+ "ChoicePoint");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getStateMachineAccess().getTransitionsTransitionParserRuleCall_2_3_0());
+ }
+ lv_transitions_5_0=ruleTransition {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStateMachineRule());
+ }
+ add(
+ $current,
+ "transitions",
+ lv_transitions_5_0,
+ "Transition");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))+ otherlv_6='}'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getStateMachineAccess().getRightCurlyBracketKeyword_3());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleBaseState
+entryRuleBaseState returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getBaseStateRule()); }
+ iv_ruleBaseState=ruleBaseState
+ { $current=$iv_ruleBaseState.current; }
+ EOF
+;
+
+// Rule BaseState
+ruleBaseState returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='State'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getBaseStateAccess().getStateKeyword_0());
+ }
+(
+(
+ lv_name_1_0=RULE_ID
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getBaseStateAccess().getNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getBaseStateRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ID");
+ }
+
+)
+) otherlv_2='{'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getBaseStateAccess().getLeftCurlyBracketKeyword_2());
+ }
+( otherlv_3='entry'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getBaseStateAccess().getEntryKeyword_3_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getBaseStateAccess().getEntryCodeDetailCodeParserRuleCall_3_1_0());
+ }
+ lv_entryCode_4_0=ruleDetailCode {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getBaseStateRule());
+ }
+ set(
+ $current,
+ "entryCode",
+ lv_entryCode_4_0,
+ "DetailCode");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?( otherlv_5='exit'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getBaseStateAccess().getExitKeyword_4_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getBaseStateAccess().getExitCodeDetailCodeParserRuleCall_4_1_0());
+ }
+ lv_exitCode_6_0=ruleDetailCode {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getBaseStateRule());
+ }
+ set(
+ $current,
+ "exitCode",
+ lv_exitCode_6_0,
+ "DetailCode");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?( otherlv_7='subgraph'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getBaseStateAccess().getSubgraphKeyword_5_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getBaseStateAccess().getSubgraphStateGraphParserRuleCall_5_1_0());
+ }
+ lv_subgraph_8_0=ruleStateGraph {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getBaseStateRule());
+ }
+ set(
+ $current,
+ "subgraph",
+ lv_subgraph_8_0,
+ "StateGraph");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))? otherlv_9='}'
+ {
+ newLeafNode(otherlv_9, grammarAccess.getBaseStateAccess().getRightCurlyBracketKeyword_6());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleRefinedState
+entryRuleRefinedState returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getRefinedStateRule()); }
+ iv_ruleRefinedState=ruleRefinedState
+ { $current=$iv_ruleRefinedState.current; }
+ EOF
+;
+
+// Rule RefinedState
+ruleRefinedState returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='RefinedState'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getRefinedStateAccess().getRefinedStateKeyword_0());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getRefinedStateRule());
+ }
+ }
+ {
+ newCompositeNode(grammarAccess.getRefinedStateAccess().getBaseBaseStateCrossReference_1_0());
+ }
+ ruleFQN {
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_2='{'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getRefinedStateAccess().getLeftCurlyBracketKeyword_2());
+ }
+( otherlv_3='entry'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getRefinedStateAccess().getEntryKeyword_3_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getRefinedStateAccess().getEntryCodeDetailCodeParserRuleCall_3_1_0());
+ }
+ lv_entryCode_4_0=ruleDetailCode {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRefinedStateRule());
+ }
+ set(
+ $current,
+ "entryCode",
+ lv_entryCode_4_0,
+ "DetailCode");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?( otherlv_5='exit'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getRefinedStateAccess().getExitKeyword_4_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getRefinedStateAccess().getExitCodeDetailCodeParserRuleCall_4_1_0());
+ }
+ lv_exitCode_6_0=ruleDetailCode {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRefinedStateRule());
+ }
+ set(
+ $current,
+ "exitCode",
+ lv_exitCode_6_0,
+ "DetailCode");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?( otherlv_7='subgraph'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getRefinedStateAccess().getSubgraphKeyword_5_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getRefinedStateAccess().getSubgraphStateGraphParserRuleCall_5_1_0());
+ }
+ lv_subgraph_8_0=ruleStateGraph {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRefinedStateRule());
+ }
+ set(
+ $current,
+ "subgraph",
+ lv_subgraph_8_0,
+ "StateGraph");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))? otherlv_9='}'
+ {
+ newLeafNode(otherlv_9, grammarAccess.getRefinedStateAccess().getRightCurlyBracketKeyword_6());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleDetailCode
+entryRuleDetailCode returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getDetailCodeRule()); }
+ iv_ruleDetailCode=ruleDetailCode
+ { $current=$iv_ruleDetailCode.current; }
+ EOF
+;
+
+// Rule DetailCode
+ruleDetailCode returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='{'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getDetailCodeAccess().getLeftCurlyBracketKeyword_0());
+ }
+(
+(
+ lv_commands_1_0=RULE_STRING
+ {
+ newLeafNode(lv_commands_1_0, grammarAccess.getDetailCodeAccess().getCommandsSTRINGTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getDetailCodeRule());
+ }
+ addWithLastConsumed(
+ $current,
+ "commands",
+ lv_commands_1_0,
+ "STRING");
+ }
+
+)
+)+ otherlv_2='}'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getDetailCodeAccess().getRightCurlyBracketKeyword_2());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleTrPoint
+entryRuleTrPoint returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getTrPointRule()); }
+ iv_ruleTrPoint=ruleTrPoint
+ { $current=$iv_ruleTrPoint.current; }
+ EOF
+;
+
+// Rule TrPoint
+ruleTrPoint returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getTrPointAccess().getTransitionPointParserRuleCall_0());
+ }
+ this_TransitionPoint_0=ruleTransitionPoint
+ {
+ $current = $this_TransitionPoint_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getTrPointAccess().getEntryPointParserRuleCall_1());
+ }
+ this_EntryPoint_1=ruleEntryPoint
+ {
+ $current = $this_EntryPoint_1.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getTrPointAccess().getExitPointParserRuleCall_2());
+ }
+ this_ExitPoint_2=ruleExitPoint
+ {
+ $current = $this_ExitPoint_2.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleTransitionPoint
+entryRuleTransitionPoint returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getTransitionPointRule()); }
+ iv_ruleTransitionPoint=ruleTransitionPoint
+ { $current=$iv_ruleTransitionPoint.current; }
+ EOF
+;
+
+// Rule TransitionPoint
+ruleTransitionPoint returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ lv_handler_0_0= 'handler'
+ {
+ newLeafNode(lv_handler_0_0, grammarAccess.getTransitionPointAccess().getHandlerHandlerKeyword_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getTransitionPointRule());
+ }
+ setWithLastConsumed($current, "handler", true, "handler");
+ }
+
+)
+)? otherlv_1='TransitionPoint'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getTransitionPointAccess().getTransitionPointKeyword_1());
+ }
+(
+(
+ lv_name_2_0=RULE_ID
+ {
+ newLeafNode(lv_name_2_0, grammarAccess.getTransitionPointAccess().getNameIDTerminalRuleCall_2_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getTransitionPointRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_2_0,
+ "ID");
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleEntryPoint
+entryRuleEntryPoint returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getEntryPointRule()); }
+ iv_ruleEntryPoint=ruleEntryPoint
+ { $current=$iv_ruleEntryPoint.current; }
+ EOF
+;
+
+// Rule EntryPoint
+ruleEntryPoint returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='EntryPoint'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getEntryPointAccess().getEntryPointKeyword_0());
+ }
+(
+(
+ lv_name_1_0=RULE_ID
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getEntryPointAccess().getNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getEntryPointRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ID");
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleExitPoint
+entryRuleExitPoint returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getExitPointRule()); }
+ iv_ruleExitPoint=ruleExitPoint
+ { $current=$iv_ruleExitPoint.current; }
+ EOF
+;
+
+// Rule ExitPoint
+ruleExitPoint returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='ExitPoint'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getExitPointAccess().getExitPointKeyword_0());
+ }
+(
+(
+ lv_name_1_0=RULE_ID
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getExitPointAccess().getNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getExitPointRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ID");
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleChoicePoint
+entryRuleChoicePoint returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getChoicePointRule()); }
+ iv_ruleChoicePoint=ruleChoicePoint
+ { $current=$iv_ruleChoicePoint.current; }
+ EOF
+;
+
+// Rule ChoicePoint
+ruleChoicePoint returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='ChoicePoint'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getChoicePointAccess().getChoicePointKeyword_0());
+ }
+(
+(
+ lv_name_1_0=RULE_ID
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getChoicePointAccess().getNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getChoicePointRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ID");
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleTransition
+entryRuleTransition returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getTransitionRule()); }
+ iv_ruleTransition=ruleTransition
+ { $current=$iv_ruleTransition.current; }
+ EOF
+;
+
+// Rule Transition
+ruleTransition returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getTransitionAccess().getInitialTransitionParserRuleCall_0());
+ }
+ this_InitialTransition_0=ruleInitialTransition
+ {
+ $current = $this_InitialTransition_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getTransitionAccess().getNonInitialTransitionParserRuleCall_1());
+ }
+ this_NonInitialTransition_1=ruleNonInitialTransition
+ {
+ $current = $this_NonInitialTransition_1.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleNonInitialTransition
+entryRuleNonInitialTransition returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getNonInitialTransitionRule()); }
+ iv_ruleNonInitialTransition=ruleNonInitialTransition
+ { $current=$iv_ruleNonInitialTransition.current; }
+ EOF
+;
+
+// Rule NonInitialTransition
+ruleNonInitialTransition returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getNonInitialTransitionAccess().getTriggeredTransitionParserRuleCall_0());
+ }
+ this_TriggeredTransition_0=ruleTriggeredTransition
+ {
+ $current = $this_TriggeredTransition_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getNonInitialTransitionAccess().getContinuationTransitionParserRuleCall_1());
+ }
+ this_ContinuationTransition_1=ruleContinuationTransition
+ {
+ $current = $this_ContinuationTransition_1.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getNonInitialTransitionAccess().getCPBranchTransitionParserRuleCall_2());
+ }
+ this_CPBranchTransition_2=ruleCPBranchTransition
+ {
+ $current = $this_CPBranchTransition_2.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleInitialTransition
+entryRuleInitialTransition returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getInitialTransitionRule()); }
+ iv_ruleInitialTransition=ruleInitialTransition
+ { $current=$iv_ruleInitialTransition.current; }
+ EOF
+;
+
+// Rule InitialTransition
+ruleInitialTransition returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='Transition'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getInitialTransitionAccess().getTransitionKeyword_0());
+ }
+(
+(
+ lv_name_1_0=RULE_ID
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getInitialTransitionAccess().getNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getInitialTransitionRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ID");
+ }
+
+)
+)? otherlv_2=':'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getInitialTransitionAccess().getColonKeyword_2());
+ }
+ otherlv_3='initial'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getInitialTransitionAccess().getInitialKeyword_3());
+ }
+ otherlv_4='->'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getInitialTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getInitialTransitionAccess().getToTransitionTerminalParserRuleCall_5_0());
+ }
+ lv_to_5_0=ruleTransitionTerminal {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getInitialTransitionRule());
+ }
+ set(
+ $current,
+ "to",
+ lv_to_5_0,
+ "TransitionTerminal");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_6='{'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getInitialTransitionAccess().getLeftCurlyBracketKeyword_6());
+ }
+( otherlv_7='action'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getInitialTransitionAccess().getActionKeyword_7_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getInitialTransitionAccess().getActionDetailCodeParserRuleCall_7_1_0());
+ }
+ lv_action_8_0=ruleDetailCode {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getInitialTransitionRule());
+ }
+ set(
+ $current,
+ "action",
+ lv_action_8_0,
+ "DetailCode");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))? otherlv_9='}'
+ {
+ newLeafNode(otherlv_9, grammarAccess.getInitialTransitionAccess().getRightCurlyBracketKeyword_8());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleContinuationTransition
+entryRuleContinuationTransition returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getContinuationTransitionRule()); }
+ iv_ruleContinuationTransition=ruleContinuationTransition
+ { $current=$iv_ruleContinuationTransition.current; }
+ EOF
+;
+
+// Rule ContinuationTransition
+ruleContinuationTransition returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='Transition'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getContinuationTransitionAccess().getTransitionKeyword_0());
+ }
+(
+(
+ lv_name_1_0=RULE_ID
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getContinuationTransitionAccess().getNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getContinuationTransitionRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ID");
+ }
+
+)
+)? otherlv_2=':'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getContinuationTransitionAccess().getColonKeyword_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getContinuationTransitionAccess().getFromTransitionTerminalParserRuleCall_3_0());
+ }
+ lv_from_3_0=ruleTransitionTerminal {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getContinuationTransitionRule());
+ }
+ set(
+ $current,
+ "from",
+ lv_from_3_0,
+ "TransitionTerminal");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_4='->'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getContinuationTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getContinuationTransitionAccess().getToTransitionTerminalParserRuleCall_5_0());
+ }
+ lv_to_5_0=ruleTransitionTerminal {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getContinuationTransitionRule());
+ }
+ set(
+ $current,
+ "to",
+ lv_to_5_0,
+ "TransitionTerminal");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_6='{'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getContinuationTransitionAccess().getLeftCurlyBracketKeyword_6());
+ }
+( otherlv_7='action'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getContinuationTransitionAccess().getActionKeyword_7_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getContinuationTransitionAccess().getActionDetailCodeParserRuleCall_7_1_0());
+ }
+ lv_action_8_0=ruleDetailCode {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getContinuationTransitionRule());
+ }
+ set(
+ $current,
+ "action",
+ lv_action_8_0,
+ "DetailCode");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))? otherlv_9='}'
+ {
+ newLeafNode(otherlv_9, grammarAccess.getContinuationTransitionAccess().getRightCurlyBracketKeyword_8());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleTriggeredTransition
+entryRuleTriggeredTransition returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getTriggeredTransitionRule()); }
+ iv_ruleTriggeredTransition=ruleTriggeredTransition
+ { $current=$iv_ruleTriggeredTransition.current; }
+ EOF
+;
+
+// Rule TriggeredTransition
+ruleTriggeredTransition returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='Transition'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getTriggeredTransitionAccess().getTransitionKeyword_0());
+ }
+(
+(
+ lv_name_1_0=RULE_ID
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getTriggeredTransitionAccess().getNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getTriggeredTransitionRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ID");
+ }
+
+)
+)? otherlv_2=':'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getTriggeredTransitionAccess().getColonKeyword_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTriggeredTransitionAccess().getFromTransitionTerminalParserRuleCall_3_0());
+ }
+ lv_from_3_0=ruleTransitionTerminal {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTriggeredTransitionRule());
+ }
+ set(
+ $current,
+ "from",
+ lv_from_3_0,
+ "TransitionTerminal");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_4='->'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getTriggeredTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTriggeredTransitionAccess().getToTransitionTerminalParserRuleCall_5_0());
+ }
+ lv_to_5_0=ruleTransitionTerminal {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTriggeredTransitionRule());
+ }
+ set(
+ $current,
+ "to",
+ lv_to_5_0,
+ "TransitionTerminal");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_6='{'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getTriggeredTransitionAccess().getLeftCurlyBracketKeyword_6());
+ }
+ otherlv_7='triggers'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getTriggeredTransitionAccess().getTriggersKeyword_7());
+ }
+ otherlv_8='{'
+ {
+ newLeafNode(otherlv_8, grammarAccess.getTriggeredTransitionAccess().getLeftCurlyBracketKeyword_8());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTriggeredTransitionAccess().getTriggersTriggerParserRuleCall_9_0());
+ }
+ lv_triggers_9_0=ruleTrigger {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTriggeredTransitionRule());
+ }
+ add(
+ $current,
+ "triggers",
+ lv_triggers_9_0,
+ "Trigger");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_10='or'
+ {
+ newLeafNode(otherlv_10, grammarAccess.getTriggeredTransitionAccess().getOrKeyword_10_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTriggeredTransitionAccess().getTriggersTriggerParserRuleCall_10_1_0());
+ }
+ lv_triggers_11_0=ruleTrigger {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTriggeredTransitionRule());
+ }
+ add(
+ $current,
+ "triggers",
+ lv_triggers_11_0,
+ "Trigger");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))* otherlv_12='}'
+ {
+ newLeafNode(otherlv_12, grammarAccess.getTriggeredTransitionAccess().getRightCurlyBracketKeyword_11());
+ }
+( otherlv_13='action'
+ {
+ newLeafNode(otherlv_13, grammarAccess.getTriggeredTransitionAccess().getActionKeyword_12_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTriggeredTransitionAccess().getActionDetailCodeParserRuleCall_12_1_0());
+ }
+ lv_action_14_0=ruleDetailCode {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTriggeredTransitionRule());
+ }
+ set(
+ $current,
+ "action",
+ lv_action_14_0,
+ "DetailCode");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))? otherlv_15='}'
+ {
+ newLeafNode(otherlv_15, grammarAccess.getTriggeredTransitionAccess().getRightCurlyBracketKeyword_13());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleCPBranchTransition
+entryRuleCPBranchTransition returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getCPBranchTransitionRule()); }
+ iv_ruleCPBranchTransition=ruleCPBranchTransition
+ { $current=$iv_ruleCPBranchTransition.current; }
+ EOF
+;
+
+// Rule CPBranchTransition
+ruleCPBranchTransition returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='Transition'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getCPBranchTransitionAccess().getTransitionKeyword_0());
+ }
+(
+(
+ lv_name_1_0=RULE_ID
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getCPBranchTransitionAccess().getNameIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getCPBranchTransitionRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ID");
+ }
+
+)
+)? otherlv_2=':'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getCPBranchTransitionAccess().getColonKeyword_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getCPBranchTransitionAccess().getFromTransitionTerminalParserRuleCall_3_0());
+ }
+ lv_from_3_0=ruleTransitionTerminal {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCPBranchTransitionRule());
+ }
+ set(
+ $current,
+ "from",
+ lv_from_3_0,
+ "TransitionTerminal");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_4='->'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getCPBranchTransitionAccess().getHyphenMinusGreaterThanSignKeyword_4());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getCPBranchTransitionAccess().getToTransitionTerminalParserRuleCall_5_0());
+ }
+ lv_to_5_0=ruleTransitionTerminal {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCPBranchTransitionRule());
+ }
+ set(
+ $current,
+ "to",
+ lv_to_5_0,
+ "TransitionTerminal");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_6='{'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getCPBranchTransitionAccess().getLeftCurlyBracketKeyword_6());
+ }
+ otherlv_7='cond'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getCPBranchTransitionAccess().getCondKeyword_7());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getCPBranchTransitionAccess().getConditionDetailCodeParserRuleCall_8_0());
+ }
+ lv_condition_8_0=ruleDetailCode {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCPBranchTransitionRule());
+ }
+ set(
+ $current,
+ "condition",
+ lv_condition_8_0,
+ "DetailCode");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_9='action'
+ {
+ newLeafNode(otherlv_9, grammarAccess.getCPBranchTransitionAccess().getActionKeyword_9_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getCPBranchTransitionAccess().getActionDetailCodeParserRuleCall_9_1_0());
+ }
+ lv_action_10_0=ruleDetailCode {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCPBranchTransitionRule());
+ }
+ set(
+ $current,
+ "action",
+ lv_action_10_0,
+ "DetailCode");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))? otherlv_11='}'
+ {
+ newLeafNode(otherlv_11, grammarAccess.getCPBranchTransitionAccess().getRightCurlyBracketKeyword_10());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleTransitionTerminal
+entryRuleTransitionTerminal returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getTransitionTerminalRule()); }
+ iv_ruleTransitionTerminal=ruleTransitionTerminal
+ { $current=$iv_ruleTransitionTerminal.current; }
+ EOF
+;
+
+// Rule TransitionTerminal
+ruleTransitionTerminal returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getTransitionTerminalAccess().getStateTerminalParserRuleCall_0());
+ }
+ this_StateTerminal_0=ruleStateTerminal
+ {
+ $current = $this_StateTerminal_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getTransitionTerminalAccess().getTrPointTerminalParserRuleCall_1());
+ }
+ this_TrPointTerminal_1=ruleTrPointTerminal
+ {
+ $current = $this_TrPointTerminal_1.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getTransitionTerminalAccess().getSubStateTrPointTerminalParserRuleCall_2());
+ }
+ this_SubStateTrPointTerminal_2=ruleSubStateTrPointTerminal
+ {
+ $current = $this_SubStateTrPointTerminal_2.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getTransitionTerminalAccess().getChoicepointTerminalParserRuleCall_3());
+ }
+ this_ChoicepointTerminal_3=ruleChoicepointTerminal
+ {
+ $current = $this_ChoicepointTerminal_3.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleStateTerminal
+entryRuleStateTerminal returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getStateTerminalRule()); }
+ iv_ruleStateTerminal=ruleStateTerminal
+ { $current=$iv_ruleStateTerminal.current; }
+ EOF
+;
+
+// Rule StateTerminal
+ruleStateTerminal returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getStateTerminalRule());
+ }
+ }
+ otherlv_0=RULE_ID
+ {
+ newLeafNode(otherlv_0, grammarAccess.getStateTerminalAccess().getStateBaseStateCrossReference_0());
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleTrPointTerminal
+entryRuleTrPointTerminal returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getTrPointTerminalRule()); }
+ iv_ruleTrPointTerminal=ruleTrPointTerminal
+ { $current=$iv_ruleTrPointTerminal.current; }
+ EOF
+;
+
+// Rule TrPointTerminal
+ruleTrPointTerminal returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='my'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getTrPointTerminalAccess().getMyKeyword_0());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getTrPointTerminalRule());
+ }
+ }
+ otherlv_1=RULE_ID
+ {
+ newLeafNode(otherlv_1, grammarAccess.getTrPointTerminalAccess().getTrPointTrPointCrossReference_1_0());
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleSubStateTrPointTerminal
+entryRuleSubStateTrPointTerminal returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSubStateTrPointTerminalRule()); }
+ iv_ruleSubStateTrPointTerminal=ruleSubStateTrPointTerminal
+ { $current=$iv_ruleSubStateTrPointTerminal.current; }
+ EOF
+;
+
+// Rule SubStateTrPointTerminal
+ruleSubStateTrPointTerminal returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getSubStateTrPointTerminalRule());
+ }
+ }
+ otherlv_0=RULE_ID
+ {
+ newLeafNode(otherlv_0, grammarAccess.getSubStateTrPointTerminalAccess().getTrPointTrPointCrossReference_0_0());
+ }
+
+)
+) otherlv_1='of'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getSubStateTrPointTerminalAccess().getOfKeyword_1());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getSubStateTrPointTerminalRule());
+ }
+ }
+ otherlv_2=RULE_ID
+ {
+ newLeafNode(otherlv_2, grammarAccess.getSubStateTrPointTerminalAccess().getStateBaseStateCrossReference_2_0());
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleChoicepointTerminal
+entryRuleChoicepointTerminal returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getChoicepointTerminalRule()); }
+ iv_ruleChoicepointTerminal=ruleChoicepointTerminal
+ { $current=$iv_ruleChoicepointTerminal.current; }
+ EOF
+;
+
+// Rule ChoicepointTerminal
+ruleChoicepointTerminal returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='cp'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getChoicepointTerminalAccess().getCpKeyword_0());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getChoicepointTerminalRule());
+ }
+ }
+ otherlv_1=RULE_ID
+ {
+ newLeafNode(otherlv_1, grammarAccess.getChoicepointTerminalAccess().getCpChoicePointCrossReference_1_0());
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleTrigger
+entryRuleTrigger returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getTriggerRule()); }
+ iv_ruleTrigger=ruleTrigger
+ { $current=$iv_ruleTrigger.current; }
+ EOF
+;
+
+// Rule Trigger
+ruleTrigger returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='<'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getTriggerAccess().getLessThanSignKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTriggerAccess().getMsgFromIfPairsMessageFromIfParserRuleCall_1_0());
+ }
+ lv_msgFromIfPairs_1_0=ruleMessageFromIf {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTriggerRule());
+ }
+ add(
+ $current,
+ "msgFromIfPairs",
+ lv_msgFromIfPairs_1_0,
+ "MessageFromIf");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_2='|'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getTriggerAccess().getVerticalLineKeyword_2_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getTriggerAccess().getMsgFromIfPairsMessageFromIfParserRuleCall_2_1_0());
+ }
+ lv_msgFromIfPairs_3_0=ruleMessageFromIf {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTriggerRule());
+ }
+ add(
+ $current,
+ "msgFromIfPairs",
+ lv_msgFromIfPairs_3_0,
+ "MessageFromIf");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*(
+(
+ {
+ newCompositeNode(grammarAccess.getTriggerAccess().getGuardGuardParserRuleCall_3_0());
+ }
+ lv_guard_4_0=ruleGuard {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTriggerRule());
+ }
+ set(
+ $current,
+ "guard",
+ lv_guard_4_0,
+ "Guard");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)? otherlv_5='>'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getTriggerAccess().getGreaterThanSignKeyword_4());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleMessageFromIf
+entryRuleMessageFromIf returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getMessageFromIfRule()); }
+ iv_ruleMessageFromIf=ruleMessageFromIf
+ { $current=$iv_ruleMessageFromIf.current; }
+ EOF
+;
+
+// Rule MessageFromIf
+ruleMessageFromIf returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getMessageFromIfRule());
+ }
+ }
+ otherlv_0=RULE_ID
+ {
+ newLeafNode(otherlv_0, grammarAccess.getMessageFromIfAccess().getMessageMessageCrossReference_0_0());
+ }
+
+)
+) otherlv_1=':'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getMessageFromIfAccess().getColonKeyword_1());
+ }
+(
+(
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getMessageFromIfRule());
+ }
+ }
+ otherlv_2=RULE_ID
+ {
+ newLeafNode(otherlv_2, grammarAccess.getMessageFromIfAccess().getFromInterfaceItemCrossReference_2_0());
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleGuard
+entryRuleGuard returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getGuardRule()); }
+ iv_ruleGuard=ruleGuard
+ { $current=$iv_ruleGuard.current; }
+ EOF
+;
+
+// Rule Guard
+ruleGuard returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='guard'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getGuardAccess().getGuardKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getGuardAccess().getGuardDetailCodeParserRuleCall_1_0());
+ }
+ lv_guard_1_0=ruleDetailCode {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getGuardRule());
+ }
+ set(
+ $current,
+ "guard",
+ lv_guard_1_0,
+ "DetailCode");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleImport
+entryRuleImport returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getImportRule()); }
+ iv_ruleImport=ruleImport
+ { $current=$iv_ruleImport.current; }
+ EOF
+;
+
+// Rule Import
+ruleImport returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='import'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getImportAccess().getImportKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getImportAccess().getImportedNamespaceImportedFQNParserRuleCall_1_0());
+ }
+ lv_importedNamespace_1_0=ruleImportedFQN {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getImportRule());
+ }
+ set(
+ $current,
+ "importedNamespace",
+ lv_importedNamespace_1_0,
+ "ImportedFQN");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleImportedFQN
+entryRuleImportedFQN returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getImportedFQNRule()); }
+ iv_ruleImportedFQN=ruleImportedFQN
+ { $current=$iv_ruleImportedFQN.current.getText(); }
+ EOF
+;
+
+// Rule ImportedFQN
+ruleImportedFQN returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getImportedFQNAccess().getFQNParserRuleCall_0());
+ }
+ this_FQN_0=ruleFQN {
+ $current.merge(this_FQN_0);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+(
+ kw='.'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getImportedFQNAccess().getFullStopKeyword_1_0());
+ }
+
+ kw='*'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getImportedFQNAccess().getAsteriskKeyword_1_1());
+ }
+)?)
+ ;
+
+
+
+
+
+// Entry rule entryRuleFQN
+entryRuleFQN returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getFQNRule()); }
+ iv_ruleFQN=ruleFQN
+ { $current=$iv_ruleFQN.current.getText(); }
+ EOF
+;
+
+// Rule FQN
+ruleFQN returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( this_ID_0=RULE_ID {
+ $current.merge(this_ID_0);
+ }
+
+ {
+ newLeafNode(this_ID_0, grammarAccess.getFQNAccess().getIDTerminalRuleCall_0());
+ }
+(
+ kw='.'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getFQNAccess().getFullStopKeyword_1_0());
+ }
+ this_ID_2=RULE_ID {
+ $current.merge(this_ID_2);
+ }
+
+ {
+ newLeafNode(this_ID_2, grammarAccess.getFQNAccess().getIDTerminalRuleCall_1_1());
+ }
+)*)
+ ;
+
+
+
+
+
+// Rule PrimitiveType
+rulePrimitiveType returns [Enumerator current=null]
+ @init { enterRule(); }
+ @after { leaveRule(); }:
+(( enumLiteral_0='void'
+ {
+ $current = grammarAccess.getPrimitiveTypeAccess().getVoidEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_0, grammarAccess.getPrimitiveTypeAccess().getVoidEnumLiteralDeclaration_0());
+ }
+)
+ |( enumLiteral_1='int8'
+ {
+ $current = grammarAccess.getPrimitiveTypeAccess().getInt8EnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_1, grammarAccess.getPrimitiveTypeAccess().getInt8EnumLiteralDeclaration_1());
+ }
+)
+ |( enumLiteral_2='int16'
+ {
+ $current = grammarAccess.getPrimitiveTypeAccess().getInt16EnumLiteralDeclaration_2().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_2, grammarAccess.getPrimitiveTypeAccess().getInt16EnumLiteralDeclaration_2());
+ }
+)
+ |( enumLiteral_3='int32'
+ {
+ $current = grammarAccess.getPrimitiveTypeAccess().getInt32EnumLiteralDeclaration_3().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_3, grammarAccess.getPrimitiveTypeAccess().getInt32EnumLiteralDeclaration_3());
+ }
+)
+ |( enumLiteral_4='uint8'
+ {
+ $current = grammarAccess.getPrimitiveTypeAccess().getUint8EnumLiteralDeclaration_4().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_4, grammarAccess.getPrimitiveTypeAccess().getUint8EnumLiteralDeclaration_4());
+ }
+)
+ |( enumLiteral_5='uint16'
+ {
+ $current = grammarAccess.getPrimitiveTypeAccess().getUint16EnumLiteralDeclaration_5().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_5, grammarAccess.getPrimitiveTypeAccess().getUint16EnumLiteralDeclaration_5());
+ }
+)
+ |( enumLiteral_6='uint32'
+ {
+ $current = grammarAccess.getPrimitiveTypeAccess().getUint32EnumLiteralDeclaration_6().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_6, grammarAccess.getPrimitiveTypeAccess().getUint32EnumLiteralDeclaration_6());
+ }
+)
+ |( enumLiteral_7='float32'
+ {
+ $current = grammarAccess.getPrimitiveTypeAccess().getFloat32EnumLiteralDeclaration_7().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_7, grammarAccess.getPrimitiveTypeAccess().getFloat32EnumLiteralDeclaration_7());
+ }
+)
+ |( enumLiteral_8='float64'
+ {
+ $current = grammarAccess.getPrimitiveTypeAccess().getFloat64EnumLiteralDeclaration_8().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_8, grammarAccess.getPrimitiveTypeAccess().getFloat64EnumLiteralDeclaration_8());
+ }
+)
+ |( enumLiteral_9='boolean'
+ {
+ $current = grammarAccess.getPrimitiveTypeAccess().getBooleanEnumLiteralDeclaration_9().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_9, grammarAccess.getPrimitiveTypeAccess().getBooleanEnumLiteralDeclaration_9());
+ }
+)
+ |( enumLiteral_10='string'
+ {
+ $current = grammarAccess.getPrimitiveTypeAccess().getStringEnumLiteralDeclaration_10().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_10, grammarAccess.getPrimitiveTypeAccess().getStringEnumLiteralDeclaration_10());
+ }
+)
+ |( enumLiteral_11='char'
+ {
+ $current = grammarAccess.getPrimitiveTypeAccess().getCharEnumLiteralDeclaration_11().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_11, grammarAccess.getPrimitiveTypeAccess().getCharEnumLiteralDeclaration_11());
+ }
+));
+
+
+
+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.core.room/src-gen/org/eclipse/etrice/core/services/RoomGrammarAccess.java b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/services/RoomGrammarAccess.java index 8cccbbebe..cf87e90e3 100644 --- a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/services/RoomGrammarAccess.java +++ b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/services/RoomGrammarAccess.java @@ -1,4401 +1,4401 @@ -/* -* generated by Xtext -*/ - -package org.eclipse.etrice.core.services; - -import com.google.inject.Singleton; -import com.google.inject.Inject; - -import org.eclipse.xtext.*; -import org.eclipse.xtext.service.GrammarProvider; -import org.eclipse.xtext.service.AbstractElementFinder.*; - -import org.eclipse.xtext.common.services.TerminalsGrammarAccess; - -@Singleton -public class RoomGrammarAccess extends AbstractGrammarElementFinder { - - - public class RoomModelElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RoomModel"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cRoomModelKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cNameFQNParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); - private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); - private final Assignment cImportsAssignment_3 = (Assignment)cGroup.eContents().get(3); - private final RuleCall cImportsImportParserRuleCall_3_0 = (RuleCall)cImportsAssignment_3.eContents().get(0); - private final Alternatives cAlternatives_4 = (Alternatives)cGroup.eContents().get(4); - private final Assignment cDataClassesAssignment_4_0 = (Assignment)cAlternatives_4.eContents().get(0); - private final RuleCall cDataClassesDataClassParserRuleCall_4_0_0 = (RuleCall)cDataClassesAssignment_4_0.eContents().get(0); - private final Assignment cProtocolClassesAssignment_4_1 = (Assignment)cAlternatives_4.eContents().get(1); - private final RuleCall cProtocolClassesProtocolClassParserRuleCall_4_1_0 = (RuleCall)cProtocolClassesAssignment_4_1.eContents().get(0); - private final Assignment cActorClassesAssignment_4_2 = (Assignment)cAlternatives_4.eContents().get(2); - private final RuleCall cActorClassesActorClassParserRuleCall_4_2_0 = (RuleCall)cActorClassesAssignment_4_2.eContents().get(0); - private final Assignment cSubSystemClassesAssignment_4_3 = (Assignment)cAlternatives_4.eContents().get(3); - private final RuleCall cSubSystemClassesSubSystemClassParserRuleCall_4_3_0 = (RuleCall)cSubSystemClassesAssignment_4_3.eContents().get(0); - private final Assignment cSystemsAssignment_4_4 = (Assignment)cAlternatives_4.eContents().get(4); - private final RuleCall cSystemsLogicalSystemParserRuleCall_4_4_0 = (RuleCall)cSystemsAssignment_4_4.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); - - //RoomModel: - // "RoomModel" name=FQN "{" imports+=Import* (dataClasses+=DataClass | protocolClasses+=ProtocolClass | - // actorClasses+=ActorClass | subSystemClasses+=SubSystemClass | systems+=LogicalSystem)+ "}"; - public ParserRule getRule() { return rule; } - - //"RoomModel" name=FQN "{" imports+=Import* (dataClasses+=DataClass | protocolClasses+=ProtocolClass | - //actorClasses+=ActorClass | subSystemClasses+=SubSystemClass | systems+=LogicalSystem)+ "}" - public Group getGroup() { return cGroup; } - - //"RoomModel" - public Keyword getRoomModelKeyword_0() { return cRoomModelKeyword_0; } - - //name=FQN - public Assignment getNameAssignment_1() { return cNameAssignment_1; } - - //FQN - public RuleCall getNameFQNParserRuleCall_1_0() { return cNameFQNParserRuleCall_1_0; } - - //"{" - public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } - - //imports+=Import* - public Assignment getImportsAssignment_3() { return cImportsAssignment_3; } - - //Import - public RuleCall getImportsImportParserRuleCall_3_0() { return cImportsImportParserRuleCall_3_0; } - - //(dataClasses+=DataClass | protocolClasses+=ProtocolClass | actorClasses+=ActorClass | subSystemClasses+=SubSystemClass | - //systems+=LogicalSystem)+ - public Alternatives getAlternatives_4() { return cAlternatives_4; } - - //dataClasses+=DataClass - public Assignment getDataClassesAssignment_4_0() { return cDataClassesAssignment_4_0; } - - //DataClass - public RuleCall getDataClassesDataClassParserRuleCall_4_0_0() { return cDataClassesDataClassParserRuleCall_4_0_0; } - - //protocolClasses+=ProtocolClass - public Assignment getProtocolClassesAssignment_4_1() { return cProtocolClassesAssignment_4_1; } - - //ProtocolClass - public RuleCall getProtocolClassesProtocolClassParserRuleCall_4_1_0() { return cProtocolClassesProtocolClassParserRuleCall_4_1_0; } - - //actorClasses+=ActorClass - public Assignment getActorClassesAssignment_4_2() { return cActorClassesAssignment_4_2; } - - //ActorClass - public RuleCall getActorClassesActorClassParserRuleCall_4_2_0() { return cActorClassesActorClassParserRuleCall_4_2_0; } - - //subSystemClasses+=SubSystemClass - public Assignment getSubSystemClassesAssignment_4_3() { return cSubSystemClassesAssignment_4_3; } - - //SubSystemClass - public RuleCall getSubSystemClassesSubSystemClassParserRuleCall_4_3_0() { return cSubSystemClassesSubSystemClassParserRuleCall_4_3_0; } - - //systems+=LogicalSystem - public Assignment getSystemsAssignment_4_4() { return cSystemsAssignment_4_4; } - - //LogicalSystem - public RuleCall getSystemsLogicalSystemParserRuleCall_4_4_0() { return cSystemsLogicalSystemParserRuleCall_4_4_0; } - - //"}" - public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; } - } - - public class RoomClassElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RoomClass"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cDataClassParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cProtocolClassParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - private final RuleCall cStructureClassParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); - - //RoomClass: - // DataClass | ProtocolClass | StructureClass; - public ParserRule getRule() { return rule; } - - //DataClass | ProtocolClass | StructureClass - public Alternatives getAlternatives() { return cAlternatives; } - - //DataClass - public RuleCall getDataClassParserRuleCall_0() { return cDataClassParserRuleCall_0; } - - //ProtocolClass - public RuleCall getProtocolClassParserRuleCall_1() { return cProtocolClassParserRuleCall_1; } - - //StructureClass - public RuleCall getStructureClassParserRuleCall_2() { return cStructureClassParserRuleCall_2; } - } - - public class StructureClassElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StructureClass"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cActorContainerClassParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cLogicalSystemParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - - //StructureClass: - // ActorContainerClass | LogicalSystem; - public ParserRule getRule() { return rule; } - - //ActorContainerClass | LogicalSystem - public Alternatives getAlternatives() { return cAlternatives; } - - //ActorContainerClass - public RuleCall getActorContainerClassParserRuleCall_0() { return cActorContainerClassParserRuleCall_0; } - - //LogicalSystem - public RuleCall getLogicalSystemParserRuleCall_1() { return cLogicalSystemParserRuleCall_1; } - } - - public class ActorContainerClassElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ActorContainerClass"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cActorClassParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cSubSystemClassParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - - //ActorContainerClass: - // ActorClass | SubSystemClass; - public ParserRule getRule() { return rule; } - - //ActorClass | SubSystemClass - public Alternatives getAlternatives() { return cAlternatives; } - - //ActorClass - public RuleCall getActorClassParserRuleCall_0() { return cActorClassParserRuleCall_0; } - - //SubSystemClass - public RuleCall getSubSystemClassParserRuleCall_1() { return cSubSystemClassParserRuleCall_1; } - } - - public class TypedIDElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TypedID"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0); - private final RuleCall cNameIDTerminalRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0); - private final Keyword cColonKeyword_1 = (Keyword)cGroup.eContents().get(1); - private final Assignment cTypeAssignment_2 = (Assignment)cGroup.eContents().get(2); - private final RuleCall cTypeTypeParserRuleCall_2_0 = (RuleCall)cTypeAssignment_2.eContents().get(0); - - //TypedID: - // name=ID ":" type=Type; - public ParserRule getRule() { return rule; } - - //name=ID ":" type=Type - public Group getGroup() { return cGroup; } - - //name=ID - public Assignment getNameAssignment_0() { return cNameAssignment_0; } - - //ID - public RuleCall getNameIDTerminalRuleCall_0_0() { return cNameIDTerminalRuleCall_0_0; } - - //":" - public Keyword getColonKeyword_1() { return cColonKeyword_1; } - - //type=Type - public Assignment getTypeAssignment_2() { return cTypeAssignment_2; } - - //Type - public RuleCall getTypeTypeParserRuleCall_2_0() { return cTypeTypeParserRuleCall_2_0; } - } - - public class FreeTypedIDElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "FreeTypedID"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0); - private final RuleCall cNameIDTerminalRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0); - private final Keyword cColonKeyword_1 = (Keyword)cGroup.eContents().get(1); - private final Assignment cTypeAssignment_2 = (Assignment)cGroup.eContents().get(2); - private final RuleCall cTypeFreeTypeParserRuleCall_2_0 = (RuleCall)cTypeAssignment_2.eContents().get(0); - - //FreeTypedID: - // name=ID ":" type=FreeType; - public ParserRule getRule() { return rule; } - - //name=ID ":" type=FreeType - public Group getGroup() { return cGroup; } - - //name=ID - public Assignment getNameAssignment_0() { return cNameAssignment_0; } - - //ID - public RuleCall getNameIDTerminalRuleCall_0_0() { return cNameIDTerminalRuleCall_0_0; } - - //":" - public Keyword getColonKeyword_1() { return cColonKeyword_1; } - - //type=FreeType - public Assignment getTypeAssignment_2() { return cTypeAssignment_2; } - - //FreeType - public RuleCall getTypeFreeTypeParserRuleCall_2_0() { return cTypeFreeTypeParserRuleCall_2_0; } - } - - public class TypeElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Type"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final Assignment cPrimAssignment_0 = (Assignment)cAlternatives.eContents().get(0); - private final RuleCall cPrimPrimitiveTypeEnumRuleCall_0_0 = (RuleCall)cPrimAssignment_0.eContents().get(0); - private final Assignment cTypeAssignment_1 = (Assignment)cAlternatives.eContents().get(1); - private final CrossReference cTypeDataClassCrossReference_1_0 = (CrossReference)cTypeAssignment_1.eContents().get(0); - private final RuleCall cTypeDataClassFQNParserRuleCall_1_0_1 = (RuleCall)cTypeDataClassCrossReference_1_0.eContents().get(1); - - //Type: - // prim=PrimitiveType | type=[DataClass|FQN]; - public ParserRule getRule() { return rule; } - - //prim=PrimitiveType | type=[DataClass|FQN] - public Alternatives getAlternatives() { return cAlternatives; } - - //prim=PrimitiveType - public Assignment getPrimAssignment_0() { return cPrimAssignment_0; } - - //PrimitiveType - public RuleCall getPrimPrimitiveTypeEnumRuleCall_0_0() { return cPrimPrimitiveTypeEnumRuleCall_0_0; } - - //type=[DataClass|FQN] - public Assignment getTypeAssignment_1() { return cTypeAssignment_1; } - - //[DataClass|FQN] - public CrossReference getTypeDataClassCrossReference_1_0() { return cTypeDataClassCrossReference_1_0; } - - //FQN - public RuleCall getTypeDataClassFQNParserRuleCall_1_0_1() { return cTypeDataClassFQNParserRuleCall_1_0_1; } - } - - public class FreeTypeElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "FreeType"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final Assignment cPrimAssignment_0 = (Assignment)cAlternatives.eContents().get(0); - private final RuleCall cPrimPrimitiveTypeEnumRuleCall_0_0 = (RuleCall)cPrimAssignment_0.eContents().get(0); - private final Assignment cTypeAssignment_1 = (Assignment)cAlternatives.eContents().get(1); - private final RuleCall cTypeIDTerminalRuleCall_1_0 = (RuleCall)cTypeAssignment_1.eContents().get(0); - - //FreeType: - // prim=PrimitiveType | type=ID; - public ParserRule getRule() { return rule; } - - //prim=PrimitiveType | type=ID - public Alternatives getAlternatives() { return cAlternatives; } - - //prim=PrimitiveType - public Assignment getPrimAssignment_0() { return cPrimAssignment_0; } - - //PrimitiveType - public RuleCall getPrimPrimitiveTypeEnumRuleCall_0_0() { return cPrimPrimitiveTypeEnumRuleCall_0_0; } - - //type=ID - public Assignment getTypeAssignment_1() { return cTypeAssignment_1; } - - //ID - public RuleCall getTypeIDTerminalRuleCall_1_0() { return cTypeIDTerminalRuleCall_1_0; } - } - - public class DataClassElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DataClass"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cDataClassKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); - private final Group cGroup_2 = (Group)cGroup.eContents().get(2); - private final Keyword cExtendsKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); - private final Assignment cBaseAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); - private final CrossReference cBaseDataClassCrossReference_2_1_0 = (CrossReference)cBaseAssignment_2_1.eContents().get(0); - private final RuleCall cBaseDataClassFQNParserRuleCall_2_1_0_1 = (RuleCall)cBaseDataClassCrossReference_2_1_0.eContents().get(1); - private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); - private final Assignment cImportsAssignment_4 = (Assignment)cGroup.eContents().get(4); - private final RuleCall cImportsImportParserRuleCall_4_0 = (RuleCall)cImportsAssignment_4.eContents().get(0); - private final Assignment cAttributesAssignment_5 = (Assignment)cGroup.eContents().get(5); - private final RuleCall cAttributesAttributeParserRuleCall_5_0 = (RuleCall)cAttributesAssignment_5.eContents().get(0); - private final Assignment cOperationsAssignment_6 = (Assignment)cGroup.eContents().get(6); - private final RuleCall cOperationsOperationParserRuleCall_6_0 = (RuleCall)cOperationsAssignment_6.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); - - //// TODOHRR: define detail level language? - // - //DataClass: - // "DataClass" name=ID ("extends" base=[DataClass|FQN])? "{" imports+=Import* attributes+=Attribute+ - // operations+=Operation* "}"; - public ParserRule getRule() { return rule; } - - //"DataClass" name=ID ("extends" base=[DataClass|FQN])? "{" imports+=Import* attributes+=Attribute+ operations+=Operation* - //"}" - public Group getGroup() { return cGroup; } - - //"DataClass" - public Keyword getDataClassKeyword_0() { return cDataClassKeyword_0; } - - //name=ID - public Assignment getNameAssignment_1() { return cNameAssignment_1; } - - //ID - public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } - - //("extends" base=[DataClass|FQN])? - public Group getGroup_2() { return cGroup_2; } - - //"extends" - public Keyword getExtendsKeyword_2_0() { return cExtendsKeyword_2_0; } - - //base=[DataClass|FQN] - public Assignment getBaseAssignment_2_1() { return cBaseAssignment_2_1; } - - //[DataClass|FQN] - public CrossReference getBaseDataClassCrossReference_2_1_0() { return cBaseDataClassCrossReference_2_1_0; } - - //FQN - public RuleCall getBaseDataClassFQNParserRuleCall_2_1_0_1() { return cBaseDataClassFQNParserRuleCall_2_1_0_1; } - - //"{" - public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; } - - //imports+=Import* - public Assignment getImportsAssignment_4() { return cImportsAssignment_4; } - - //Import - public RuleCall getImportsImportParserRuleCall_4_0() { return cImportsImportParserRuleCall_4_0; } - - //attributes+=Attribute+ - public Assignment getAttributesAssignment_5() { return cAttributesAssignment_5; } - - //Attribute - public RuleCall getAttributesAttributeParserRuleCall_5_0() { return cAttributesAttributeParserRuleCall_5_0; } - - //operations+=Operation* - public Assignment getOperationsAssignment_6() { return cOperationsAssignment_6; } - - //Operation - public RuleCall getOperationsOperationParserRuleCall_6_0() { return cOperationsOperationParserRuleCall_6_0; } - - //"}" - public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; } - } - - public class AttributeElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Attribute"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cAttributeKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); - private final Group cGroup_2 = (Group)cGroup.eContents().get(2); - private final Keyword cLeftSquareBracketKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); - private final Assignment cSizeAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); - private final RuleCall cSizeINTTerminalRuleCall_2_1_0 = (RuleCall)cSizeAssignment_2_1.eContents().get(0); - private final Keyword cRightSquareBracketKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2); - private final Keyword cColonKeyword_3 = (Keyword)cGroup.eContents().get(3); - private final Assignment cTypeAssignment_4 = (Assignment)cGroup.eContents().get(4); - private final RuleCall cTypeTypeParserRuleCall_4_0 = (RuleCall)cTypeAssignment_4.eContents().get(0); - - //Attribute: - // "Attribute" name=ID ("[" size=INT "]")? ":" type=Type; - public ParserRule getRule() { return rule; } - - //"Attribute" name=ID ("[" size=INT "]")? ":" type=Type - public Group getGroup() { return cGroup; } - - //"Attribute" - public Keyword getAttributeKeyword_0() { return cAttributeKeyword_0; } - - //name=ID - public Assignment getNameAssignment_1() { return cNameAssignment_1; } - - //ID - public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } - - //("[" size=INT "]")? - public Group getGroup_2() { return cGroup_2; } - - //"[" - public Keyword getLeftSquareBracketKeyword_2_0() { return cLeftSquareBracketKeyword_2_0; } - - //size=INT - public Assignment getSizeAssignment_2_1() { return cSizeAssignment_2_1; } - - //INT - public RuleCall getSizeINTTerminalRuleCall_2_1_0() { return cSizeINTTerminalRuleCall_2_1_0; } - - //"]" - public Keyword getRightSquareBracketKeyword_2_2() { return cRightSquareBracketKeyword_2_2; } - - //":" - public Keyword getColonKeyword_3() { return cColonKeyword_3; } - - //type=Type - public Assignment getTypeAssignment_4() { return cTypeAssignment_4; } - - //Type - public RuleCall getTypeTypeParserRuleCall_4_0() { return cTypeTypeParserRuleCall_4_0; } - } - - public class OperationElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Operation"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cOperationKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); - private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2); - private final Group cGroup_3 = (Group)cGroup.eContents().get(3); - private final Assignment cArgumentsAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0); - private final RuleCall cArgumentsFreeTypedIDParserRuleCall_3_0_0 = (RuleCall)cArgumentsAssignment_3_0.eContents().get(0); - private final Group cGroup_3_1 = (Group)cGroup_3.eContents().get(1); - private final Keyword cCommaKeyword_3_1_0 = (Keyword)cGroup_3_1.eContents().get(0); - private final Assignment cArgumentsAssignment_3_1_1 = (Assignment)cGroup_3_1.eContents().get(1); - private final RuleCall cArgumentsFreeTypedIDParserRuleCall_3_1_1_0 = (RuleCall)cArgumentsAssignment_3_1_1.eContents().get(0); - private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4); - private final Group cGroup_5 = (Group)cGroup.eContents().get(5); - private final Keyword cColonKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); - private final Assignment cReturntypeAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1); - private final RuleCall cReturntypeFreeTypeParserRuleCall_5_1_0 = (RuleCall)cReturntypeAssignment_5_1.eContents().get(0); - private final Assignment cDetailCodeAssignment_6 = (Assignment)cGroup.eContents().get(6); - private final RuleCall cDetailCodeDetailCodeParserRuleCall_6_0 = (RuleCall)cDetailCodeAssignment_6.eContents().get(0); - - //// TODOHRR: pass arguments and return value by value/reference - // - //Operation: - // "Operation" name=ID "(" (arguments+=FreeTypedID ("," arguments+=FreeTypedID)*)? ")" (":" returntype=FreeType)? - // detailCode=DetailCode; - public ParserRule getRule() { return rule; } - - //"Operation" name=ID "(" (arguments+=FreeTypedID ("," arguments+=FreeTypedID)*)? ")" (":" returntype=FreeType)? - //detailCode=DetailCode - public Group getGroup() { return cGroup; } - - //"Operation" - public Keyword getOperationKeyword_0() { return cOperationKeyword_0; } - - //name=ID - public Assignment getNameAssignment_1() { return cNameAssignment_1; } - - //ID - public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } - - //"(" - public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; } - - //(arguments+=FreeTypedID ("," arguments+=FreeTypedID)*)? - public Group getGroup_3() { return cGroup_3; } - - //arguments+=FreeTypedID - public Assignment getArgumentsAssignment_3_0() { return cArgumentsAssignment_3_0; } - - //FreeTypedID - public RuleCall getArgumentsFreeTypedIDParserRuleCall_3_0_0() { return cArgumentsFreeTypedIDParserRuleCall_3_0_0; } - - //("," arguments+=FreeTypedID)* - public Group getGroup_3_1() { return cGroup_3_1; } - - //"," - public Keyword getCommaKeyword_3_1_0() { return cCommaKeyword_3_1_0; } - - //arguments+=FreeTypedID - public Assignment getArgumentsAssignment_3_1_1() { return cArgumentsAssignment_3_1_1; } - - //FreeTypedID - public RuleCall getArgumentsFreeTypedIDParserRuleCall_3_1_1_0() { return cArgumentsFreeTypedIDParserRuleCall_3_1_1_0; } - - //")" - public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; } - - //(":" returntype=FreeType)? - public Group getGroup_5() { return cGroup_5; } - - //":" - public Keyword getColonKeyword_5_0() { return cColonKeyword_5_0; } - - //returntype=FreeType - public Assignment getReturntypeAssignment_5_1() { return cReturntypeAssignment_5_1; } - - //FreeType - public RuleCall getReturntypeFreeTypeParserRuleCall_5_1_0() { return cReturntypeFreeTypeParserRuleCall_5_1_0; } - - //detailCode=DetailCode - public Assignment getDetailCodeAssignment_6() { return cDetailCodeAssignment_6; } - - //DetailCode - public RuleCall getDetailCodeDetailCodeParserRuleCall_6_0() { return cDetailCodeDetailCodeParserRuleCall_6_0; } - } - - public class ProtocolClassElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ProtocolClass"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cProtocolClassKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); - private final Group cGroup_2 = (Group)cGroup.eContents().get(2); - private final Keyword cExtendsKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); - private final Assignment cBaseAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); - private final CrossReference cBaseProtocolClassCrossReference_2_1_0 = (CrossReference)cBaseAssignment_2_1.eContents().get(0); - private final RuleCall cBaseProtocolClassFQNParserRuleCall_2_1_0_1 = (RuleCall)cBaseProtocolClassCrossReference_2_1_0.eContents().get(1); - private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); - private final Group cGroup_4 = (Group)cGroup.eContents().get(4); - private final Keyword cUsercode1Keyword_4_0 = (Keyword)cGroup_4.eContents().get(0); - private final Assignment cUserCode1Assignment_4_1 = (Assignment)cGroup_4.eContents().get(1); - private final RuleCall cUserCode1DetailCodeParserRuleCall_4_1_0 = (RuleCall)cUserCode1Assignment_4_1.eContents().get(0); - private final Group cGroup_5 = (Group)cGroup.eContents().get(5); - private final Keyword cUsercode2Keyword_5_0 = (Keyword)cGroup_5.eContents().get(0); - private final Assignment cUserCode2Assignment_5_1 = (Assignment)cGroup_5.eContents().get(1); - private final RuleCall cUserCode2DetailCodeParserRuleCall_5_1_0 = (RuleCall)cUserCode2Assignment_5_1.eContents().get(0); - private final Keyword cIncomingKeyword_6 = (Keyword)cGroup.eContents().get(6); - private final Keyword cLeftCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7); - private final Assignment cIncomingMessagesAssignment_8 = (Assignment)cGroup.eContents().get(8); - private final RuleCall cIncomingMessagesMessageParserRuleCall_8_0 = (RuleCall)cIncomingMessagesAssignment_8.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_9 = (Keyword)cGroup.eContents().get(9); - private final Keyword cOutgoingKeyword_10 = (Keyword)cGroup.eContents().get(10); - private final Keyword cLeftCurlyBracketKeyword_11 = (Keyword)cGroup.eContents().get(11); - private final Assignment cOutgoingMessagesAssignment_12 = (Assignment)cGroup.eContents().get(12); - private final RuleCall cOutgoingMessagesMessageParserRuleCall_12_0 = (RuleCall)cOutgoingMessagesAssignment_12.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_13 = (Keyword)cGroup.eContents().get(13); - private final Group cGroup_14 = (Group)cGroup.eContents().get(14); - private final Keyword cRegularKeyword_14_0 = (Keyword)cGroup_14.eContents().get(0); - private final Keyword cPortClassKeyword_14_1 = (Keyword)cGroup_14.eContents().get(1); - private final Assignment cRegularAssignment_14_2 = (Assignment)cGroup_14.eContents().get(2); - private final RuleCall cRegularPortClassParserRuleCall_14_2_0 = (RuleCall)cRegularAssignment_14_2.eContents().get(0); - private final Group cGroup_15 = (Group)cGroup.eContents().get(15); - private final Keyword cConjugateKeyword_15_0 = (Keyword)cGroup_15.eContents().get(0); - private final Keyword cPortClassKeyword_15_1 = (Keyword)cGroup_15.eContents().get(1); - private final Assignment cConjugateAssignment_15_2 = (Assignment)cGroup_15.eContents().get(2); - private final RuleCall cConjugatePortClassParserRuleCall_15_2_0 = (RuleCall)cConjugateAssignment_15_2.eContents().get(0); - private final Assignment cSemanticsAssignment_16 = (Assignment)cGroup.eContents().get(16); - private final RuleCall cSemanticsProtocolSemanticsParserRuleCall_16_0 = (RuleCall)cSemanticsAssignment_16.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_17 = (Keyword)cGroup.eContents().get(17); - - //// ************************************************************** - // - //// protocol class - // - //ProtocolClass: - // "ProtocolClass" name=ID ("extends" base=[ProtocolClass|FQN])? "{" ("usercode1" userCode1=DetailCode)? ("usercode2" - // userCode2=DetailCode)? "incoming" "{" incomingMessages+=Message* "}" "outgoing" "{" outgoingMessages+=Message* "}" - // ("regular" "PortClass" regular=PortClass)? ("conjugate" "PortClass" conjugate=PortClass)? semantics=ProtocolSemantics? - // "}"; - public ParserRule getRule() { return rule; } - - //"ProtocolClass" name=ID ("extends" base=[ProtocolClass|FQN])? "{" ("usercode1" userCode1=DetailCode)? ("usercode2" - //userCode2=DetailCode)? "incoming" "{" incomingMessages+=Message* "}" "outgoing" "{" outgoingMessages+=Message* "}" - //("regular" "PortClass" regular=PortClass)? ("conjugate" "PortClass" conjugate=PortClass)? semantics=ProtocolSemantics? - //"}" - public Group getGroup() { return cGroup; } - - //"ProtocolClass" - public Keyword getProtocolClassKeyword_0() { return cProtocolClassKeyword_0; } - - //name=ID - public Assignment getNameAssignment_1() { return cNameAssignment_1; } - - //ID - public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } - - //("extends" base=[ProtocolClass|FQN])? - public Group getGroup_2() { return cGroup_2; } - - //"extends" - public Keyword getExtendsKeyword_2_0() { return cExtendsKeyword_2_0; } - - //base=[ProtocolClass|FQN] - public Assignment getBaseAssignment_2_1() { return cBaseAssignment_2_1; } - - //[ProtocolClass|FQN] - public CrossReference getBaseProtocolClassCrossReference_2_1_0() { return cBaseProtocolClassCrossReference_2_1_0; } - - //FQN - public RuleCall getBaseProtocolClassFQNParserRuleCall_2_1_0_1() { return cBaseProtocolClassFQNParserRuleCall_2_1_0_1; } - - //"{" - public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; } - - //("usercode1" userCode1=DetailCode)? - public Group getGroup_4() { return cGroup_4; } - - //"usercode1" - public Keyword getUsercode1Keyword_4_0() { return cUsercode1Keyword_4_0; } - - //userCode1=DetailCode - public Assignment getUserCode1Assignment_4_1() { return cUserCode1Assignment_4_1; } - - //DetailCode - public RuleCall getUserCode1DetailCodeParserRuleCall_4_1_0() { return cUserCode1DetailCodeParserRuleCall_4_1_0; } - - //("usercode2" userCode2=DetailCode)? - public Group getGroup_5() { return cGroup_5; } - - //"usercode2" - public Keyword getUsercode2Keyword_5_0() { return cUsercode2Keyword_5_0; } - - //userCode2=DetailCode - public Assignment getUserCode2Assignment_5_1() { return cUserCode2Assignment_5_1; } - - //DetailCode - public RuleCall getUserCode2DetailCodeParserRuleCall_5_1_0() { return cUserCode2DetailCodeParserRuleCall_5_1_0; } - - //"incoming" - public Keyword getIncomingKeyword_6() { return cIncomingKeyword_6; } - - //"{" - public Keyword getLeftCurlyBracketKeyword_7() { return cLeftCurlyBracketKeyword_7; } - - //incomingMessages+=Message* - public Assignment getIncomingMessagesAssignment_8() { return cIncomingMessagesAssignment_8; } - - //Message - public RuleCall getIncomingMessagesMessageParserRuleCall_8_0() { return cIncomingMessagesMessageParserRuleCall_8_0; } - - //"}" - public Keyword getRightCurlyBracketKeyword_9() { return cRightCurlyBracketKeyword_9; } - - //"outgoing" - public Keyword getOutgoingKeyword_10() { return cOutgoingKeyword_10; } - - //"{" - public Keyword getLeftCurlyBracketKeyword_11() { return cLeftCurlyBracketKeyword_11; } - - //outgoingMessages+=Message* - public Assignment getOutgoingMessagesAssignment_12() { return cOutgoingMessagesAssignment_12; } - - //Message - public RuleCall getOutgoingMessagesMessageParserRuleCall_12_0() { return cOutgoingMessagesMessageParserRuleCall_12_0; } - - //"}" - public Keyword getRightCurlyBracketKeyword_13() { return cRightCurlyBracketKeyword_13; } - - //("regular" "PortClass" regular=PortClass)? - public Group getGroup_14() { return cGroup_14; } - - //"regular" - public Keyword getRegularKeyword_14_0() { return cRegularKeyword_14_0; } - - //"PortClass" - public Keyword getPortClassKeyword_14_1() { return cPortClassKeyword_14_1; } - - //regular=PortClass - public Assignment getRegularAssignment_14_2() { return cRegularAssignment_14_2; } - - //PortClass - public RuleCall getRegularPortClassParserRuleCall_14_2_0() { return cRegularPortClassParserRuleCall_14_2_0; } - - //("conjugate" "PortClass" conjugate=PortClass)? - public Group getGroup_15() { return cGroup_15; } - - //"conjugate" - public Keyword getConjugateKeyword_15_0() { return cConjugateKeyword_15_0; } - - //"PortClass" - public Keyword getPortClassKeyword_15_1() { return cPortClassKeyword_15_1; } - - //conjugate=PortClass - public Assignment getConjugateAssignment_15_2() { return cConjugateAssignment_15_2; } - - //PortClass - public RuleCall getConjugatePortClassParserRuleCall_15_2_0() { return cConjugatePortClassParserRuleCall_15_2_0; } - - //semantics=ProtocolSemantics? - public Assignment getSemanticsAssignment_16() { return cSemanticsAssignment_16; } - - //ProtocolSemantics - public RuleCall getSemanticsProtocolSemanticsParserRuleCall_16_0() { return cSemanticsProtocolSemanticsParserRuleCall_16_0; } - - //"}" - public Keyword getRightCurlyBracketKeyword_17() { return cRightCurlyBracketKeyword_17; } - } - - public class MessageElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Message"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cMessageKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); - private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2); - private final Group cGroup_3 = (Group)cGroup.eContents().get(3); - private final Assignment cArgumentsAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0); - private final RuleCall cArgumentsTypedIDParserRuleCall_3_0_0 = (RuleCall)cArgumentsAssignment_3_0.eContents().get(0); - private final Group cGroup_3_1 = (Group)cGroup_3.eContents().get(1); - private final Keyword cCommaKeyword_3_1_0 = (Keyword)cGroup_3_1.eContents().get(0); - private final Assignment cArgumentsAssignment_3_1_1 = (Assignment)cGroup_3_1.eContents().get(1); - private final RuleCall cArgumentsTypedIDParserRuleCall_3_1_1_0 = (RuleCall)cArgumentsAssignment_3_1_1.eContents().get(0); - private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4); - - //Message: - // "Message" name=ID "(" (arguments+=TypedID ("," arguments+=TypedID)*)? ")"; - public ParserRule getRule() { return rule; } - - //"Message" name=ID "(" (arguments+=TypedID ("," arguments+=TypedID)*)? ")" - public Group getGroup() { return cGroup; } - - //"Message" - public Keyword getMessageKeyword_0() { return cMessageKeyword_0; } - - //name=ID - public Assignment getNameAssignment_1() { return cNameAssignment_1; } - - //ID - public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } - - //"(" - public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; } - - //(arguments+=TypedID ("," arguments+=TypedID)*)? - public Group getGroup_3() { return cGroup_3; } - - //arguments+=TypedID - public Assignment getArgumentsAssignment_3_0() { return cArgumentsAssignment_3_0; } - - //TypedID - public RuleCall getArgumentsTypedIDParserRuleCall_3_0_0() { return cArgumentsTypedIDParserRuleCall_3_0_0; } - - //("," arguments+=TypedID)* - public Group getGroup_3_1() { return cGroup_3_1; } - - //"," - public Keyword getCommaKeyword_3_1_0() { return cCommaKeyword_3_1_0; } - - //arguments+=TypedID - public Assignment getArgumentsAssignment_3_1_1() { return cArgumentsAssignment_3_1_1; } - - //TypedID - public RuleCall getArgumentsTypedIDParserRuleCall_3_1_1_0() { return cArgumentsTypedIDParserRuleCall_3_1_1_0; } - - //")" - public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; } - } - - public class PortClassElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PortClass"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cLeftCurlyBracketKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Group cGroup_1 = (Group)cGroup.eContents().get(1); - private final Keyword cUsercodeKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); - private final Assignment cUserCodeAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); - private final RuleCall cUserCodeDetailCodeParserRuleCall_1_1_0 = (RuleCall)cUserCodeAssignment_1_1.eContents().get(0); - private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2); - private final Assignment cAttributesAssignment_2_0 = (Assignment)cAlternatives_2.eContents().get(0); - private final RuleCall cAttributesAttributeParserRuleCall_2_0_0 = (RuleCall)cAttributesAssignment_2_0.eContents().get(0); - private final Assignment cOperationsAssignment_2_1 = (Assignment)cAlternatives_2.eContents().get(1); - private final RuleCall cOperationsOperationParserRuleCall_2_1_0 = (RuleCall)cOperationsAssignment_2_1.eContents().get(0); - private final Assignment cMsgHandlersAssignment_2_2 = (Assignment)cAlternatives_2.eContents().get(2); - private final RuleCall cMsgHandlersMessageHandlerParserRuleCall_2_2_0 = (RuleCall)cMsgHandlersAssignment_2_2.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); - - //PortClass: - // "{" ("usercode" userCode=DetailCode)? (attributes+=Attribute | operations+=Operation | msgHandlers+=MessageHandler)+ - // "}"; - public ParserRule getRule() { return rule; } - - //"{" ("usercode" userCode=DetailCode)? (attributes+=Attribute | operations+=Operation | msgHandlers+=MessageHandler)+ "}" - public Group getGroup() { return cGroup; } - - //"{" - public Keyword getLeftCurlyBracketKeyword_0() { return cLeftCurlyBracketKeyword_0; } - - //("usercode" userCode=DetailCode)? - public Group getGroup_1() { return cGroup_1; } - - //"usercode" - public Keyword getUsercodeKeyword_1_0() { return cUsercodeKeyword_1_0; } - - //userCode=DetailCode - public Assignment getUserCodeAssignment_1_1() { return cUserCodeAssignment_1_1; } - - //DetailCode - public RuleCall getUserCodeDetailCodeParserRuleCall_1_1_0() { return cUserCodeDetailCodeParserRuleCall_1_1_0; } - - //(attributes+=Attribute | operations+=Operation | msgHandlers+=MessageHandler)+ - public Alternatives getAlternatives_2() { return cAlternatives_2; } - - //attributes+=Attribute - public Assignment getAttributesAssignment_2_0() { return cAttributesAssignment_2_0; } - - //Attribute - public RuleCall getAttributesAttributeParserRuleCall_2_0_0() { return cAttributesAttributeParserRuleCall_2_0_0; } - - //operations+=Operation - public Assignment getOperationsAssignment_2_1() { return cOperationsAssignment_2_1; } - - //Operation - public RuleCall getOperationsOperationParserRuleCall_2_1_0() { return cOperationsOperationParserRuleCall_2_1_0; } - - //msgHandlers+=MessageHandler - public Assignment getMsgHandlersAssignment_2_2() { return cMsgHandlersAssignment_2_2; } - - //MessageHandler - public RuleCall getMsgHandlersMessageHandlerParserRuleCall_2_2_0() { return cMsgHandlersMessageHandlerParserRuleCall_2_2_0; } - - //"}" - public Keyword getRightCurlyBracketKeyword_3() { return cRightCurlyBracketKeyword_3; } - } - - public class MessageHandlerElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "MessageHandler"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cHandleKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cMsgAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final CrossReference cMsgMessageCrossReference_1_0 = (CrossReference)cMsgAssignment_1.eContents().get(0); - private final RuleCall cMsgMessageIDTerminalRuleCall_1_0_1 = (RuleCall)cMsgMessageCrossReference_1_0.eContents().get(1); - private final Assignment cDetailCodeAssignment_2 = (Assignment)cGroup.eContents().get(2); - private final RuleCall cDetailCodeDetailCodeParserRuleCall_2_0 = (RuleCall)cDetailCodeAssignment_2.eContents().get(0); - - //MessageHandler: - // "handle" msg=[Message] detailCode=DetailCode; - public ParserRule getRule() { return rule; } - - //"handle" msg=[Message] detailCode=DetailCode - public Group getGroup() { return cGroup; } - - //"handle" - public Keyword getHandleKeyword_0() { return cHandleKeyword_0; } - - //msg=[Message] - public Assignment getMsgAssignment_1() { return cMsgAssignment_1; } - - //[Message] - public CrossReference getMsgMessageCrossReference_1_0() { return cMsgMessageCrossReference_1_0; } - - //ID - public RuleCall getMsgMessageIDTerminalRuleCall_1_0_1() { return cMsgMessageIDTerminalRuleCall_1_0_1; } - - //detailCode=DetailCode - public Assignment getDetailCodeAssignment_2() { return cDetailCodeAssignment_2; } - - //DetailCode - public RuleCall getDetailCodeDetailCodeParserRuleCall_2_0() { return cDetailCodeDetailCodeParserRuleCall_2_0; } - } - - public class ProtocolSemanticsElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ProtocolSemantics"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cSemanticsKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); - private final Assignment cRulesAssignment_2 = (Assignment)cGroup.eContents().get(2); - private final RuleCall cRulesSemanticsRuleParserRuleCall_2_0 = (RuleCall)cRulesAssignment_2.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); - - //ProtocolSemantics: - // "semantics" "{" rules+=SemanticsRule+ "}"; - public ParserRule getRule() { return rule; } - - //"semantics" "{" rules+=SemanticsRule+ "}" - public Group getGroup() { return cGroup; } - - //"semantics" - public Keyword getSemanticsKeyword_0() { return cSemanticsKeyword_0; } - - //"{" - public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } - - //rules+=SemanticsRule+ - public Assignment getRulesAssignment_2() { return cRulesAssignment_2; } - - //SemanticsRule - public RuleCall getRulesSemanticsRuleParserRuleCall_2_0() { return cRulesSemanticsRuleParserRuleCall_2_0; } - - //"}" - public Keyword getRightCurlyBracketKeyword_3() { return cRightCurlyBracketKeyword_3; } - } - - public class SemanticsRuleElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SemanticsRule"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cSemanticsInRuleParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cSemanticsOutRuleParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - - //SemanticsRule: - // SemanticsInRule | SemanticsOutRule; - public ParserRule getRule() { return rule; } - - //SemanticsInRule | SemanticsOutRule - public Alternatives getAlternatives() { return cAlternatives; } - - //SemanticsInRule - public RuleCall getSemanticsInRuleParserRuleCall_0() { return cSemanticsInRuleParserRuleCall_0; } - - //SemanticsOutRule - public RuleCall getSemanticsOutRuleParserRuleCall_1() { return cSemanticsOutRuleParserRuleCall_1; } - } - - public class SemanticsInRuleElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SemanticsInRule"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cInKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cMsgAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final CrossReference cMsgMessageCrossReference_1_0 = (CrossReference)cMsgAssignment_1.eContents().get(0); - private final RuleCall cMsgMessageIDTerminalRuleCall_1_0_1 = (RuleCall)cMsgMessageCrossReference_1_0.eContents().get(1); - private final Keyword cHyphenMinusGreaterThanSignKeyword_2 = (Keyword)cGroup.eContents().get(2); - private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); - private final Assignment cFollowUpsAssignment_4 = (Assignment)cGroup.eContents().get(4); - private final RuleCall cFollowUpsSemanticsRuleParserRuleCall_4_0 = (RuleCall)cFollowUpsAssignment_4.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); - - //SemanticsInRule: - // "in" msg=[Message] "->" "{" followUps+=SemanticsRule* "}"; - public ParserRule getRule() { return rule; } - - //"in" msg=[Message] "->" "{" followUps+=SemanticsRule* "}" - public Group getGroup() { return cGroup; } - - //"in" - public Keyword getInKeyword_0() { return cInKeyword_0; } - - //msg=[Message] - public Assignment getMsgAssignment_1() { return cMsgAssignment_1; } - - //[Message] - public CrossReference getMsgMessageCrossReference_1_0() { return cMsgMessageCrossReference_1_0; } - - //ID - public RuleCall getMsgMessageIDTerminalRuleCall_1_0_1() { return cMsgMessageIDTerminalRuleCall_1_0_1; } - - //"->" - public Keyword getHyphenMinusGreaterThanSignKeyword_2() { return cHyphenMinusGreaterThanSignKeyword_2; } - - //"{" - public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; } - - //followUps+=SemanticsRule* - public Assignment getFollowUpsAssignment_4() { return cFollowUpsAssignment_4; } - - //SemanticsRule - public RuleCall getFollowUpsSemanticsRuleParserRuleCall_4_0() { return cFollowUpsSemanticsRuleParserRuleCall_4_0; } - - //"}" - public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; } - } - - public class SemanticsOutRuleElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SemanticsOutRule"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cOutKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cMsgAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final CrossReference cMsgMessageCrossReference_1_0 = (CrossReference)cMsgAssignment_1.eContents().get(0); - private final RuleCall cMsgMessageIDTerminalRuleCall_1_0_1 = (RuleCall)cMsgMessageCrossReference_1_0.eContents().get(1); - private final Keyword cHyphenMinusGreaterThanSignKeyword_2 = (Keyword)cGroup.eContents().get(2); - private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); - private final Assignment cFollowUpsAssignment_4 = (Assignment)cGroup.eContents().get(4); - private final RuleCall cFollowUpsSemanticsRuleParserRuleCall_4_0 = (RuleCall)cFollowUpsAssignment_4.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); - - //SemanticsOutRule: - // "out" msg=[Message] "->" "{" followUps+=SemanticsRule* "}"; - public ParserRule getRule() { return rule; } - - //"out" msg=[Message] "->" "{" followUps+=SemanticsRule* "}" - public Group getGroup() { return cGroup; } - - //"out" - public Keyword getOutKeyword_0() { return cOutKeyword_0; } - - //msg=[Message] - public Assignment getMsgAssignment_1() { return cMsgAssignment_1; } - - //[Message] - public CrossReference getMsgMessageCrossReference_1_0() { return cMsgMessageCrossReference_1_0; } - - //ID - public RuleCall getMsgMessageIDTerminalRuleCall_1_0_1() { return cMsgMessageIDTerminalRuleCall_1_0_1; } - - //"->" - public Keyword getHyphenMinusGreaterThanSignKeyword_2() { return cHyphenMinusGreaterThanSignKeyword_2; } - - //"{" - public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; } - - //followUps+=SemanticsRule* - public Assignment getFollowUpsAssignment_4() { return cFollowUpsAssignment_4; } - - //SemanticsRule - public RuleCall getFollowUpsSemanticsRuleParserRuleCall_4_0() { return cFollowUpsSemanticsRuleParserRuleCall_4_0; } - - //"}" - public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; } - } - - public class ActorClassElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ActorClass"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Assignment cAbstractAssignment_0 = (Assignment)cGroup.eContents().get(0); - private final Keyword cAbstractAbstractKeyword_0_0 = (Keyword)cAbstractAssignment_0.eContents().get(0); - private final Keyword cActorClassKeyword_1 = (Keyword)cGroup.eContents().get(1); - private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); - private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); - private final Group cGroup_3 = (Group)cGroup.eContents().get(3); - private final Keyword cExtendsKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); - private final Assignment cBaseAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); - private final CrossReference cBaseActorClassCrossReference_3_1_0 = (CrossReference)cBaseAssignment_3_1.eContents().get(0); - private final RuleCall cBaseActorClassFQNParserRuleCall_3_1_0_1 = (RuleCall)cBaseActorClassCrossReference_3_1_0.eContents().get(1); - private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); - private final Group cGroup_5 = (Group)cGroup.eContents().get(5); - private final Keyword cInterfaceKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); - private final Keyword cLeftCurlyBracketKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1); - private final Assignment cIfPortsAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2); - private final RuleCall cIfPortsPortParserRuleCall_5_2_0 = (RuleCall)cIfPortsAssignment_5_2.eContents().get(0); - private final Assignment cIfSPPsAssignment_5_3 = (Assignment)cGroup_5.eContents().get(3); - private final RuleCall cIfSPPsSPPRefParserRuleCall_5_3_0 = (RuleCall)cIfSPPsAssignment_5_3.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4); - private final Group cGroup_6 = (Group)cGroup.eContents().get(6); - private final Keyword cStructureKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0); - private final Keyword cLeftCurlyBracketKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1); - private final Group cGroup_6_2 = (Group)cGroup_6.eContents().get(2); - private final Keyword cUsercode1Keyword_6_2_0 = (Keyword)cGroup_6_2.eContents().get(0); - private final Assignment cUserCode1Assignment_6_2_1 = (Assignment)cGroup_6_2.eContents().get(1); - private final RuleCall cUserCode1DetailCodeParserRuleCall_6_2_1_0 = (RuleCall)cUserCode1Assignment_6_2_1.eContents().get(0); - private final Group cGroup_6_3 = (Group)cGroup_6.eContents().get(3); - private final Keyword cUsercode2Keyword_6_3_0 = (Keyword)cGroup_6_3.eContents().get(0); - private final Assignment cUserCode2Assignment_6_3_1 = (Assignment)cGroup_6_3.eContents().get(1); - private final RuleCall cUserCode2DetailCodeParserRuleCall_6_3_1_0 = (RuleCall)cUserCode2Assignment_6_3_1.eContents().get(0); - private final Alternatives cAlternatives_6_4 = (Alternatives)cGroup_6.eContents().get(4); - private final Assignment cIntPortsAssignment_6_4_0 = (Assignment)cAlternatives_6_4.eContents().get(0); - private final RuleCall cIntPortsPortParserRuleCall_6_4_0_0 = (RuleCall)cIntPortsAssignment_6_4_0.eContents().get(0); - private final Assignment cExtPortsAssignment_6_4_1 = (Assignment)cAlternatives_6_4.eContents().get(1); - private final RuleCall cExtPortsExternalPortParserRuleCall_6_4_1_0 = (RuleCall)cExtPortsAssignment_6_4_1.eContents().get(0); - private final Assignment cServiceImplementationsAssignment_6_5 = (Assignment)cGroup_6.eContents().get(5); - private final RuleCall cServiceImplementationsServiceImplementationParserRuleCall_6_5_0 = (RuleCall)cServiceImplementationsAssignment_6_5.eContents().get(0); - private final Assignment cStrSAPsAssignment_6_6 = (Assignment)cGroup_6.eContents().get(6); - private final RuleCall cStrSAPsSAPRefParserRuleCall_6_6_0 = (RuleCall)cStrSAPsAssignment_6_6.eContents().get(0); - private final Assignment cAttributesAssignment_6_7 = (Assignment)cGroup_6.eContents().get(7); - private final RuleCall cAttributesAttributeParserRuleCall_6_7_0 = (RuleCall)cAttributesAssignment_6_7.eContents().get(0); - private final Assignment cActorRefsAssignment_6_8 = (Assignment)cGroup_6.eContents().get(8); - private final RuleCall cActorRefsActorRefParserRuleCall_6_8_0 = (RuleCall)cActorRefsAssignment_6_8.eContents().get(0); - private final Assignment cBindingsAssignment_6_9 = (Assignment)cGroup_6.eContents().get(9); - private final RuleCall cBindingsBindingParserRuleCall_6_9_0 = (RuleCall)cBindingsAssignment_6_9.eContents().get(0); - private final Assignment cConnectionsAssignment_6_10 = (Assignment)cGroup_6.eContents().get(10); - private final RuleCall cConnectionsLayerConnectionParserRuleCall_6_10_0 = (RuleCall)cConnectionsAssignment_6_10.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_6_11 = (Keyword)cGroup_6.eContents().get(11); - private final Group cGroup_7 = (Group)cGroup.eContents().get(7); - private final Keyword cBehaviorKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0); - private final Keyword cLeftCurlyBracketKeyword_7_1 = (Keyword)cGroup_7.eContents().get(1); - private final Assignment cOperationsAssignment_7_2 = (Assignment)cGroup_7.eContents().get(2); - private final RuleCall cOperationsOperationParserRuleCall_7_2_0 = (RuleCall)cOperationsAssignment_7_2.eContents().get(0); - private final Assignment cStateMachineAssignment_7_3 = (Assignment)cGroup_7.eContents().get(3); - private final RuleCall cStateMachineStateMachineParserRuleCall_7_3_0 = (RuleCall)cStateMachineAssignment_7_3.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_7_4 = (Keyword)cGroup_7.eContents().get(4); - private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8); - - //// ************************************************************** - // - //// actor class - // - //// some notes on ports - // - //// - // - //// in ROOM ports can be contained in the structure and/or the interface - // - //// p in s ==> internal end port - // - //// p in i ==> relay port - // - //// p in i and p in s ==> external end port - // - //// since double containment is not supported we decided to define external ports as reference to interface ports - // - //ActorClass: - // abstract?="abstract"? "ActorClass" name=ID ("extends" base=[ActorClass|FQN])? "{" ("Interface" "{" ifPorts+=Port* - // ifSPPs+=SPPRef* "}")? ("Structure" "{" ("usercode1" userCode1=DetailCode)? ("usercode2" userCode2=DetailCode)? - // (intPorts+=Port | extPorts+=ExternalPort)* serviceImplementations+=ServiceImplementation* strSAPs+=SAPRef* - // attributes+=Attribute* actorRefs+=ActorRef* bindings+=Binding* connections+=LayerConnection* "}")? ("Behavior" "{" - // operations+=Operation* stateMachine=StateMachine? "}")? "}"; - public ParserRule getRule() { return rule; } - - //abstract?="abstract"? "ActorClass" name=ID ("extends" base=[ActorClass|FQN])? "{" ("Interface" "{" ifPorts+=Port* - //ifSPPs+=SPPRef* "}")? ("Structure" "{" ("usercode1" userCode1=DetailCode)? ("usercode2" userCode2=DetailCode)? - //(intPorts+=Port | extPorts+=ExternalPort)* serviceImplementations+=ServiceImplementation* strSAPs+=SAPRef* - //attributes+=Attribute* actorRefs+=ActorRef* bindings+=Binding* connections+=LayerConnection* "}")? ("Behavior" "{" - //operations+=Operation* stateMachine=StateMachine? "}")? "}" - public Group getGroup() { return cGroup; } - - //abstract?="abstract"? - public Assignment getAbstractAssignment_0() { return cAbstractAssignment_0; } - - //"abstract" - public Keyword getAbstractAbstractKeyword_0_0() { return cAbstractAbstractKeyword_0_0; } - - //"ActorClass" - public Keyword getActorClassKeyword_1() { return cActorClassKeyword_1; } - - //name=ID - public Assignment getNameAssignment_2() { return cNameAssignment_2; } - - //ID - public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; } - - //("extends" base=[ActorClass|FQN])? - public Group getGroup_3() { return cGroup_3; } - - //"extends" - public Keyword getExtendsKeyword_3_0() { return cExtendsKeyword_3_0; } - - //base=[ActorClass|FQN] - public Assignment getBaseAssignment_3_1() { return cBaseAssignment_3_1; } - - //[ActorClass|FQN] - public CrossReference getBaseActorClassCrossReference_3_1_0() { return cBaseActorClassCrossReference_3_1_0; } - - //FQN - public RuleCall getBaseActorClassFQNParserRuleCall_3_1_0_1() { return cBaseActorClassFQNParserRuleCall_3_1_0_1; } - - //"{" - public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; } - - //("Interface" "{" ifPorts+=Port* ifSPPs+=SPPRef* "}")? - public Group getGroup_5() { return cGroup_5; } - - //"Interface" - public Keyword getInterfaceKeyword_5_0() { return cInterfaceKeyword_5_0; } - - //"{" - public Keyword getLeftCurlyBracketKeyword_5_1() { return cLeftCurlyBracketKeyword_5_1; } - - //ifPorts+=Port* - public Assignment getIfPortsAssignment_5_2() { return cIfPortsAssignment_5_2; } - - //Port - public RuleCall getIfPortsPortParserRuleCall_5_2_0() { return cIfPortsPortParserRuleCall_5_2_0; } - - //ifSPPs+=SPPRef* - public Assignment getIfSPPsAssignment_5_3() { return cIfSPPsAssignment_5_3; } - - //SPPRef - public RuleCall getIfSPPsSPPRefParserRuleCall_5_3_0() { return cIfSPPsSPPRefParserRuleCall_5_3_0; } - - //"}" - public Keyword getRightCurlyBracketKeyword_5_4() { return cRightCurlyBracketKeyword_5_4; } - - //("Structure" "{" ("usercode1" userCode1=DetailCode)? ("usercode2" userCode2=DetailCode)? (intPorts+=Port | - //extPorts+=ExternalPort)* serviceImplementations+=ServiceImplementation* strSAPs+=SAPRef* attributes+=Attribute* - //actorRefs+=ActorRef* bindings+=Binding* connections+=LayerConnection* "}")? - public Group getGroup_6() { return cGroup_6; } - - //"Structure" - public Keyword getStructureKeyword_6_0() { return cStructureKeyword_6_0; } - - //"{" - public Keyword getLeftCurlyBracketKeyword_6_1() { return cLeftCurlyBracketKeyword_6_1; } - - //("usercode1" userCode1=DetailCode)? - public Group getGroup_6_2() { return cGroup_6_2; } - - //"usercode1" - public Keyword getUsercode1Keyword_6_2_0() { return cUsercode1Keyword_6_2_0; } - - //userCode1=DetailCode - public Assignment getUserCode1Assignment_6_2_1() { return cUserCode1Assignment_6_2_1; } - - //DetailCode - public RuleCall getUserCode1DetailCodeParserRuleCall_6_2_1_0() { return cUserCode1DetailCodeParserRuleCall_6_2_1_0; } - - //("usercode2" userCode2=DetailCode)? - public Group getGroup_6_3() { return cGroup_6_3; } - - //"usercode2" - public Keyword getUsercode2Keyword_6_3_0() { return cUsercode2Keyword_6_3_0; } - - //userCode2=DetailCode - public Assignment getUserCode2Assignment_6_3_1() { return cUserCode2Assignment_6_3_1; } - - //DetailCode - public RuleCall getUserCode2DetailCodeParserRuleCall_6_3_1_0() { return cUserCode2DetailCodeParserRuleCall_6_3_1_0; } - - //(intPorts+=Port | extPorts+=ExternalPort)* - public Alternatives getAlternatives_6_4() { return cAlternatives_6_4; } - - //intPorts+=Port - public Assignment getIntPortsAssignment_6_4_0() { return cIntPortsAssignment_6_4_0; } - - //Port - public RuleCall getIntPortsPortParserRuleCall_6_4_0_0() { return cIntPortsPortParserRuleCall_6_4_0_0; } - - //extPorts+=ExternalPort - public Assignment getExtPortsAssignment_6_4_1() { return cExtPortsAssignment_6_4_1; } - - //ExternalPort - public RuleCall getExtPortsExternalPortParserRuleCall_6_4_1_0() { return cExtPortsExternalPortParserRuleCall_6_4_1_0; } - - //serviceImplementations+=ServiceImplementation* - public Assignment getServiceImplementationsAssignment_6_5() { return cServiceImplementationsAssignment_6_5; } - - //ServiceImplementation - public RuleCall getServiceImplementationsServiceImplementationParserRuleCall_6_5_0() { return cServiceImplementationsServiceImplementationParserRuleCall_6_5_0; } - - //strSAPs+=SAPRef* - public Assignment getStrSAPsAssignment_6_6() { return cStrSAPsAssignment_6_6; } - - //SAPRef - public RuleCall getStrSAPsSAPRefParserRuleCall_6_6_0() { return cStrSAPsSAPRefParserRuleCall_6_6_0; } - - //attributes+=Attribute* - public Assignment getAttributesAssignment_6_7() { return cAttributesAssignment_6_7; } - - //Attribute - public RuleCall getAttributesAttributeParserRuleCall_6_7_0() { return cAttributesAttributeParserRuleCall_6_7_0; } - - //actorRefs+=ActorRef* - public Assignment getActorRefsAssignment_6_8() { return cActorRefsAssignment_6_8; } - - //ActorRef - public RuleCall getActorRefsActorRefParserRuleCall_6_8_0() { return cActorRefsActorRefParserRuleCall_6_8_0; } - - //bindings+=Binding* - public Assignment getBindingsAssignment_6_9() { return cBindingsAssignment_6_9; } - - //Binding - public RuleCall getBindingsBindingParserRuleCall_6_9_0() { return cBindingsBindingParserRuleCall_6_9_0; } - - //connections+=LayerConnection* - public Assignment getConnectionsAssignment_6_10() { return cConnectionsAssignment_6_10; } - - //LayerConnection - public RuleCall getConnectionsLayerConnectionParserRuleCall_6_10_0() { return cConnectionsLayerConnectionParserRuleCall_6_10_0; } - - //"}" - public Keyword getRightCurlyBracketKeyword_6_11() { return cRightCurlyBracketKeyword_6_11; } - - //("Behavior" "{" operations+=Operation* stateMachine=StateMachine? "}")? - public Group getGroup_7() { return cGroup_7; } - - //"Behavior" - public Keyword getBehaviorKeyword_7_0() { return cBehaviorKeyword_7_0; } - - //"{" - public Keyword getLeftCurlyBracketKeyword_7_1() { return cLeftCurlyBracketKeyword_7_1; } - - //operations+=Operation* - public Assignment getOperationsAssignment_7_2() { return cOperationsAssignment_7_2; } - - //Operation - public RuleCall getOperationsOperationParserRuleCall_7_2_0() { return cOperationsOperationParserRuleCall_7_2_0; } - - //stateMachine=StateMachine? - public Assignment getStateMachineAssignment_7_3() { return cStateMachineAssignment_7_3; } - - //StateMachine - public RuleCall getStateMachineStateMachineParserRuleCall_7_3_0() { return cStateMachineStateMachineParserRuleCall_7_3_0; } - - //"}" - public Keyword getRightCurlyBracketKeyword_7_4() { return cRightCurlyBracketKeyword_7_4; } - - //"}" - public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; } - } - - public class InterfaceItemElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "InterfaceItem"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cPortParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cSAPRefParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - private final RuleCall cSPPRefParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); - - //InterfaceItem: - // Port | SAPRef | SPPRef; - public ParserRule getRule() { return rule; } - - //Port | SAPRef | SPPRef - public Alternatives getAlternatives() { return cAlternatives; } - - //Port - public RuleCall getPortParserRuleCall_0() { return cPortParserRuleCall_0; } - - //SAPRef - public RuleCall getSAPRefParserRuleCall_1() { return cSAPRefParserRuleCall_1; } - - //SPPRef - public RuleCall getSPPRefParserRuleCall_2() { return cSPPRefParserRuleCall_2; } - } - - public class PortElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Port"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Assignment cConjugatedAssignment_0 = (Assignment)cGroup.eContents().get(0); - private final Keyword cConjugatedConjugatedKeyword_0_0 = (Keyword)cConjugatedAssignment_0.eContents().get(0); - private final Keyword cPortKeyword_1 = (Keyword)cGroup.eContents().get(1); - private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); - private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); - private final Group cGroup_3 = (Group)cGroup.eContents().get(3); - private final Keyword cLeftSquareBracketKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); - private final Assignment cMultiplicityAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); - private final RuleCall cMultiplicityINTTerminalRuleCall_3_1_0 = (RuleCall)cMultiplicityAssignment_3_1.eContents().get(0); - private final Keyword cRightSquareBracketKeyword_3_2 = (Keyword)cGroup_3.eContents().get(2); - private final Keyword cColonKeyword_4 = (Keyword)cGroup.eContents().get(4); - private final Assignment cProtocolAssignment_5 = (Assignment)cGroup.eContents().get(5); - private final CrossReference cProtocolProtocolClassCrossReference_5_0 = (CrossReference)cProtocolAssignment_5.eContents().get(0); - private final RuleCall cProtocolProtocolClassFQNParserRuleCall_5_0_1 = (RuleCall)cProtocolProtocolClassCrossReference_5_0.eContents().get(1); - - //Port: - // conjugated?="conjugated"? "Port" name=ID ("[" multiplicity=INT "]")? ":" protocol=[ProtocolClass|FQN]; - public ParserRule getRule() { return rule; } - - //conjugated?="conjugated"? "Port" name=ID ("[" multiplicity=INT "]")? ":" protocol=[ProtocolClass|FQN] - public Group getGroup() { return cGroup; } - - //conjugated?="conjugated"? - public Assignment getConjugatedAssignment_0() { return cConjugatedAssignment_0; } - - //"conjugated" - public Keyword getConjugatedConjugatedKeyword_0_0() { return cConjugatedConjugatedKeyword_0_0; } - - //"Port" - public Keyword getPortKeyword_1() { return cPortKeyword_1; } - - //name=ID - public Assignment getNameAssignment_2() { return cNameAssignment_2; } - - //ID - public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; } - - //("[" multiplicity=INT "]")? - public Group getGroup_3() { return cGroup_3; } - - //"[" - public Keyword getLeftSquareBracketKeyword_3_0() { return cLeftSquareBracketKeyword_3_0; } - - //multiplicity=INT - public Assignment getMultiplicityAssignment_3_1() { return cMultiplicityAssignment_3_1; } - - //INT - public RuleCall getMultiplicityINTTerminalRuleCall_3_1_0() { return cMultiplicityINTTerminalRuleCall_3_1_0; } - - //"]" - public Keyword getRightSquareBracketKeyword_3_2() { return cRightSquareBracketKeyword_3_2; } - - //":" - public Keyword getColonKeyword_4() { return cColonKeyword_4; } - - //protocol=[ProtocolClass|FQN] - public Assignment getProtocolAssignment_5() { return cProtocolAssignment_5; } - - //[ProtocolClass|FQN] - public CrossReference getProtocolProtocolClassCrossReference_5_0() { return cProtocolProtocolClassCrossReference_5_0; } - - //FQN - public RuleCall getProtocolProtocolClassFQNParserRuleCall_5_0_1() { return cProtocolProtocolClassFQNParserRuleCall_5_0_1; } - } - - public class ExternalPortElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ExternalPort"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cExternalKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Keyword cPortKeyword_1 = (Keyword)cGroup.eContents().get(1); - private final Assignment cIfportAssignment_2 = (Assignment)cGroup.eContents().get(2); - private final CrossReference cIfportPortCrossReference_2_0 = (CrossReference)cIfportAssignment_2.eContents().get(0); - private final RuleCall cIfportPortIDTerminalRuleCall_2_0_1 = (RuleCall)cIfportPortCrossReference_2_0.eContents().get(1); - - //ExternalPort: - // "external" "Port" ifport=[Port]; - public ParserRule getRule() { return rule; } - - //"external" "Port" ifport=[Port] - public Group getGroup() { return cGroup; } - - //"external" - public Keyword getExternalKeyword_0() { return cExternalKeyword_0; } - - //"Port" - public Keyword getPortKeyword_1() { return cPortKeyword_1; } - - //ifport=[Port] - public Assignment getIfportAssignment_2() { return cIfportAssignment_2; } - - //[Port] - public CrossReference getIfportPortCrossReference_2_0() { return cIfportPortCrossReference_2_0; } - - //ID - public RuleCall getIfportPortIDTerminalRuleCall_2_0_1() { return cIfportPortIDTerminalRuleCall_2_0_1; } - } - - public class SAPRefElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SAPRef"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cSAPKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); - private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2); - private final Assignment cProtocolAssignment_3 = (Assignment)cGroup.eContents().get(3); - private final CrossReference cProtocolProtocolClassCrossReference_3_0 = (CrossReference)cProtocolAssignment_3.eContents().get(0); - private final RuleCall cProtocolProtocolClassFQNParserRuleCall_3_0_1 = (RuleCall)cProtocolProtocolClassCrossReference_3_0.eContents().get(1); - - //SAPRef: // we omitted the SAP type (Timing/Frame/Exception) - // - // "SAP" name=ID ":" protocol=[ProtocolClass|FQN]; - public ParserRule getRule() { return rule; } - - //// we omitted the SAP type (Timing/Frame/Exception) - // - //"SAP" name=ID ":" protocol=[ProtocolClass|FQN] - public Group getGroup() { return cGroup; } - - //// we omitted the SAP type (Timing/Frame/Exception) - // - //"SAP" - public Keyword getSAPKeyword_0() { return cSAPKeyword_0; } - - //name=ID - public Assignment getNameAssignment_1() { return cNameAssignment_1; } - - //ID - public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } - - //":" - public Keyword getColonKeyword_2() { return cColonKeyword_2; } - - //protocol=[ProtocolClass|FQN] - public Assignment getProtocolAssignment_3() { return cProtocolAssignment_3; } - - //[ProtocolClass|FQN] - public CrossReference getProtocolProtocolClassCrossReference_3_0() { return cProtocolProtocolClassCrossReference_3_0; } - - //FQN - public RuleCall getProtocolProtocolClassFQNParserRuleCall_3_0_1() { return cProtocolProtocolClassFQNParserRuleCall_3_0_1; } - } - - public class SPPRefElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SPPRef"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cSPPKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); - private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2); - private final Assignment cProtocolAssignment_3 = (Assignment)cGroup.eContents().get(3); - private final CrossReference cProtocolProtocolClassCrossReference_3_0 = (CrossReference)cProtocolAssignment_3.eContents().get(0); - private final RuleCall cProtocolProtocolClassFQNParserRuleCall_3_0_1 = (RuleCall)cProtocolProtocolClassCrossReference_3_0.eContents().get(1); - - //SPPRef: - // "SPP" name=ID ":" protocol=[ProtocolClass|FQN]; - public ParserRule getRule() { return rule; } - - //"SPP" name=ID ":" protocol=[ProtocolClass|FQN] - public Group getGroup() { return cGroup; } - - //"SPP" - public Keyword getSPPKeyword_0() { return cSPPKeyword_0; } - - //name=ID - public Assignment getNameAssignment_1() { return cNameAssignment_1; } - - //ID - public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } - - //":" - public Keyword getColonKeyword_2() { return cColonKeyword_2; } - - //protocol=[ProtocolClass|FQN] - public Assignment getProtocolAssignment_3() { return cProtocolAssignment_3; } - - //[ProtocolClass|FQN] - public CrossReference getProtocolProtocolClassCrossReference_3_0() { return cProtocolProtocolClassCrossReference_3_0; } - - //FQN - public RuleCall getProtocolProtocolClassFQNParserRuleCall_3_0_1() { return cProtocolProtocolClassFQNParserRuleCall_3_0_1; } - } - - public class ServiceImplementationElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ServiceImplementation"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cServiceImplementationKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Keyword cOfKeyword_1 = (Keyword)cGroup.eContents().get(1); - private final Assignment cSppAssignment_2 = (Assignment)cGroup.eContents().get(2); - private final CrossReference cSppSPPRefCrossReference_2_0 = (CrossReference)cSppAssignment_2.eContents().get(0); - private final RuleCall cSppSPPRefIDTerminalRuleCall_2_0_1 = (RuleCall)cSppSPPRefCrossReference_2_0.eContents().get(1); - - //ServiceImplementation: - // "ServiceImplementation" "of" spp=[SPPRef]; - public ParserRule getRule() { return rule; } - - //"ServiceImplementation" "of" spp=[SPPRef] - public Group getGroup() { return cGroup; } - - //"ServiceImplementation" - public Keyword getServiceImplementationKeyword_0() { return cServiceImplementationKeyword_0; } - - //"of" - public Keyword getOfKeyword_1() { return cOfKeyword_1; } - - //spp=[SPPRef] - public Assignment getSppAssignment_2() { return cSppAssignment_2; } - - //[SPPRef] - public CrossReference getSppSPPRefCrossReference_2_0() { return cSppSPPRefCrossReference_2_0; } - - //ID - public RuleCall getSppSPPRefIDTerminalRuleCall_2_0_1() { return cSppSPPRefIDTerminalRuleCall_2_0_1; } - } - - public class LogicalSystemElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LogicalSystem"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cLogicalSystemKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); - private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); - private final Assignment cSubSystemsAssignment_3 = (Assignment)cGroup.eContents().get(3); - private final RuleCall cSubSystemsSubSystemRefParserRuleCall_3_0 = (RuleCall)cSubSystemsAssignment_3.eContents().get(0); - private final Assignment cBindingsAssignment_4 = (Assignment)cGroup.eContents().get(4); - private final RuleCall cBindingsBindingParserRuleCall_4_0 = (RuleCall)cBindingsAssignment_4.eContents().get(0); - private final Assignment cConnectionsAssignment_5 = (Assignment)cGroup.eContents().get(5); - private final RuleCall cConnectionsLayerConnectionParserRuleCall_5_0 = (RuleCall)cConnectionsAssignment_5.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); - - //LogicalSystem: - // "LogicalSystem" name=ID "{" subSystems+=SubSystemRef+ bindings+=Binding* connections+=LayerConnection* "}"; - public ParserRule getRule() { return rule; } - - //"LogicalSystem" name=ID "{" subSystems+=SubSystemRef+ bindings+=Binding* connections+=LayerConnection* "}" - public Group getGroup() { return cGroup; } - - //"LogicalSystem" - public Keyword getLogicalSystemKeyword_0() { return cLogicalSystemKeyword_0; } - - //name=ID - public Assignment getNameAssignment_1() { return cNameAssignment_1; } - - //ID - public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } - - //"{" - public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } - - //subSystems+=SubSystemRef+ - public Assignment getSubSystemsAssignment_3() { return cSubSystemsAssignment_3; } - - //SubSystemRef - public RuleCall getSubSystemsSubSystemRefParserRuleCall_3_0() { return cSubSystemsSubSystemRefParserRuleCall_3_0; } - - //bindings+=Binding* - public Assignment getBindingsAssignment_4() { return cBindingsAssignment_4; } - - //Binding - public RuleCall getBindingsBindingParserRuleCall_4_0() { return cBindingsBindingParserRuleCall_4_0; } - - //connections+=LayerConnection* - public Assignment getConnectionsAssignment_5() { return cConnectionsAssignment_5; } - - //LayerConnection - public RuleCall getConnectionsLayerConnectionParserRuleCall_5_0() { return cConnectionsLayerConnectionParserRuleCall_5_0; } - - //"}" - public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } - } - - public class ActorContainerRefElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ActorContainerRef"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cSubSystemRefParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cActorRefParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - - //ActorContainerRef: - // SubSystemRef | ActorRef; - public ParserRule getRule() { return rule; } - - //SubSystemRef | ActorRef - public Alternatives getAlternatives() { return cAlternatives; } - - //SubSystemRef - public RuleCall getSubSystemRefParserRuleCall_0() { return cSubSystemRefParserRuleCall_0; } - - //ActorRef - public RuleCall getActorRefParserRuleCall_1() { return cActorRefParserRuleCall_1; } - } - - public class SubSystemRefElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SubSystemRef"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cSubSystemRefKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); - private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2); - private final Assignment cTypeAssignment_3 = (Assignment)cGroup.eContents().get(3); - private final CrossReference cTypeSubSystemClassCrossReference_3_0 = (CrossReference)cTypeAssignment_3.eContents().get(0); - private final RuleCall cTypeSubSystemClassFQNParserRuleCall_3_0_1 = (RuleCall)cTypeSubSystemClassCrossReference_3_0.eContents().get(1); - - //SubSystemRef: - // "SubSystemRef" name=ID ":" type=[SubSystemClass|FQN]; - public ParserRule getRule() { return rule; } - - //"SubSystemRef" name=ID ":" type=[SubSystemClass|FQN] - public Group getGroup() { return cGroup; } - - //"SubSystemRef" - public Keyword getSubSystemRefKeyword_0() { return cSubSystemRefKeyword_0; } - - //name=ID - public Assignment getNameAssignment_1() { return cNameAssignment_1; } - - //ID - public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } - - //":" - public Keyword getColonKeyword_2() { return cColonKeyword_2; } - - //type=[SubSystemClass|FQN] - public Assignment getTypeAssignment_3() { return cTypeAssignment_3; } - - //[SubSystemClass|FQN] - public CrossReference getTypeSubSystemClassCrossReference_3_0() { return cTypeSubSystemClassCrossReference_3_0; } - - //FQN - public RuleCall getTypeSubSystemClassFQNParserRuleCall_3_0_1() { return cTypeSubSystemClassFQNParserRuleCall_3_0_1; } - } - - public class SubSystemClassElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SubSystemClass"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cSubSystemClassKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); - private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); - private final Assignment cRelayPortsAssignment_3 = (Assignment)cGroup.eContents().get(3); - private final RuleCall cRelayPortsPortParserRuleCall_3_0 = (RuleCall)cRelayPortsAssignment_3.eContents().get(0); - private final Assignment cIfSPPsAssignment_4 = (Assignment)cGroup.eContents().get(4); - private final RuleCall cIfSPPsSPPRefParserRuleCall_4_0 = (RuleCall)cIfSPPsAssignment_4.eContents().get(0); - private final Assignment cActorRefsAssignment_5 = (Assignment)cGroup.eContents().get(5); - private final RuleCall cActorRefsActorRefParserRuleCall_5_0 = (RuleCall)cActorRefsAssignment_5.eContents().get(0); - private final Assignment cBindingsAssignment_6 = (Assignment)cGroup.eContents().get(6); - private final RuleCall cBindingsBindingParserRuleCall_6_0 = (RuleCall)cBindingsAssignment_6.eContents().get(0); - private final Assignment cConnectionsAssignment_7 = (Assignment)cGroup.eContents().get(7); - private final RuleCall cConnectionsLayerConnectionParserRuleCall_7_0 = (RuleCall)cConnectionsAssignment_7.eContents().get(0); - private final Assignment cThreadsAssignment_8 = (Assignment)cGroup.eContents().get(8); - private final RuleCall cThreadsLogicalThreadParserRuleCall_8_0 = (RuleCall)cThreadsAssignment_8.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_9 = (Keyword)cGroup.eContents().get(9); - - //SubSystemClass: - // "SubSystemClass" name=ID "{" relayPorts+=Port* ifSPPs+=SPPRef* actorRefs+=ActorRef+ bindings+=Binding* - // connections+=LayerConnection* threads+=LogicalThread* "}"; - public ParserRule getRule() { return rule; } - - //"SubSystemClass" name=ID "{" relayPorts+=Port* ifSPPs+=SPPRef* actorRefs+=ActorRef+ bindings+=Binding* - //connections+=LayerConnection* threads+=LogicalThread* "}" - public Group getGroup() { return cGroup; } - - //"SubSystemClass" - public Keyword getSubSystemClassKeyword_0() { return cSubSystemClassKeyword_0; } - - //name=ID - public Assignment getNameAssignment_1() { return cNameAssignment_1; } - - //ID - public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } - - //"{" - public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } - - //relayPorts+=Port* - public Assignment getRelayPortsAssignment_3() { return cRelayPortsAssignment_3; } - - //Port - public RuleCall getRelayPortsPortParserRuleCall_3_0() { return cRelayPortsPortParserRuleCall_3_0; } - - //ifSPPs+=SPPRef* - public Assignment getIfSPPsAssignment_4() { return cIfSPPsAssignment_4; } - - //SPPRef - public RuleCall getIfSPPsSPPRefParserRuleCall_4_0() { return cIfSPPsSPPRefParserRuleCall_4_0; } - - //actorRefs+=ActorRef+ - public Assignment getActorRefsAssignment_5() { return cActorRefsAssignment_5; } - - //ActorRef - public RuleCall getActorRefsActorRefParserRuleCall_5_0() { return cActorRefsActorRefParserRuleCall_5_0; } - - //bindings+=Binding* - public Assignment getBindingsAssignment_6() { return cBindingsAssignment_6; } - - //Binding - public RuleCall getBindingsBindingParserRuleCall_6_0() { return cBindingsBindingParserRuleCall_6_0; } - - //connections+=LayerConnection* - public Assignment getConnectionsAssignment_7() { return cConnectionsAssignment_7; } - - //LayerConnection - public RuleCall getConnectionsLayerConnectionParserRuleCall_7_0() { return cConnectionsLayerConnectionParserRuleCall_7_0; } - - //threads+=LogicalThread* - public Assignment getThreadsAssignment_8() { return cThreadsAssignment_8; } - - //LogicalThread - public RuleCall getThreadsLogicalThreadParserRuleCall_8_0() { return cThreadsLogicalThreadParserRuleCall_8_0; } - - //"}" - public Keyword getRightCurlyBracketKeyword_9() { return cRightCurlyBracketKeyword_9; } - } - - public class LogicalThreadElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LogicalThread"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cLogicalThreadKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); - private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); - private final Assignment cInstancesAssignment_3 = (Assignment)cGroup.eContents().get(3); - private final RuleCall cInstancesActorInstancePathParserRuleCall_3_0 = (RuleCall)cInstancesAssignment_3.eContents().get(0); - private final Group cGroup_4 = (Group)cGroup.eContents().get(4); - private final Keyword cCommaKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); - private final Assignment cInstancesAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); - private final RuleCall cInstancesActorInstancePathParserRuleCall_4_1_0 = (RuleCall)cInstancesAssignment_4_1.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5); - - //LogicalThread: - // "LogicalThread" name=ID "{" instances+=ActorInstancePath ("," instances+=ActorInstancePath)* "}"; - public ParserRule getRule() { return rule; } - - //"LogicalThread" name=ID "{" instances+=ActorInstancePath ("," instances+=ActorInstancePath)* "}" - public Group getGroup() { return cGroup; } - - //"LogicalThread" - public Keyword getLogicalThreadKeyword_0() { return cLogicalThreadKeyword_0; } - - //name=ID - public Assignment getNameAssignment_1() { return cNameAssignment_1; } - - //ID - public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } - - //"{" - public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } - - //instances+=ActorInstancePath - public Assignment getInstancesAssignment_3() { return cInstancesAssignment_3; } - - //ActorInstancePath - public RuleCall getInstancesActorInstancePathParserRuleCall_3_0() { return cInstancesActorInstancePathParserRuleCall_3_0; } - - //("," instances+=ActorInstancePath)* - public Group getGroup_4() { return cGroup_4; } - - //"," - public Keyword getCommaKeyword_4_0() { return cCommaKeyword_4_0; } - - //instances+=ActorInstancePath - public Assignment getInstancesAssignment_4_1() { return cInstancesAssignment_4_1; } - - //ActorInstancePath - public RuleCall getInstancesActorInstancePathParserRuleCall_4_1_0() { return cInstancesActorInstancePathParserRuleCall_4_1_0; } - - //"}" - public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; } - } - - public class ActorInstancePathElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ActorInstancePath"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Assignment cSegmentsAssignment_0 = (Assignment)cGroup.eContents().get(0); - private final RuleCall cSegmentsIDTerminalRuleCall_0_0 = (RuleCall)cSegmentsAssignment_0.eContents().get(0); - private final Group cGroup_1 = (Group)cGroup.eContents().get(1); - private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); - private final Assignment cSegmentsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1); - private final RuleCall cSegmentsIDTerminalRuleCall_1_1_0 = (RuleCall)cSegmentsAssignment_1_1.eContents().get(0); - - //ActorInstancePath: - // segments+=ID ("." segments+=ID)*; - public ParserRule getRule() { return rule; } - - //segments+=ID ("." segments+=ID)* - public Group getGroup() { return cGroup; } - - //segments+=ID - public Assignment getSegmentsAssignment_0() { return cSegmentsAssignment_0; } - - //ID - public RuleCall getSegmentsIDTerminalRuleCall_0_0() { return cSegmentsIDTerminalRuleCall_0_0; } - - //("." segments+=ID)* - public Group getGroup_1() { return cGroup_1; } - - //"." - public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; } - - //segments+=ID - public Assignment getSegmentsAssignment_1_1() { return cSegmentsAssignment_1_1; } - - //ID - public RuleCall getSegmentsIDTerminalRuleCall_1_1_0() { return cSegmentsIDTerminalRuleCall_1_1_0; } - } - - public class BindingElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Binding"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cBindingKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cEndpoint1Assignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cEndpoint1BindingEndPointParserRuleCall_1_0 = (RuleCall)cEndpoint1Assignment_1.eContents().get(0); - private final Keyword cAndKeyword_2 = (Keyword)cGroup.eContents().get(2); - private final Assignment cEndpoint2Assignment_3 = (Assignment)cGroup.eContents().get(3); - private final RuleCall cEndpoint2BindingEndPointParserRuleCall_3_0 = (RuleCall)cEndpoint2Assignment_3.eContents().get(0); - - //// TODOHRR: bindings for replicated ports - // - //// (1) declare several bindings - // - //// (2) use a notation with 1 to n bindings - // - //Binding: - // "Binding" endpoint1=BindingEndPoint "and" endpoint2=BindingEndPoint; - public ParserRule getRule() { return rule; } - - //"Binding" endpoint1=BindingEndPoint "and" endpoint2=BindingEndPoint - public Group getGroup() { return cGroup; } - - //"Binding" - public Keyword getBindingKeyword_0() { return cBindingKeyword_0; } - - //endpoint1=BindingEndPoint - public Assignment getEndpoint1Assignment_1() { return cEndpoint1Assignment_1; } - - //BindingEndPoint - public RuleCall getEndpoint1BindingEndPointParserRuleCall_1_0() { return cEndpoint1BindingEndPointParserRuleCall_1_0; } - - //"and" - public Keyword getAndKeyword_2() { return cAndKeyword_2; } - - //endpoint2=BindingEndPoint - public Assignment getEndpoint2Assignment_3() { return cEndpoint2Assignment_3; } - - //BindingEndPoint - public RuleCall getEndpoint2BindingEndPointParserRuleCall_3_0() { return cEndpoint2BindingEndPointParserRuleCall_3_0; } - } - - public class BindingEndPointElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BindingEndPoint"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Group cGroup_0 = (Group)cGroup.eContents().get(0); - private final Assignment cActorRefAssignment_0_0 = (Assignment)cGroup_0.eContents().get(0); - private final CrossReference cActorRefActorContainerRefCrossReference_0_0_0 = (CrossReference)cActorRefAssignment_0_0.eContents().get(0); - private final RuleCall cActorRefActorContainerRefIDTerminalRuleCall_0_0_0_1 = (RuleCall)cActorRefActorContainerRefCrossReference_0_0_0.eContents().get(1); - private final Keyword cFullStopKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1); - private final Assignment cPortAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final CrossReference cPortPortCrossReference_1_0 = (CrossReference)cPortAssignment_1.eContents().get(0); - private final RuleCall cPortPortIDTerminalRuleCall_1_0_1 = (RuleCall)cPortPortCrossReference_1_0.eContents().get(1); - - //BindingEndPoint: - // (actorRef=[ActorContainerRef] ".")? port=[Port]; - public ParserRule getRule() { return rule; } - - //(actorRef=[ActorContainerRef] ".")? port=[Port] - public Group getGroup() { return cGroup; } - - //(actorRef=[ActorContainerRef] ".")? - public Group getGroup_0() { return cGroup_0; } - - //actorRef=[ActorContainerRef] - public Assignment getActorRefAssignment_0_0() { return cActorRefAssignment_0_0; } - - //[ActorContainerRef] - public CrossReference getActorRefActorContainerRefCrossReference_0_0_0() { return cActorRefActorContainerRefCrossReference_0_0_0; } - - //ID - public RuleCall getActorRefActorContainerRefIDTerminalRuleCall_0_0_0_1() { return cActorRefActorContainerRefIDTerminalRuleCall_0_0_0_1; } - - //"." - public Keyword getFullStopKeyword_0_1() { return cFullStopKeyword_0_1; } - - //port=[Port] - public Assignment getPortAssignment_1() { return cPortAssignment_1; } - - //[Port] - public CrossReference getPortPortCrossReference_1_0() { return cPortPortCrossReference_1_0; } - - //ID - public RuleCall getPortPortIDTerminalRuleCall_1_0_1() { return cPortPortIDTerminalRuleCall_1_0_1; } - } - - public class LayerConnectionElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LayerConnection"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cLayerConnectionKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cFromAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cFromSAPointParserRuleCall_1_0 = (RuleCall)cFromAssignment_1.eContents().get(0); - private final Keyword cSatisfied_byKeyword_2 = (Keyword)cGroup.eContents().get(2); - private final Assignment cToAssignment_3 = (Assignment)cGroup.eContents().get(3); - private final RuleCall cToSPPointParserRuleCall_3_0 = (RuleCall)cToAssignment_3.eContents().get(0); - - //LayerConnection: - // "LayerConnection" from=SAPoint "satisfied_by" to=SPPoint; - public ParserRule getRule() { return rule; } - - //"LayerConnection" from=SAPoint "satisfied_by" to=SPPoint - public Group getGroup() { return cGroup; } - - //"LayerConnection" - public Keyword getLayerConnectionKeyword_0() { return cLayerConnectionKeyword_0; } - - //from=SAPoint - public Assignment getFromAssignment_1() { return cFromAssignment_1; } - - //SAPoint - public RuleCall getFromSAPointParserRuleCall_1_0() { return cFromSAPointParserRuleCall_1_0; } - - //"satisfied_by" - public Keyword getSatisfied_byKeyword_2() { return cSatisfied_byKeyword_2; } - - //to=SPPoint - public Assignment getToAssignment_3() { return cToAssignment_3; } - - //SPPoint - public RuleCall getToSPPointParserRuleCall_3_0() { return cToSPPointParserRuleCall_3_0; } - } - - public class SAPointElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SAPoint"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cRefSAPointParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cRelaySAPointParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - - //SAPoint: - // RefSAPoint | RelaySAPoint; - public ParserRule getRule() { return rule; } - - //RefSAPoint | RelaySAPoint - public Alternatives getAlternatives() { return cAlternatives; } - - //RefSAPoint - public RuleCall getRefSAPointParserRuleCall_0() { return cRefSAPointParserRuleCall_0; } - - //RelaySAPoint - public RuleCall getRelaySAPointParserRuleCall_1() { return cRelaySAPointParserRuleCall_1; } - } - - public class RefSAPointElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RefSAPoint"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cRefKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cRefAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final CrossReference cRefActorContainerRefCrossReference_1_0 = (CrossReference)cRefAssignment_1.eContents().get(0); - private final RuleCall cRefActorContainerRefIDTerminalRuleCall_1_0_1 = (RuleCall)cRefActorContainerRefCrossReference_1_0.eContents().get(1); - - //RefSAPoint: // satisfies a sub actor - // - // "ref" ref=[ActorContainerRef]; - public ParserRule getRule() { return rule; } - - //// satisfies a sub actor - // - //"ref" ref=[ActorContainerRef] - public Group getGroup() { return cGroup; } - - //// satisfies a sub actor - // - //"ref" - public Keyword getRefKeyword_0() { return cRefKeyword_0; } - - //ref=[ActorContainerRef] - public Assignment getRefAssignment_1() { return cRefAssignment_1; } - - //[ActorContainerRef] - public CrossReference getRefActorContainerRefCrossReference_1_0() { return cRefActorContainerRefCrossReference_1_0; } - - //ID - public RuleCall getRefActorContainerRefIDTerminalRuleCall_1_0_1() { return cRefActorContainerRefIDTerminalRuleCall_1_0_1; } - } - - public class RelaySAPointElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RelaySAPoint"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cRelay_sapKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cRelayAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final CrossReference cRelaySPPRefCrossReference_1_0 = (CrossReference)cRelayAssignment_1.eContents().get(0); - private final RuleCall cRelaySPPRefIDTerminalRuleCall_1_0_1 = (RuleCall)cRelaySPPRefCrossReference_1_0.eContents().get(1); - - //RelaySAPoint: // relays from own interface - // - // "relay_sap" relay=[SPPRef]; - public ParserRule getRule() { return rule; } - - //// relays from own interface - // - //"relay_sap" relay=[SPPRef] - public Group getGroup() { return cGroup; } - - //// relays from own interface - // - //"relay_sap" - public Keyword getRelay_sapKeyword_0() { return cRelay_sapKeyword_0; } - - //relay=[SPPRef] - public Assignment getRelayAssignment_1() { return cRelayAssignment_1; } - - //[SPPRef] - public CrossReference getRelaySPPRefCrossReference_1_0() { return cRelaySPPRefCrossReference_1_0; } - - //ID - public RuleCall getRelaySPPRefIDTerminalRuleCall_1_0_1() { return cRelaySPPRefIDTerminalRuleCall_1_0_1; } - } - - public class SPPointElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SPPoint"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Assignment cRefAssignment_0 = (Assignment)cGroup.eContents().get(0); - private final CrossReference cRefActorContainerRefCrossReference_0_0 = (CrossReference)cRefAssignment_0.eContents().get(0); - private final RuleCall cRefActorContainerRefIDTerminalRuleCall_0_0_1 = (RuleCall)cRefActorContainerRefCrossReference_0_0.eContents().get(1); - private final Keyword cFullStopKeyword_1 = (Keyword)cGroup.eContents().get(1); - private final Assignment cServiceAssignment_2 = (Assignment)cGroup.eContents().get(2); - private final CrossReference cServiceSPPRefCrossReference_2_0 = (CrossReference)cServiceAssignment_2.eContents().get(0); - private final RuleCall cServiceSPPRefIDTerminalRuleCall_2_0_1 = (RuleCall)cServiceSPPRefCrossReference_2_0.eContents().get(1); - - //SPPoint: - // ref=[ActorContainerRef] "." service=[SPPRef]; - public ParserRule getRule() { return rule; } - - //ref=[ActorContainerRef] "." service=[SPPRef] - public Group getGroup() { return cGroup; } - - //ref=[ActorContainerRef] - public Assignment getRefAssignment_0() { return cRefAssignment_0; } - - //[ActorContainerRef] - public CrossReference getRefActorContainerRefCrossReference_0_0() { return cRefActorContainerRefCrossReference_0_0; } - - //ID - public RuleCall getRefActorContainerRefIDTerminalRuleCall_0_0_1() { return cRefActorContainerRefIDTerminalRuleCall_0_0_1; } - - //"." - public Keyword getFullStopKeyword_1() { return cFullStopKeyword_1; } - - //service=[SPPRef] - public Assignment getServiceAssignment_2() { return cServiceAssignment_2; } - - //[SPPRef] - public CrossReference getServiceSPPRefCrossReference_2_0() { return cServiceSPPRefCrossReference_2_0; } - - //ID - public RuleCall getServiceSPPRefIDTerminalRuleCall_2_0_1() { return cServiceSPPRefIDTerminalRuleCall_2_0_1; } - } - - public class ActorRefElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ActorRef"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cActorRefKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); - private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2); - private final Assignment cTypeAssignment_3 = (Assignment)cGroup.eContents().get(3); - private final CrossReference cTypeActorClassCrossReference_3_0 = (CrossReference)cTypeAssignment_3.eContents().get(0); - private final RuleCall cTypeActorClassFQNParserRuleCall_3_0_1 = (RuleCall)cTypeActorClassCrossReference_3_0.eContents().get(1); - - //// TODOHRR: support replicated actors - // - //ActorRef: - // "ActorRef" name=ID ":" type=[ActorClass|FQN]; - public ParserRule getRule() { return rule; } - - //"ActorRef" name=ID ":" type=[ActorClass|FQN] - public Group getGroup() { return cGroup; } - - //"ActorRef" - public Keyword getActorRefKeyword_0() { return cActorRefKeyword_0; } - - //name=ID - public Assignment getNameAssignment_1() { return cNameAssignment_1; } - - //ID - public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } - - //":" - public Keyword getColonKeyword_2() { return cColonKeyword_2; } - - //type=[ActorClass|FQN] - public Assignment getTypeAssignment_3() { return cTypeAssignment_3; } - - //[ActorClass|FQN] - public CrossReference getTypeActorClassCrossReference_3_0() { return cTypeActorClassCrossReference_3_0; } - - //FQN - public RuleCall getTypeActorClassFQNParserRuleCall_3_0_1() { return cTypeActorClassFQNParserRuleCall_3_0_1; } - } - - public class StateGraphNodeElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StateGraphNode"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cStateParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cChoicePointParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - private final RuleCall cTrPointParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); - - //// ************************************************************** - // - //// state machine - // - //StateGraphNode: - // State | ChoicePoint | TrPoint; - public ParserRule getRule() { return rule; } - - //State | ChoicePoint | TrPoint - public Alternatives getAlternatives() { return cAlternatives; } - - //State - public RuleCall getStateParserRuleCall_0() { return cStateParserRuleCall_0; } - - //ChoicePoint - public RuleCall getChoicePointParserRuleCall_1() { return cChoicePointParserRuleCall_1; } - - //TrPoint - public RuleCall getTrPointParserRuleCall_2() { return cTrPointParserRuleCall_2; } - } - - public class StateGraphItemElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StateGraphItem"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cStateGraphNodeParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cTransitionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - - //StateGraphItem: - // StateGraphNode | Transition; - public ParserRule getRule() { return rule; } - - //StateGraphNode | Transition - public Alternatives getAlternatives() { return cAlternatives; } - - //StateGraphNode - public RuleCall getStateGraphNodeParserRuleCall_0() { return cStateGraphNodeParserRuleCall_0; } - - //Transition - public RuleCall getTransitionParserRuleCall_1() { return cTransitionParserRuleCall_1; } - } - - public class StateElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "State"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cBaseStateParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cRefinedStateParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - - //State: - // BaseState | RefinedState; - public ParserRule getRule() { return rule; } - - //BaseState | RefinedState - public Alternatives getAlternatives() { return cAlternatives; } - - //BaseState - public RuleCall getBaseStateParserRuleCall_0() { return cBaseStateParserRuleCall_0; } - - //RefinedState - public RuleCall getRefinedStateParserRuleCall_1() { return cRefinedStateParserRuleCall_1; } - } - - public class StateGraphElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StateGraph"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cLeftCurlyBracketKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1); - private final Assignment cStatesAssignment_1_0 = (Assignment)cAlternatives_1.eContents().get(0); - private final RuleCall cStatesStateParserRuleCall_1_0_0 = (RuleCall)cStatesAssignment_1_0.eContents().get(0); - private final Assignment cTrPointsAssignment_1_1 = (Assignment)cAlternatives_1.eContents().get(1); - private final RuleCall cTrPointsTrPointParserRuleCall_1_1_0 = (RuleCall)cTrPointsAssignment_1_1.eContents().get(0); - private final Assignment cChPointsAssignment_1_2 = (Assignment)cAlternatives_1.eContents().get(2); - private final RuleCall cChPointsChoicePointParserRuleCall_1_2_0 = (RuleCall)cChPointsAssignment_1_2.eContents().get(0); - private final Assignment cTransitionsAssignment_1_3 = (Assignment)cAlternatives_1.eContents().get(3); - private final RuleCall cTransitionsTransitionParserRuleCall_1_3_0 = (RuleCall)cTransitionsAssignment_1_3.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); - - //StateGraph: - // "{" (states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition)+ "}"; - public ParserRule getRule() { return rule; } - - //"{" (states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition)+ "}" - public Group getGroup() { return cGroup; } - - //"{" - public Keyword getLeftCurlyBracketKeyword_0() { return cLeftCurlyBracketKeyword_0; } - - //(states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition)+ - public Alternatives getAlternatives_1() { return cAlternatives_1; } - - //states+=State - public Assignment getStatesAssignment_1_0() { return cStatesAssignment_1_0; } - - //State - public RuleCall getStatesStateParserRuleCall_1_0_0() { return cStatesStateParserRuleCall_1_0_0; } - - //trPoints+=TrPoint - public Assignment getTrPointsAssignment_1_1() { return cTrPointsAssignment_1_1; } - - //TrPoint - public RuleCall getTrPointsTrPointParserRuleCall_1_1_0() { return cTrPointsTrPointParserRuleCall_1_1_0; } - - //chPoints+=ChoicePoint - public Assignment getChPointsAssignment_1_2() { return cChPointsAssignment_1_2; } - - //ChoicePoint - public RuleCall getChPointsChoicePointParserRuleCall_1_2_0() { return cChPointsChoicePointParserRuleCall_1_2_0; } - - //transitions+=Transition - public Assignment getTransitionsAssignment_1_3() { return cTransitionsAssignment_1_3; } - - //Transition - public RuleCall getTransitionsTransitionParserRuleCall_1_3_0() { return cTransitionsTransitionParserRuleCall_1_3_0; } - - //"}" - public Keyword getRightCurlyBracketKeyword_2() { return cRightCurlyBracketKeyword_2; } - } - - public class StateMachineElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StateMachine"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cStateMachineKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1); - private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2); - private final Assignment cStatesAssignment_2_0 = (Assignment)cAlternatives_2.eContents().get(0); - private final RuleCall cStatesStateParserRuleCall_2_0_0 = (RuleCall)cStatesAssignment_2_0.eContents().get(0); - private final Assignment cTrPointsAssignment_2_1 = (Assignment)cAlternatives_2.eContents().get(1); - private final RuleCall cTrPointsTrPointParserRuleCall_2_1_0 = (RuleCall)cTrPointsAssignment_2_1.eContents().get(0); - private final Assignment cChPointsAssignment_2_2 = (Assignment)cAlternatives_2.eContents().get(2); - private final RuleCall cChPointsChoicePointParserRuleCall_2_2_0 = (RuleCall)cChPointsAssignment_2_2.eContents().get(0); - private final Assignment cTransitionsAssignment_2_3 = (Assignment)cAlternatives_2.eContents().get(3); - private final RuleCall cTransitionsTransitionParserRuleCall_2_3_0 = (RuleCall)cTransitionsAssignment_2_3.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); - - //StateMachine returns StateGraph: - // "StateMachine" "{" (states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition)+ "}"; - public ParserRule getRule() { return rule; } - - //"StateMachine" "{" (states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition)+ "}" - public Group getGroup() { return cGroup; } - - //"StateMachine" - public Keyword getStateMachineKeyword_0() { return cStateMachineKeyword_0; } - - //"{" - public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; } - - //(states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition)+ - public Alternatives getAlternatives_2() { return cAlternatives_2; } - - //states+=State - public Assignment getStatesAssignment_2_0() { return cStatesAssignment_2_0; } - - //State - public RuleCall getStatesStateParserRuleCall_2_0_0() { return cStatesStateParserRuleCall_2_0_0; } - - //trPoints+=TrPoint - public Assignment getTrPointsAssignment_2_1() { return cTrPointsAssignment_2_1; } - - //TrPoint - public RuleCall getTrPointsTrPointParserRuleCall_2_1_0() { return cTrPointsTrPointParserRuleCall_2_1_0; } - - //chPoints+=ChoicePoint - public Assignment getChPointsAssignment_2_2() { return cChPointsAssignment_2_2; } - - //ChoicePoint - public RuleCall getChPointsChoicePointParserRuleCall_2_2_0() { return cChPointsChoicePointParserRuleCall_2_2_0; } - - //transitions+=Transition - public Assignment getTransitionsAssignment_2_3() { return cTransitionsAssignment_2_3; } - - //Transition - public RuleCall getTransitionsTransitionParserRuleCall_2_3_0() { return cTransitionsTransitionParserRuleCall_2_3_0; } - - //"}" - public Keyword getRightCurlyBracketKeyword_3() { return cRightCurlyBracketKeyword_3; } - } - - public class BaseStateElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BaseState"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cStateKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); - private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); - private final Group cGroup_3 = (Group)cGroup.eContents().get(3); - private final Keyword cEntryKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); - private final Assignment cEntryCodeAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); - private final RuleCall cEntryCodeDetailCodeParserRuleCall_3_1_0 = (RuleCall)cEntryCodeAssignment_3_1.eContents().get(0); - private final Group cGroup_4 = (Group)cGroup.eContents().get(4); - private final Keyword cExitKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); - private final Assignment cExitCodeAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); - private final RuleCall cExitCodeDetailCodeParserRuleCall_4_1_0 = (RuleCall)cExitCodeAssignment_4_1.eContents().get(0); - private final Group cGroup_5 = (Group)cGroup.eContents().get(5); - private final Keyword cSubgraphKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); - private final Assignment cSubgraphAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1); - private final RuleCall cSubgraphStateGraphParserRuleCall_5_1_0 = (RuleCall)cSubgraphAssignment_5_1.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); - - //// entry and exit code have multiplicity many: in BaseState to be able to add derived class codes here, - // - //// in RefinedState to still have both features in the common base class State - // - //BaseState: - // "State" name=ID "{" ("entry" entryCode=DetailCode)? ("exit" exitCode=DetailCode)? ("subgraph" subgraph=StateGraph)? - // "}"; - public ParserRule getRule() { return rule; } - - //"State" name=ID "{" ("entry" entryCode=DetailCode)? ("exit" exitCode=DetailCode)? ("subgraph" subgraph=StateGraph)? "}" - public Group getGroup() { return cGroup; } - - //"State" - public Keyword getStateKeyword_0() { return cStateKeyword_0; } - - //name=ID - public Assignment getNameAssignment_1() { return cNameAssignment_1; } - - //ID - public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } - - //"{" - public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } - - //("entry" entryCode=DetailCode)? - public Group getGroup_3() { return cGroup_3; } - - //"entry" - public Keyword getEntryKeyword_3_0() { return cEntryKeyword_3_0; } - - //entryCode=DetailCode - public Assignment getEntryCodeAssignment_3_1() { return cEntryCodeAssignment_3_1; } - - //DetailCode - public RuleCall getEntryCodeDetailCodeParserRuleCall_3_1_0() { return cEntryCodeDetailCodeParserRuleCall_3_1_0; } - - //("exit" exitCode=DetailCode)? - public Group getGroup_4() { return cGroup_4; } - - //"exit" - public Keyword getExitKeyword_4_0() { return cExitKeyword_4_0; } - - //exitCode=DetailCode - public Assignment getExitCodeAssignment_4_1() { return cExitCodeAssignment_4_1; } - - //DetailCode - public RuleCall getExitCodeDetailCodeParserRuleCall_4_1_0() { return cExitCodeDetailCodeParserRuleCall_4_1_0; } - - //("subgraph" subgraph=StateGraph)? - public Group getGroup_5() { return cGroup_5; } - - //"subgraph" - public Keyword getSubgraphKeyword_5_0() { return cSubgraphKeyword_5_0; } - - //subgraph=StateGraph - public Assignment getSubgraphAssignment_5_1() { return cSubgraphAssignment_5_1; } - - //StateGraph - public RuleCall getSubgraphStateGraphParserRuleCall_5_1_0() { return cSubgraphStateGraphParserRuleCall_5_1_0; } - - //"}" - public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } - } - - public class RefinedStateElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RefinedState"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cRefinedStateKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cBaseAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final CrossReference cBaseBaseStateCrossReference_1_0 = (CrossReference)cBaseAssignment_1.eContents().get(0); - private final RuleCall cBaseBaseStateFQNParserRuleCall_1_0_1 = (RuleCall)cBaseBaseStateCrossReference_1_0.eContents().get(1); - private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); - private final Group cGroup_3 = (Group)cGroup.eContents().get(3); - private final Keyword cEntryKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0); - private final Assignment cEntryCodeAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1); - private final RuleCall cEntryCodeDetailCodeParserRuleCall_3_1_0 = (RuleCall)cEntryCodeAssignment_3_1.eContents().get(0); - private final Group cGroup_4 = (Group)cGroup.eContents().get(4); - private final Keyword cExitKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0); - private final Assignment cExitCodeAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1); - private final RuleCall cExitCodeDetailCodeParserRuleCall_4_1_0 = (RuleCall)cExitCodeAssignment_4_1.eContents().get(0); - private final Group cGroup_5 = (Group)cGroup.eContents().get(5); - private final Keyword cSubgraphKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0); - private final Assignment cSubgraphAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1); - private final RuleCall cSubgraphStateGraphParserRuleCall_5_1_0 = (RuleCall)cSubgraphAssignment_5_1.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); - - //RefinedState: - // "RefinedState" base=[BaseState|FQN] "{" ("entry" entryCode=DetailCode)? ("exit" exitCode=DetailCode)? ("subgraph" - // subgraph=StateGraph)? "}"; - public ParserRule getRule() { return rule; } - - //"RefinedState" base=[BaseState|FQN] "{" ("entry" entryCode=DetailCode)? ("exit" exitCode=DetailCode)? ("subgraph" - //subgraph=StateGraph)? "}" - public Group getGroup() { return cGroup; } - - //"RefinedState" - public Keyword getRefinedStateKeyword_0() { return cRefinedStateKeyword_0; } - - //base=[BaseState|FQN] - public Assignment getBaseAssignment_1() { return cBaseAssignment_1; } - - //[BaseState|FQN] - public CrossReference getBaseBaseStateCrossReference_1_0() { return cBaseBaseStateCrossReference_1_0; } - - //FQN - public RuleCall getBaseBaseStateFQNParserRuleCall_1_0_1() { return cBaseBaseStateFQNParserRuleCall_1_0_1; } - - //"{" - public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; } - - //("entry" entryCode=DetailCode)? - public Group getGroup_3() { return cGroup_3; } - - //"entry" - public Keyword getEntryKeyword_3_0() { return cEntryKeyword_3_0; } - - //entryCode=DetailCode - public Assignment getEntryCodeAssignment_3_1() { return cEntryCodeAssignment_3_1; } - - //DetailCode - public RuleCall getEntryCodeDetailCodeParserRuleCall_3_1_0() { return cEntryCodeDetailCodeParserRuleCall_3_1_0; } - - //("exit" exitCode=DetailCode)? - public Group getGroup_4() { return cGroup_4; } - - //"exit" - public Keyword getExitKeyword_4_0() { return cExitKeyword_4_0; } - - //exitCode=DetailCode - public Assignment getExitCodeAssignment_4_1() { return cExitCodeAssignment_4_1; } - - //DetailCode - public RuleCall getExitCodeDetailCodeParserRuleCall_4_1_0() { return cExitCodeDetailCodeParserRuleCall_4_1_0; } - - //("subgraph" subgraph=StateGraph)? - public Group getGroup_5() { return cGroup_5; } - - //"subgraph" - public Keyword getSubgraphKeyword_5_0() { return cSubgraphKeyword_5_0; } - - //subgraph=StateGraph - public Assignment getSubgraphAssignment_5_1() { return cSubgraphAssignment_5_1; } - - //StateGraph - public RuleCall getSubgraphStateGraphParserRuleCall_5_1_0() { return cSubgraphStateGraphParserRuleCall_5_1_0; } - - //"}" - public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; } - } - - public class DetailCodeElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DetailCode"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cLeftCurlyBracketKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cCommandsAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cCommandsSTRINGTerminalRuleCall_1_0 = (RuleCall)cCommandsAssignment_1.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2); - - //// TODOHRR: provide a means to call super class code (cf. ROOM p. 310f) - // - //// super() keyword or flag like in Trice - // - //DetailCode: - // "{" commands+=STRING+ "}"; - public ParserRule getRule() { return rule; } - - //"{" commands+=STRING+ "}" - public Group getGroup() { return cGroup; } - - //"{" - public Keyword getLeftCurlyBracketKeyword_0() { return cLeftCurlyBracketKeyword_0; } - - //commands+=STRING+ - public Assignment getCommandsAssignment_1() { return cCommandsAssignment_1; } - - //STRING - public RuleCall getCommandsSTRINGTerminalRuleCall_1_0() { return cCommandsSTRINGTerminalRuleCall_1_0; } - - //"}" - public Keyword getRightCurlyBracketKeyword_2() { return cRightCurlyBracketKeyword_2; } - } - - public class TrPointElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TrPoint"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cTransitionPointParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cEntryPointParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - private final RuleCall cExitPointParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); - - //TrPoint: - // TransitionPoint | EntryPoint | ExitPoint; - public ParserRule getRule() { return rule; } - - //TransitionPoint | EntryPoint | ExitPoint - public Alternatives getAlternatives() { return cAlternatives; } - - //TransitionPoint - public RuleCall getTransitionPointParserRuleCall_0() { return cTransitionPointParserRuleCall_0; } - - //EntryPoint - public RuleCall getEntryPointParserRuleCall_1() { return cEntryPointParserRuleCall_1; } - - //ExitPoint - public RuleCall getExitPointParserRuleCall_2() { return cExitPointParserRuleCall_2; } - } - - public class TransitionPointElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TransitionPoint"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Assignment cHandlerAssignment_0 = (Assignment)cGroup.eContents().get(0); - private final Keyword cHandlerHandlerKeyword_0_0 = (Keyword)cHandlerAssignment_0.eContents().get(0); - private final Keyword cTransitionPointKeyword_1 = (Keyword)cGroup.eContents().get(1); - private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2); - private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0); - - //TransitionPoint: - // handler?="handler"? "TransitionPoint" name=ID; - public ParserRule getRule() { return rule; } - - //handler?="handler"? "TransitionPoint" name=ID - public Group getGroup() { return cGroup; } - - //handler?="handler"? - public Assignment getHandlerAssignment_0() { return cHandlerAssignment_0; } - - //"handler" - public Keyword getHandlerHandlerKeyword_0_0() { return cHandlerHandlerKeyword_0_0; } - - //"TransitionPoint" - public Keyword getTransitionPointKeyword_1() { return cTransitionPointKeyword_1; } - - //name=ID - public Assignment getNameAssignment_2() { return cNameAssignment_2; } - - //ID - public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; } - } - - public class EntryPointElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntryPoint"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cEntryPointKeyword_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); - - //EntryPoint: - // "EntryPoint" name=ID; - public ParserRule getRule() { return rule; } - - //"EntryPoint" name=ID - public Group getGroup() { return cGroup; } - - //"EntryPoint" - public Keyword getEntryPointKeyword_0() { return cEntryPointKeyword_0; } - - //name=ID - public Assignment getNameAssignment_1() { return cNameAssignment_1; } - - //ID - public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } - } - - public class ExitPointElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ExitPoint"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cExitPointKeyword_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); - - //ExitPoint: - // "ExitPoint" name=ID; - public ParserRule getRule() { return rule; } - - //"ExitPoint" name=ID - public Group getGroup() { return cGroup; } - - //"ExitPoint" - public Keyword getExitPointKeyword_0() { return cExitPointKeyword_0; } - - //name=ID - public Assignment getNameAssignment_1() { return cNameAssignment_1; } - - //ID - public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } - } - - public class ChoicePointElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ChoicePoint"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cChoicePointKeyword_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); - - //ChoicePoint: - // "ChoicePoint" name=ID; - public ParserRule getRule() { return rule; } - - //"ChoicePoint" name=ID - public Group getGroup() { return cGroup; } - - //"ChoicePoint" - public Keyword getChoicePointKeyword_0() { return cChoicePointKeyword_0; } - - //name=ID - public Assignment getNameAssignment_1() { return cNameAssignment_1; } - - //ID - public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } - } - - public class TransitionElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Transition"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cInitialTransitionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cNonInitialTransitionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - - //Transition: - // InitialTransition | NonInitialTransition; - public ParserRule getRule() { return rule; } - - //InitialTransition | NonInitialTransition - public Alternatives getAlternatives() { return cAlternatives; } - - //InitialTransition - public RuleCall getInitialTransitionParserRuleCall_0() { return cInitialTransitionParserRuleCall_0; } - - //NonInitialTransition - public RuleCall getNonInitialTransitionParserRuleCall_1() { return cNonInitialTransitionParserRuleCall_1; } - } - - public class NonInitialTransitionElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "NonInitialTransition"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cTriggeredTransitionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cContinuationTransitionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - private final RuleCall cCPBranchTransitionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); - - //NonInitialTransition: - // TriggeredTransition | ContinuationTransition | CPBranchTransition; - public ParserRule getRule() { return rule; } - - //TriggeredTransition | ContinuationTransition | CPBranchTransition - public Alternatives getAlternatives() { return cAlternatives; } - - //TriggeredTransition - public RuleCall getTriggeredTransitionParserRuleCall_0() { return cTriggeredTransitionParserRuleCall_0; } - - //ContinuationTransition - public RuleCall getContinuationTransitionParserRuleCall_1() { return cContinuationTransitionParserRuleCall_1; } - - //CPBranchTransition - public RuleCall getCPBranchTransitionParserRuleCall_2() { return cCPBranchTransitionParserRuleCall_2; } - } - - public class InitialTransitionElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "InitialTransition"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cTransitionKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); - private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2); - private final Keyword cInitialKeyword_3 = (Keyword)cGroup.eContents().get(3); - private final Keyword cHyphenMinusGreaterThanSignKeyword_4 = (Keyword)cGroup.eContents().get(4); - private final Assignment cToAssignment_5 = (Assignment)cGroup.eContents().get(5); - private final RuleCall cToTransitionTerminalParserRuleCall_5_0 = (RuleCall)cToAssignment_5.eContents().get(0); - private final Keyword cLeftCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); - private final Group cGroup_7 = (Group)cGroup.eContents().get(7); - private final Keyword cActionKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0); - private final Assignment cActionAssignment_7_1 = (Assignment)cGroup_7.eContents().get(1); - private final RuleCall cActionDetailCodeParserRuleCall_7_1_0 = (RuleCall)cActionAssignment_7_1.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8); - - //InitialTransition: - // "Transition" name=ID? ":" "initial" "->" to=TransitionTerminal "{" ("action" action=DetailCode)? "}"; - public ParserRule getRule() { return rule; } - - //"Transition" name=ID? ":" "initial" "->" to=TransitionTerminal "{" ("action" action=DetailCode)? "}" - public Group getGroup() { return cGroup; } - - //"Transition" - public Keyword getTransitionKeyword_0() { return cTransitionKeyword_0; } - - //name=ID? - public Assignment getNameAssignment_1() { return cNameAssignment_1; } - - //ID - public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } - - //":" - public Keyword getColonKeyword_2() { return cColonKeyword_2; } - - //"initial" - public Keyword getInitialKeyword_3() { return cInitialKeyword_3; } - - //"->" - public Keyword getHyphenMinusGreaterThanSignKeyword_4() { return cHyphenMinusGreaterThanSignKeyword_4; } - - //to=TransitionTerminal - public Assignment getToAssignment_5() { return cToAssignment_5; } - - //TransitionTerminal - public RuleCall getToTransitionTerminalParserRuleCall_5_0() { return cToTransitionTerminalParserRuleCall_5_0; } - - //"{" - public Keyword getLeftCurlyBracketKeyword_6() { return cLeftCurlyBracketKeyword_6; } - - //("action" action=DetailCode)? - public Group getGroup_7() { return cGroup_7; } - - //"action" - public Keyword getActionKeyword_7_0() { return cActionKeyword_7_0; } - - //action=DetailCode - public Assignment getActionAssignment_7_1() { return cActionAssignment_7_1; } - - //DetailCode - public RuleCall getActionDetailCodeParserRuleCall_7_1_0() { return cActionDetailCodeParserRuleCall_7_1_0; } - - //"}" - public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; } - } - - public class ContinuationTransitionElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ContinuationTransition"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cTransitionKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); - private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2); - private final Assignment cFromAssignment_3 = (Assignment)cGroup.eContents().get(3); - private final RuleCall cFromTransitionTerminalParserRuleCall_3_0 = (RuleCall)cFromAssignment_3.eContents().get(0); - private final Keyword cHyphenMinusGreaterThanSignKeyword_4 = (Keyword)cGroup.eContents().get(4); - private final Assignment cToAssignment_5 = (Assignment)cGroup.eContents().get(5); - private final RuleCall cToTransitionTerminalParserRuleCall_5_0 = (RuleCall)cToAssignment_5.eContents().get(0); - private final Keyword cLeftCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); - private final Group cGroup_7 = (Group)cGroup.eContents().get(7); - private final Keyword cActionKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0); - private final Assignment cActionAssignment_7_1 = (Assignment)cGroup_7.eContents().get(1); - private final RuleCall cActionDetailCodeParserRuleCall_7_1_0 = (RuleCall)cActionAssignment_7_1.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8); - - //ContinuationTransition: - // "Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" ("action" action=DetailCode)? "}"; - public ParserRule getRule() { return rule; } - - //"Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" ("action" action=DetailCode)? "}" - public Group getGroup() { return cGroup; } - - //"Transition" - public Keyword getTransitionKeyword_0() { return cTransitionKeyword_0; } - - //name=ID? - public Assignment getNameAssignment_1() { return cNameAssignment_1; } - - //ID - public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } - - //":" - public Keyword getColonKeyword_2() { return cColonKeyword_2; } - - //from=TransitionTerminal - public Assignment getFromAssignment_3() { return cFromAssignment_3; } - - //TransitionTerminal - public RuleCall getFromTransitionTerminalParserRuleCall_3_0() { return cFromTransitionTerminalParserRuleCall_3_0; } - - //"->" - public Keyword getHyphenMinusGreaterThanSignKeyword_4() { return cHyphenMinusGreaterThanSignKeyword_4; } - - //to=TransitionTerminal - public Assignment getToAssignment_5() { return cToAssignment_5; } - - //TransitionTerminal - public RuleCall getToTransitionTerminalParserRuleCall_5_0() { return cToTransitionTerminalParserRuleCall_5_0; } - - //"{" - public Keyword getLeftCurlyBracketKeyword_6() { return cLeftCurlyBracketKeyword_6; } - - //("action" action=DetailCode)? - public Group getGroup_7() { return cGroup_7; } - - //"action" - public Keyword getActionKeyword_7_0() { return cActionKeyword_7_0; } - - //action=DetailCode - public Assignment getActionAssignment_7_1() { return cActionAssignment_7_1; } - - //DetailCode - public RuleCall getActionDetailCodeParserRuleCall_7_1_0() { return cActionDetailCodeParserRuleCall_7_1_0; } - - //"}" - public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; } - } - - public class TriggeredTransitionElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TriggeredTransition"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cTransitionKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); - private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2); - private final Assignment cFromAssignment_3 = (Assignment)cGroup.eContents().get(3); - private final RuleCall cFromTransitionTerminalParserRuleCall_3_0 = (RuleCall)cFromAssignment_3.eContents().get(0); - private final Keyword cHyphenMinusGreaterThanSignKeyword_4 = (Keyword)cGroup.eContents().get(4); - private final Assignment cToAssignment_5 = (Assignment)cGroup.eContents().get(5); - private final RuleCall cToTransitionTerminalParserRuleCall_5_0 = (RuleCall)cToAssignment_5.eContents().get(0); - private final Keyword cLeftCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); - private final Keyword cTriggersKeyword_7 = (Keyword)cGroup.eContents().get(7); - private final Keyword cLeftCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8); - private final Assignment cTriggersAssignment_9 = (Assignment)cGroup.eContents().get(9); - private final RuleCall cTriggersTriggerParserRuleCall_9_0 = (RuleCall)cTriggersAssignment_9.eContents().get(0); - private final Group cGroup_10 = (Group)cGroup.eContents().get(10); - private final Keyword cOrKeyword_10_0 = (Keyword)cGroup_10.eContents().get(0); - private final Assignment cTriggersAssignment_10_1 = (Assignment)cGroup_10.eContents().get(1); - private final RuleCall cTriggersTriggerParserRuleCall_10_1_0 = (RuleCall)cTriggersAssignment_10_1.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_11 = (Keyword)cGroup.eContents().get(11); - private final Group cGroup_12 = (Group)cGroup.eContents().get(12); - private final Keyword cActionKeyword_12_0 = (Keyword)cGroup_12.eContents().get(0); - private final Assignment cActionAssignment_12_1 = (Assignment)cGroup_12.eContents().get(1); - private final RuleCall cActionDetailCodeParserRuleCall_12_1_0 = (RuleCall)cActionAssignment_12_1.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_13 = (Keyword)cGroup.eContents().get(13); - - //TriggeredTransition: - // "Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" "triggers" "{" triggers+=Trigger - // ("or" triggers+=Trigger)* "}" ("action" action=DetailCode)? "}"; - public ParserRule getRule() { return rule; } - - //"Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" "triggers" "{" triggers+=Trigger ("or" - //triggers+=Trigger)* "}" ("action" action=DetailCode)? "}" - public Group getGroup() { return cGroup; } - - //"Transition" - public Keyword getTransitionKeyword_0() { return cTransitionKeyword_0; } - - //name=ID? - public Assignment getNameAssignment_1() { return cNameAssignment_1; } - - //ID - public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } - - //":" - public Keyword getColonKeyword_2() { return cColonKeyword_2; } - - //from=TransitionTerminal - public Assignment getFromAssignment_3() { return cFromAssignment_3; } - - //TransitionTerminal - public RuleCall getFromTransitionTerminalParserRuleCall_3_0() { return cFromTransitionTerminalParserRuleCall_3_0; } - - //"->" - public Keyword getHyphenMinusGreaterThanSignKeyword_4() { return cHyphenMinusGreaterThanSignKeyword_4; } - - //to=TransitionTerminal - public Assignment getToAssignment_5() { return cToAssignment_5; } - - //TransitionTerminal - public RuleCall getToTransitionTerminalParserRuleCall_5_0() { return cToTransitionTerminalParserRuleCall_5_0; } - - //"{" - public Keyword getLeftCurlyBracketKeyword_6() { return cLeftCurlyBracketKeyword_6; } - - //"triggers" - public Keyword getTriggersKeyword_7() { return cTriggersKeyword_7; } - - //"{" - public Keyword getLeftCurlyBracketKeyword_8() { return cLeftCurlyBracketKeyword_8; } - - //triggers+=Trigger - public Assignment getTriggersAssignment_9() { return cTriggersAssignment_9; } - - //Trigger - public RuleCall getTriggersTriggerParserRuleCall_9_0() { return cTriggersTriggerParserRuleCall_9_0; } - - //("or" triggers+=Trigger)* - public Group getGroup_10() { return cGroup_10; } - - //"or" - public Keyword getOrKeyword_10_0() { return cOrKeyword_10_0; } - - //triggers+=Trigger - public Assignment getTriggersAssignment_10_1() { return cTriggersAssignment_10_1; } - - //Trigger - public RuleCall getTriggersTriggerParserRuleCall_10_1_0() { return cTriggersTriggerParserRuleCall_10_1_0; } - - //"}" - public Keyword getRightCurlyBracketKeyword_11() { return cRightCurlyBracketKeyword_11; } - - //("action" action=DetailCode)? - public Group getGroup_12() { return cGroup_12; } - - //"action" - public Keyword getActionKeyword_12_0() { return cActionKeyword_12_0; } - - //action=DetailCode - public Assignment getActionAssignment_12_1() { return cActionAssignment_12_1; } - - //DetailCode - public RuleCall getActionDetailCodeParserRuleCall_12_1_0() { return cActionDetailCodeParserRuleCall_12_1_0; } - - //"}" - public Keyword getRightCurlyBracketKeyword_13() { return cRightCurlyBracketKeyword_13; } - } - - public class CPBranchTransitionElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "CPBranchTransition"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cTransitionKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); - private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2); - private final Assignment cFromAssignment_3 = (Assignment)cGroup.eContents().get(3); - private final RuleCall cFromTransitionTerminalParserRuleCall_3_0 = (RuleCall)cFromAssignment_3.eContents().get(0); - private final Keyword cHyphenMinusGreaterThanSignKeyword_4 = (Keyword)cGroup.eContents().get(4); - private final Assignment cToAssignment_5 = (Assignment)cGroup.eContents().get(5); - private final RuleCall cToTransitionTerminalParserRuleCall_5_0 = (RuleCall)cToAssignment_5.eContents().get(0); - private final Keyword cLeftCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6); - private final Keyword cCondKeyword_7 = (Keyword)cGroup.eContents().get(7); - private final Assignment cConditionAssignment_8 = (Assignment)cGroup.eContents().get(8); - private final RuleCall cConditionDetailCodeParserRuleCall_8_0 = (RuleCall)cConditionAssignment_8.eContents().get(0); - private final Group cGroup_9 = (Group)cGroup.eContents().get(9); - private final Keyword cActionKeyword_9_0 = (Keyword)cGroup_9.eContents().get(0); - private final Assignment cActionAssignment_9_1 = (Assignment)cGroup_9.eContents().get(1); - private final RuleCall cActionDetailCodeParserRuleCall_9_1_0 = (RuleCall)cActionAssignment_9_1.eContents().get(0); - private final Keyword cRightCurlyBracketKeyword_10 = (Keyword)cGroup.eContents().get(10); - - //CPBranchTransition: - // "Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" "cond" condition=DetailCode ("action" - // action=DetailCode)? "}"; - public ParserRule getRule() { return rule; } - - //"Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" "cond" condition=DetailCode ("action" - //action=DetailCode)? "}" - public Group getGroup() { return cGroup; } - - //"Transition" - public Keyword getTransitionKeyword_0() { return cTransitionKeyword_0; } - - //name=ID? - public Assignment getNameAssignment_1() { return cNameAssignment_1; } - - //ID - public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } - - //":" - public Keyword getColonKeyword_2() { return cColonKeyword_2; } - - //from=TransitionTerminal - public Assignment getFromAssignment_3() { return cFromAssignment_3; } - - //TransitionTerminal - public RuleCall getFromTransitionTerminalParserRuleCall_3_0() { return cFromTransitionTerminalParserRuleCall_3_0; } - - //"->" - public Keyword getHyphenMinusGreaterThanSignKeyword_4() { return cHyphenMinusGreaterThanSignKeyword_4; } - - //to=TransitionTerminal - public Assignment getToAssignment_5() { return cToAssignment_5; } - - //TransitionTerminal - public RuleCall getToTransitionTerminalParserRuleCall_5_0() { return cToTransitionTerminalParserRuleCall_5_0; } - - //"{" - public Keyword getLeftCurlyBracketKeyword_6() { return cLeftCurlyBracketKeyword_6; } - - //"cond" - public Keyword getCondKeyword_7() { return cCondKeyword_7; } - - //condition=DetailCode - public Assignment getConditionAssignment_8() { return cConditionAssignment_8; } - - //DetailCode - public RuleCall getConditionDetailCodeParserRuleCall_8_0() { return cConditionDetailCodeParserRuleCall_8_0; } - - //("action" action=DetailCode)? - public Group getGroup_9() { return cGroup_9; } - - //"action" - public Keyword getActionKeyword_9_0() { return cActionKeyword_9_0; } - - //action=DetailCode - public Assignment getActionAssignment_9_1() { return cActionAssignment_9_1; } - - //DetailCode - public RuleCall getActionDetailCodeParserRuleCall_9_1_0() { return cActionDetailCodeParserRuleCall_9_1_0; } - - //"}" - public Keyword getRightCurlyBracketKeyword_10() { return cRightCurlyBracketKeyword_10; } - } - - public class TransitionTerminalElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TransitionTerminal"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final RuleCall cStateTerminalParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); - private final RuleCall cTrPointTerminalParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); - private final RuleCall cSubStateTrPointTerminalParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); - private final RuleCall cChoicepointTerminalParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3); - - //TransitionTerminal: - // StateTerminal | TrPointTerminal | SubStateTrPointTerminal | ChoicepointTerminal; - public ParserRule getRule() { return rule; } - - //StateTerminal | TrPointTerminal | SubStateTrPointTerminal | ChoicepointTerminal - public Alternatives getAlternatives() { return cAlternatives; } - - //StateTerminal - public RuleCall getStateTerminalParserRuleCall_0() { return cStateTerminalParserRuleCall_0; } - - //TrPointTerminal - public RuleCall getTrPointTerminalParserRuleCall_1() { return cTrPointTerminalParserRuleCall_1; } - - //SubStateTrPointTerminal - public RuleCall getSubStateTrPointTerminalParserRuleCall_2() { return cSubStateTrPointTerminalParserRuleCall_2; } - - //ChoicepointTerminal - public RuleCall getChoicepointTerminalParserRuleCall_3() { return cChoicepointTerminalParserRuleCall_3; } - } - - public class StateTerminalElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StateTerminal"); - private final Assignment cStateAssignment = (Assignment)rule.eContents().get(1); - private final CrossReference cStateBaseStateCrossReference_0 = (CrossReference)cStateAssignment.eContents().get(0); - private final RuleCall cStateBaseStateIDTerminalRuleCall_0_1 = (RuleCall)cStateBaseStateCrossReference_0.eContents().get(1); - - //StateTerminal: - // state=[BaseState]; - public ParserRule getRule() { return rule; } - - //state=[BaseState] - public Assignment getStateAssignment() { return cStateAssignment; } - - //[BaseState] - public CrossReference getStateBaseStateCrossReference_0() { return cStateBaseStateCrossReference_0; } - - //ID - public RuleCall getStateBaseStateIDTerminalRuleCall_0_1() { return cStateBaseStateIDTerminalRuleCall_0_1; } - } - - public class TrPointTerminalElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TrPointTerminal"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cMyKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cTrPointAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final CrossReference cTrPointTrPointCrossReference_1_0 = (CrossReference)cTrPointAssignment_1.eContents().get(0); - private final RuleCall cTrPointTrPointIDTerminalRuleCall_1_0_1 = (RuleCall)cTrPointTrPointCrossReference_1_0.eContents().get(1); - - //TrPointTerminal: - // "my" trPoint=[TrPoint]; - public ParserRule getRule() { return rule; } - - //"my" trPoint=[TrPoint] - public Group getGroup() { return cGroup; } - - //"my" - public Keyword getMyKeyword_0() { return cMyKeyword_0; } - - //trPoint=[TrPoint] - public Assignment getTrPointAssignment_1() { return cTrPointAssignment_1; } - - //[TrPoint] - public CrossReference getTrPointTrPointCrossReference_1_0() { return cTrPointTrPointCrossReference_1_0; } - - //ID - public RuleCall getTrPointTrPointIDTerminalRuleCall_1_0_1() { return cTrPointTrPointIDTerminalRuleCall_1_0_1; } - } - - public class SubStateTrPointTerminalElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SubStateTrPointTerminal"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Assignment cTrPointAssignment_0 = (Assignment)cGroup.eContents().get(0); - private final CrossReference cTrPointTrPointCrossReference_0_0 = (CrossReference)cTrPointAssignment_0.eContents().get(0); - private final RuleCall cTrPointTrPointIDTerminalRuleCall_0_0_1 = (RuleCall)cTrPointTrPointCrossReference_0_0.eContents().get(1); - private final Keyword cOfKeyword_1 = (Keyword)cGroup.eContents().get(1); - private final Assignment cStateAssignment_2 = (Assignment)cGroup.eContents().get(2); - private final CrossReference cStateBaseStateCrossReference_2_0 = (CrossReference)cStateAssignment_2.eContents().get(0); - private final RuleCall cStateBaseStateIDTerminalRuleCall_2_0_1 = (RuleCall)cStateBaseStateCrossReference_2_0.eContents().get(1); - - //SubStateTrPointTerminal: - // trPoint=[TrPoint] "of" state=[BaseState]; - public ParserRule getRule() { return rule; } - - //trPoint=[TrPoint] "of" state=[BaseState] - public Group getGroup() { return cGroup; } - - //trPoint=[TrPoint] - public Assignment getTrPointAssignment_0() { return cTrPointAssignment_0; } - - //[TrPoint] - public CrossReference getTrPointTrPointCrossReference_0_0() { return cTrPointTrPointCrossReference_0_0; } - - //ID - public RuleCall getTrPointTrPointIDTerminalRuleCall_0_0_1() { return cTrPointTrPointIDTerminalRuleCall_0_0_1; } - - //"of" - public Keyword getOfKeyword_1() { return cOfKeyword_1; } - - //state=[BaseState] - public Assignment getStateAssignment_2() { return cStateAssignment_2; } - - //[BaseState] - public CrossReference getStateBaseStateCrossReference_2_0() { return cStateBaseStateCrossReference_2_0; } - - //ID - public RuleCall getStateBaseStateIDTerminalRuleCall_2_0_1() { return cStateBaseStateIDTerminalRuleCall_2_0_1; } - } - - public class ChoicepointTerminalElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ChoicepointTerminal"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cCpKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cCpAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final CrossReference cCpChoicePointCrossReference_1_0 = (CrossReference)cCpAssignment_1.eContents().get(0); - private final RuleCall cCpChoicePointIDTerminalRuleCall_1_0_1 = (RuleCall)cCpChoicePointCrossReference_1_0.eContents().get(1); - - //ChoicepointTerminal: - // "cp" cp=[ChoicePoint]; - public ParserRule getRule() { return rule; } - - //"cp" cp=[ChoicePoint] - public Group getGroup() { return cGroup; } - - //"cp" - public Keyword getCpKeyword_0() { return cCpKeyword_0; } - - //cp=[ChoicePoint] - public Assignment getCpAssignment_1() { return cCpAssignment_1; } - - //[ChoicePoint] - public CrossReference getCpChoicePointCrossReference_1_0() { return cCpChoicePointCrossReference_1_0; } - - //ID - public RuleCall getCpChoicePointIDTerminalRuleCall_1_0_1() { return cCpChoicePointIDTerminalRuleCall_1_0_1; } - } - - public class TriggerElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Trigger"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cLessThanSignKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cMsgFromIfPairsAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cMsgFromIfPairsMessageFromIfParserRuleCall_1_0 = (RuleCall)cMsgFromIfPairsAssignment_1.eContents().get(0); - private final Group cGroup_2 = (Group)cGroup.eContents().get(2); - private final Keyword cVerticalLineKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); - private final Assignment cMsgFromIfPairsAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); - private final RuleCall cMsgFromIfPairsMessageFromIfParserRuleCall_2_1_0 = (RuleCall)cMsgFromIfPairsAssignment_2_1.eContents().get(0); - private final Assignment cGuardAssignment_3 = (Assignment)cGroup.eContents().get(3); - private final RuleCall cGuardGuardParserRuleCall_3_0 = (RuleCall)cGuardAssignment_3.eContents().get(0); - private final Keyword cGreaterThanSignKeyword_4 = (Keyword)cGroup.eContents().get(4); - - ////TransitionSource: TransitionTerminal|ChoicePointCaseRef|ChoicePointDefaultRef; - // - ////TransitionSource: TransitionTerminal|ChoicePointRef; - // - ////TransitionDest: TransitionTerminal|ChoicePointRef; - // - ////ChoicePointCaseRef: 'cp' cp=[ChoicePoint|ID] 'case' case=[ChoicePointCase|ID]; - // - ////ChoicePointDefaultRef: 'cp' cp=[ChoicePoint|ID] 'default'; - // - ////ChoicePointRef: 'cp' cp=[ChoicePoint|ID]; - // - //Trigger: - // "<" msgFromIfPairs+=MessageFromIf ("|" msgFromIfPairs+=MessageFromIf)* guard=Guard? ">"; - public ParserRule getRule() { return rule; } - - //"<" msgFromIfPairs+=MessageFromIf ("|" msgFromIfPairs+=MessageFromIf)* guard=Guard? ">" - public Group getGroup() { return cGroup; } - - //"<" - public Keyword getLessThanSignKeyword_0() { return cLessThanSignKeyword_0; } - - //msgFromIfPairs+=MessageFromIf - public Assignment getMsgFromIfPairsAssignment_1() { return cMsgFromIfPairsAssignment_1; } - - //MessageFromIf - public RuleCall getMsgFromIfPairsMessageFromIfParserRuleCall_1_0() { return cMsgFromIfPairsMessageFromIfParserRuleCall_1_0; } - - //("|" msgFromIfPairs+=MessageFromIf)* - public Group getGroup_2() { return cGroup_2; } - - //"|" - public Keyword getVerticalLineKeyword_2_0() { return cVerticalLineKeyword_2_0; } - - //msgFromIfPairs+=MessageFromIf - public Assignment getMsgFromIfPairsAssignment_2_1() { return cMsgFromIfPairsAssignment_2_1; } - - //MessageFromIf - public RuleCall getMsgFromIfPairsMessageFromIfParserRuleCall_2_1_0() { return cMsgFromIfPairsMessageFromIfParserRuleCall_2_1_0; } - - //guard=Guard? - public Assignment getGuardAssignment_3() { return cGuardAssignment_3; } - - //Guard - public RuleCall getGuardGuardParserRuleCall_3_0() { return cGuardGuardParserRuleCall_3_0; } - - //">" - public Keyword getGreaterThanSignKeyword_4() { return cGreaterThanSignKeyword_4; } - } - - public class MessageFromIfElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "MessageFromIf"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Assignment cMessageAssignment_0 = (Assignment)cGroup.eContents().get(0); - private final CrossReference cMessageMessageCrossReference_0_0 = (CrossReference)cMessageAssignment_0.eContents().get(0); - private final RuleCall cMessageMessageIDTerminalRuleCall_0_0_1 = (RuleCall)cMessageMessageCrossReference_0_0.eContents().get(1); - private final Keyword cColonKeyword_1 = (Keyword)cGroup.eContents().get(1); - private final Assignment cFromAssignment_2 = (Assignment)cGroup.eContents().get(2); - private final CrossReference cFromInterfaceItemCrossReference_2_0 = (CrossReference)cFromAssignment_2.eContents().get(0); - private final RuleCall cFromInterfaceItemIDTerminalRuleCall_2_0_1 = (RuleCall)cFromInterfaceItemCrossReference_2_0.eContents().get(1); - - //MessageFromIf: - // message=[Message] ":" from=[InterfaceItem]; - public ParserRule getRule() { return rule; } - - //message=[Message] ":" from=[InterfaceItem] - public Group getGroup() { return cGroup; } - - //message=[Message] - public Assignment getMessageAssignment_0() { return cMessageAssignment_0; } - - //[Message] - public CrossReference getMessageMessageCrossReference_0_0() { return cMessageMessageCrossReference_0_0; } - - //ID - public RuleCall getMessageMessageIDTerminalRuleCall_0_0_1() { return cMessageMessageIDTerminalRuleCall_0_0_1; } - - //":" - public Keyword getColonKeyword_1() { return cColonKeyword_1; } - - //from=[InterfaceItem] - public Assignment getFromAssignment_2() { return cFromAssignment_2; } - - //[InterfaceItem] - public CrossReference getFromInterfaceItemCrossReference_2_0() { return cFromInterfaceItemCrossReference_2_0; } - - //ID - public RuleCall getFromInterfaceItemIDTerminalRuleCall_2_0_1() { return cFromInterfaceItemIDTerminalRuleCall_2_0_1; } - } - - public class GuardElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Guard"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cGuardKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cGuardAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cGuardDetailCodeParserRuleCall_1_0 = (RuleCall)cGuardAssignment_1.eContents().get(0); - - //Guard: - // "guard" guard=DetailCode; - public ParserRule getRule() { return rule; } - - //"guard" guard=DetailCode - public Group getGroup() { return cGroup; } - - //"guard" - public Keyword getGuardKeyword_0() { return cGuardKeyword_0; } - - //guard=DetailCode - public Assignment getGuardAssignment_1() { return cGuardAssignment_1; } - - //DetailCode - public RuleCall getGuardDetailCodeParserRuleCall_1_0() { return cGuardDetailCodeParserRuleCall_1_0; } - } - - public class ImportElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Import"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final Keyword cImportKeyword_0 = (Keyword)cGroup.eContents().get(0); - private final Assignment cImportedNamespaceAssignment_1 = (Assignment)cGroup.eContents().get(1); - private final RuleCall cImportedNamespaceImportedFQNParserRuleCall_1_0 = (RuleCall)cImportedNamespaceAssignment_1.eContents().get(0); - - //// ************************************************************** - // - //// general - // - //Import: - // "import" importedNamespace=ImportedFQN; - public ParserRule getRule() { return rule; } - - //"import" importedNamespace=ImportedFQN - public Group getGroup() { return cGroup; } - - //"import" - public Keyword getImportKeyword_0() { return cImportKeyword_0; } - - //importedNamespace=ImportedFQN - public Assignment getImportedNamespaceAssignment_1() { return cImportedNamespaceAssignment_1; } - - //ImportedFQN - public RuleCall getImportedNamespaceImportedFQNParserRuleCall_1_0() { return cImportedNamespaceImportedFQNParserRuleCall_1_0; } - } - - public class ImportedFQNElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ImportedFQN"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final RuleCall cFQNParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0); - private final Group cGroup_1 = (Group)cGroup.eContents().get(1); - private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); - private final Keyword cAsteriskKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1); - - //ImportedFQN: - // FQN ("." "*")?; - public ParserRule getRule() { return rule; } - - //FQN ("." "*")? - public Group getGroup() { return cGroup; } - - //FQN - public RuleCall getFQNParserRuleCall_0() { return cFQNParserRuleCall_0; } - - //("." "*")? - public Group getGroup_1() { return cGroup_1; } - - //"." - public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; } - - //"*" - public Keyword getAsteriskKeyword_1_1() { return cAsteriskKeyword_1_1; } - } - - public class FQNElements extends AbstractParserRuleElementFinder { - private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "FQN"); - private final Group cGroup = (Group)rule.eContents().get(1); - private final RuleCall cIDTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0); - private final Group cGroup_1 = (Group)cGroup.eContents().get(1); - private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0); - private final RuleCall cIDTerminalRuleCall_1_1 = (RuleCall)cGroup_1.eContents().get(1); - - //FQN: - // ID ("." ID)*; - public ParserRule getRule() { return rule; } - - //ID ("." ID)* - public Group getGroup() { return cGroup; } - - //ID - public RuleCall getIDTerminalRuleCall_0() { return cIDTerminalRuleCall_0; } - - //("." ID)* - public Group getGroup_1() { return cGroup_1; } - - //"." - public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; } - - //ID - public RuleCall getIDTerminalRuleCall_1_1() { return cIDTerminalRuleCall_1_1; } - } - - - public class PrimitiveTypeElements extends AbstractEnumRuleElementFinder { - private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "PrimitiveType"); - private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); - private final EnumLiteralDeclaration cVoidEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0); - private final Keyword cVoidVoidKeyword_0_0 = (Keyword)cVoidEnumLiteralDeclaration_0.eContents().get(0); - private final EnumLiteralDeclaration cInt8EnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1); - private final Keyword cInt8Int8Keyword_1_0 = (Keyword)cInt8EnumLiteralDeclaration_1.eContents().get(0); - private final EnumLiteralDeclaration cInt16EnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2); - private final Keyword cInt16Int16Keyword_2_0 = (Keyword)cInt16EnumLiteralDeclaration_2.eContents().get(0); - private final EnumLiteralDeclaration cInt32EnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3); - private final Keyword cInt32Int32Keyword_3_0 = (Keyword)cInt32EnumLiteralDeclaration_3.eContents().get(0); - private final EnumLiteralDeclaration cUint8EnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4); - private final Keyword cUint8Uint8Keyword_4_0 = (Keyword)cUint8EnumLiteralDeclaration_4.eContents().get(0); - private final EnumLiteralDeclaration cUint16EnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5); - private final Keyword cUint16Uint16Keyword_5_0 = (Keyword)cUint16EnumLiteralDeclaration_5.eContents().get(0); - private final EnumLiteralDeclaration cUint32EnumLiteralDeclaration_6 = (EnumLiteralDeclaration)cAlternatives.eContents().get(6); - private final Keyword cUint32Uint32Keyword_6_0 = (Keyword)cUint32EnumLiteralDeclaration_6.eContents().get(0); - private final EnumLiteralDeclaration cFloat32EnumLiteralDeclaration_7 = (EnumLiteralDeclaration)cAlternatives.eContents().get(7); - private final Keyword cFloat32Float32Keyword_7_0 = (Keyword)cFloat32EnumLiteralDeclaration_7.eContents().get(0); - private final EnumLiteralDeclaration cFloat64EnumLiteralDeclaration_8 = (EnumLiteralDeclaration)cAlternatives.eContents().get(8); - private final Keyword cFloat64Float64Keyword_8_0 = (Keyword)cFloat64EnumLiteralDeclaration_8.eContents().get(0); - private final EnumLiteralDeclaration cBooleanEnumLiteralDeclaration_9 = (EnumLiteralDeclaration)cAlternatives.eContents().get(9); - private final Keyword cBooleanBooleanKeyword_9_0 = (Keyword)cBooleanEnumLiteralDeclaration_9.eContents().get(0); - private final EnumLiteralDeclaration cStringEnumLiteralDeclaration_10 = (EnumLiteralDeclaration)cAlternatives.eContents().get(10); - private final Keyword cStringStringKeyword_10_0 = (Keyword)cStringEnumLiteralDeclaration_10.eContents().get(0); - private final EnumLiteralDeclaration cCharEnumLiteralDeclaration_11 = (EnumLiteralDeclaration)cAlternatives.eContents().get(11); - private final Keyword cCharCharKeyword_11_0 = (Keyword)cCharEnumLiteralDeclaration_11.eContents().get(0); - - //// ************************************************************** - // - //// data class - // - //// cf. decision DSL2: fixed size data types - // - //// convert appropriately for Java and issue an error if size not available - // - //enum PrimitiveType: - // void | int8 | int16 | int32 | uint8 | uint16 | uint32 | float32 | float64 | boolean | string | char; - public EnumRule getRule() { return rule; } - - //void | int8 | int16 | int32 | uint8 | uint16 | uint32 | float32 | float64 | boolean | string | char - public Alternatives getAlternatives() { return cAlternatives; } - - //void - public EnumLiteralDeclaration getVoidEnumLiteralDeclaration_0() { return cVoidEnumLiteralDeclaration_0; } - - //"void" - public Keyword getVoidVoidKeyword_0_0() { return cVoidVoidKeyword_0_0; } - - //int8 - public EnumLiteralDeclaration getInt8EnumLiteralDeclaration_1() { return cInt8EnumLiteralDeclaration_1; } - - //"int8" - public Keyword getInt8Int8Keyword_1_0() { return cInt8Int8Keyword_1_0; } - - //int16 - public EnumLiteralDeclaration getInt16EnumLiteralDeclaration_2() { return cInt16EnumLiteralDeclaration_2; } - - //"int16" - public Keyword getInt16Int16Keyword_2_0() { return cInt16Int16Keyword_2_0; } - - //int32 - public EnumLiteralDeclaration getInt32EnumLiteralDeclaration_3() { return cInt32EnumLiteralDeclaration_3; } - - //"int32" - public Keyword getInt32Int32Keyword_3_0() { return cInt32Int32Keyword_3_0; } - - //uint8 - public EnumLiteralDeclaration getUint8EnumLiteralDeclaration_4() { return cUint8EnumLiteralDeclaration_4; } - - //"uint8" - public Keyword getUint8Uint8Keyword_4_0() { return cUint8Uint8Keyword_4_0; } - - //uint16 - public EnumLiteralDeclaration getUint16EnumLiteralDeclaration_5() { return cUint16EnumLiteralDeclaration_5; } - - //"uint16" - public Keyword getUint16Uint16Keyword_5_0() { return cUint16Uint16Keyword_5_0; } - - //uint32 - public EnumLiteralDeclaration getUint32EnumLiteralDeclaration_6() { return cUint32EnumLiteralDeclaration_6; } - - //"uint32" - public Keyword getUint32Uint32Keyword_6_0() { return cUint32Uint32Keyword_6_0; } - - //float32 - public EnumLiteralDeclaration getFloat32EnumLiteralDeclaration_7() { return cFloat32EnumLiteralDeclaration_7; } - - //"float32" - public Keyword getFloat32Float32Keyword_7_0() { return cFloat32Float32Keyword_7_0; } - - //float64 - public EnumLiteralDeclaration getFloat64EnumLiteralDeclaration_8() { return cFloat64EnumLiteralDeclaration_8; } - - //"float64" - public Keyword getFloat64Float64Keyword_8_0() { return cFloat64Float64Keyword_8_0; } - - //boolean - public EnumLiteralDeclaration getBooleanEnumLiteralDeclaration_9() { return cBooleanEnumLiteralDeclaration_9; } - - //"boolean" - public Keyword getBooleanBooleanKeyword_9_0() { return cBooleanBooleanKeyword_9_0; } - - //string - public EnumLiteralDeclaration getStringEnumLiteralDeclaration_10() { return cStringEnumLiteralDeclaration_10; } - - //"string" - public Keyword getStringStringKeyword_10_0() { return cStringStringKeyword_10_0; } - - //char - public EnumLiteralDeclaration getCharEnumLiteralDeclaration_11() { return cCharEnumLiteralDeclaration_11; } - - //"char" - public Keyword getCharCharKeyword_11_0() { return cCharCharKeyword_11_0; } - } - - private RoomModelElements pRoomModel; - private RoomClassElements pRoomClass; - private StructureClassElements pStructureClass; - private ActorContainerClassElements pActorContainerClass; - private PrimitiveTypeElements unknownRulePrimitiveType; - private TypedIDElements pTypedID; - private FreeTypedIDElements pFreeTypedID; - private TypeElements pType; - private FreeTypeElements pFreeType; - private DataClassElements pDataClass; - private AttributeElements pAttribute; - private OperationElements pOperation; - private ProtocolClassElements pProtocolClass; - private MessageElements pMessage; - private PortClassElements pPortClass; - private MessageHandlerElements pMessageHandler; - private ProtocolSemanticsElements pProtocolSemantics; - private SemanticsRuleElements pSemanticsRule; - private SemanticsInRuleElements pSemanticsInRule; - private SemanticsOutRuleElements pSemanticsOutRule; - private ActorClassElements pActorClass; - private InterfaceItemElements pInterfaceItem; - private PortElements pPort; - private ExternalPortElements pExternalPort; - private SAPRefElements pSAPRef; - private SPPRefElements pSPPRef; - private ServiceImplementationElements pServiceImplementation; - private LogicalSystemElements pLogicalSystem; - private ActorContainerRefElements pActorContainerRef; - private SubSystemRefElements pSubSystemRef; - private SubSystemClassElements pSubSystemClass; - private LogicalThreadElements pLogicalThread; - private ActorInstancePathElements pActorInstancePath; - private BindingElements pBinding; - private BindingEndPointElements pBindingEndPoint; - private LayerConnectionElements pLayerConnection; - private SAPointElements pSAPoint; - private RefSAPointElements pRefSAPoint; - private RelaySAPointElements pRelaySAPoint; - private SPPointElements pSPPoint; - private ActorRefElements pActorRef; - private StateGraphNodeElements pStateGraphNode; - private StateGraphItemElements pStateGraphItem; - private StateElements pState; - private StateGraphElements pStateGraph; - private StateMachineElements pStateMachine; - private BaseStateElements pBaseState; - private RefinedStateElements pRefinedState; - private DetailCodeElements pDetailCode; - private TrPointElements pTrPoint; - private TransitionPointElements pTransitionPoint; - private EntryPointElements pEntryPoint; - private ExitPointElements pExitPoint; - private ChoicePointElements pChoicePoint; - private TransitionElements pTransition; - private NonInitialTransitionElements pNonInitialTransition; - private InitialTransitionElements pInitialTransition; - private ContinuationTransitionElements pContinuationTransition; - private TriggeredTransitionElements pTriggeredTransition; - private CPBranchTransitionElements pCPBranchTransition; - private TransitionTerminalElements pTransitionTerminal; - private StateTerminalElements pStateTerminal; - private TrPointTerminalElements pTrPointTerminal; - private SubStateTrPointTerminalElements pSubStateTrPointTerminal; - private ChoicepointTerminalElements pChoicepointTerminal; - private TriggerElements pTrigger; - private MessageFromIfElements pMessageFromIf; - private GuardElements pGuard; - private ImportElements pImport; - private ImportedFQNElements pImportedFQN; - private FQNElements pFQN; - - private final GrammarProvider grammarProvider; - - private TerminalsGrammarAccess gaTerminals; - - @Inject - public RoomGrammarAccess(GrammarProvider grammarProvider, - TerminalsGrammarAccess gaTerminals) { - this.grammarProvider = grammarProvider; - this.gaTerminals = gaTerminals; - } - - public Grammar getGrammar() { - return grammarProvider.getGrammar(this); - } - - - public TerminalsGrammarAccess getTerminalsGrammarAccess() { - return gaTerminals; - } - - - //RoomModel: - // "RoomModel" name=FQN "{" imports+=Import* (dataClasses+=DataClass | protocolClasses+=ProtocolClass | - // actorClasses+=ActorClass | subSystemClasses+=SubSystemClass | systems+=LogicalSystem)+ "}"; - public RoomModelElements getRoomModelAccess() { - return (pRoomModel != null) ? pRoomModel : (pRoomModel = new RoomModelElements()); - } - - public ParserRule getRoomModelRule() { - return getRoomModelAccess().getRule(); - } - - //RoomClass: - // DataClass | ProtocolClass | StructureClass; - public RoomClassElements getRoomClassAccess() { - return (pRoomClass != null) ? pRoomClass : (pRoomClass = new RoomClassElements()); - } - - public ParserRule getRoomClassRule() { - return getRoomClassAccess().getRule(); - } - - //StructureClass: - // ActorContainerClass | LogicalSystem; - public StructureClassElements getStructureClassAccess() { - return (pStructureClass != null) ? pStructureClass : (pStructureClass = new StructureClassElements()); - } - - public ParserRule getStructureClassRule() { - return getStructureClassAccess().getRule(); - } - - //ActorContainerClass: - // ActorClass | SubSystemClass; - public ActorContainerClassElements getActorContainerClassAccess() { - return (pActorContainerClass != null) ? pActorContainerClass : (pActorContainerClass = new ActorContainerClassElements()); - } - - public ParserRule getActorContainerClassRule() { - return getActorContainerClassAccess().getRule(); - } - - //// ************************************************************** - // - //// data class - // - //// cf. decision DSL2: fixed size data types - // - //// convert appropriately for Java and issue an error if size not available - // - //enum PrimitiveType: - // void | int8 | int16 | int32 | uint8 | uint16 | uint32 | float32 | float64 | boolean | string | char; - public PrimitiveTypeElements getPrimitiveTypeAccess() { - return (unknownRulePrimitiveType != null) ? unknownRulePrimitiveType : (unknownRulePrimitiveType = new PrimitiveTypeElements()); - } - - public EnumRule getPrimitiveTypeRule() { - return getPrimitiveTypeAccess().getRule(); - } - - //TypedID: - // name=ID ":" type=Type; - public TypedIDElements getTypedIDAccess() { - return (pTypedID != null) ? pTypedID : (pTypedID = new TypedIDElements()); - } - - public ParserRule getTypedIDRule() { - return getTypedIDAccess().getRule(); - } - - //FreeTypedID: - // name=ID ":" type=FreeType; - public FreeTypedIDElements getFreeTypedIDAccess() { - return (pFreeTypedID != null) ? pFreeTypedID : (pFreeTypedID = new FreeTypedIDElements()); - } - - public ParserRule getFreeTypedIDRule() { - return getFreeTypedIDAccess().getRule(); - } - - //Type: - // prim=PrimitiveType | type=[DataClass|FQN]; - public TypeElements getTypeAccess() { - return (pType != null) ? pType : (pType = new TypeElements()); - } - - public ParserRule getTypeRule() { - return getTypeAccess().getRule(); - } - - //FreeType: - // prim=PrimitiveType | type=ID; - public FreeTypeElements getFreeTypeAccess() { - return (pFreeType != null) ? pFreeType : (pFreeType = new FreeTypeElements()); - } - - public ParserRule getFreeTypeRule() { - return getFreeTypeAccess().getRule(); - } - - //// TODOHRR: define detail level language? - // - //DataClass: - // "DataClass" name=ID ("extends" base=[DataClass|FQN])? "{" imports+=Import* attributes+=Attribute+ - // operations+=Operation* "}"; - public DataClassElements getDataClassAccess() { - return (pDataClass != null) ? pDataClass : (pDataClass = new DataClassElements()); - } - - public ParserRule getDataClassRule() { - return getDataClassAccess().getRule(); - } - - //Attribute: - // "Attribute" name=ID ("[" size=INT "]")? ":" type=Type; - public AttributeElements getAttributeAccess() { - return (pAttribute != null) ? pAttribute : (pAttribute = new AttributeElements()); - } - - public ParserRule getAttributeRule() { - return getAttributeAccess().getRule(); - } - - //// TODOHRR: pass arguments and return value by value/reference - // - //Operation: - // "Operation" name=ID "(" (arguments+=FreeTypedID ("," arguments+=FreeTypedID)*)? ")" (":" returntype=FreeType)? - // detailCode=DetailCode; - public OperationElements getOperationAccess() { - return (pOperation != null) ? pOperation : (pOperation = new OperationElements()); - } - - public ParserRule getOperationRule() { - return getOperationAccess().getRule(); - } - - //// ************************************************************** - // - //// protocol class - // - //ProtocolClass: - // "ProtocolClass" name=ID ("extends" base=[ProtocolClass|FQN])? "{" ("usercode1" userCode1=DetailCode)? ("usercode2" - // userCode2=DetailCode)? "incoming" "{" incomingMessages+=Message* "}" "outgoing" "{" outgoingMessages+=Message* "}" - // ("regular" "PortClass" regular=PortClass)? ("conjugate" "PortClass" conjugate=PortClass)? semantics=ProtocolSemantics? - // "}"; - public ProtocolClassElements getProtocolClassAccess() { - return (pProtocolClass != null) ? pProtocolClass : (pProtocolClass = new ProtocolClassElements()); - } - - public ParserRule getProtocolClassRule() { - return getProtocolClassAccess().getRule(); - } - - //Message: - // "Message" name=ID "(" (arguments+=TypedID ("," arguments+=TypedID)*)? ")"; - public MessageElements getMessageAccess() { - return (pMessage != null) ? pMessage : (pMessage = new MessageElements()); - } - - public ParserRule getMessageRule() { - return getMessageAccess().getRule(); - } - - //PortClass: - // "{" ("usercode" userCode=DetailCode)? (attributes+=Attribute | operations+=Operation | msgHandlers+=MessageHandler)+ - // "}"; - public PortClassElements getPortClassAccess() { - return (pPortClass != null) ? pPortClass : (pPortClass = new PortClassElements()); - } - - public ParserRule getPortClassRule() { - return getPortClassAccess().getRule(); - } - - //MessageHandler: - // "handle" msg=[Message] detailCode=DetailCode; - public MessageHandlerElements getMessageHandlerAccess() { - return (pMessageHandler != null) ? pMessageHandler : (pMessageHandler = new MessageHandlerElements()); - } - - public ParserRule getMessageHandlerRule() { - return getMessageHandlerAccess().getRule(); - } - - //ProtocolSemantics: - // "semantics" "{" rules+=SemanticsRule+ "}"; - public ProtocolSemanticsElements getProtocolSemanticsAccess() { - return (pProtocolSemantics != null) ? pProtocolSemantics : (pProtocolSemantics = new ProtocolSemanticsElements()); - } - - public ParserRule getProtocolSemanticsRule() { - return getProtocolSemanticsAccess().getRule(); - } - - //SemanticsRule: - // SemanticsInRule | SemanticsOutRule; - public SemanticsRuleElements getSemanticsRuleAccess() { - return (pSemanticsRule != null) ? pSemanticsRule : (pSemanticsRule = new SemanticsRuleElements()); - } - - public ParserRule getSemanticsRuleRule() { - return getSemanticsRuleAccess().getRule(); - } - - //SemanticsInRule: - // "in" msg=[Message] "->" "{" followUps+=SemanticsRule* "}"; - public SemanticsInRuleElements getSemanticsInRuleAccess() { - return (pSemanticsInRule != null) ? pSemanticsInRule : (pSemanticsInRule = new SemanticsInRuleElements()); - } - - public ParserRule getSemanticsInRuleRule() { - return getSemanticsInRuleAccess().getRule(); - } - - //SemanticsOutRule: - // "out" msg=[Message] "->" "{" followUps+=SemanticsRule* "}"; - public SemanticsOutRuleElements getSemanticsOutRuleAccess() { - return (pSemanticsOutRule != null) ? pSemanticsOutRule : (pSemanticsOutRule = new SemanticsOutRuleElements()); - } - - public ParserRule getSemanticsOutRuleRule() { - return getSemanticsOutRuleAccess().getRule(); - } - - //// ************************************************************** - // - //// actor class - // - //// some notes on ports - // - //// - // - //// in ROOM ports can be contained in the structure and/or the interface - // - //// p in s ==> internal end port - // - //// p in i ==> relay port - // - //// p in i and p in s ==> external end port - // - //// since double containment is not supported we decided to define external ports as reference to interface ports - // - //ActorClass: - // abstract?="abstract"? "ActorClass" name=ID ("extends" base=[ActorClass|FQN])? "{" ("Interface" "{" ifPorts+=Port* - // ifSPPs+=SPPRef* "}")? ("Structure" "{" ("usercode1" userCode1=DetailCode)? ("usercode2" userCode2=DetailCode)? - // (intPorts+=Port | extPorts+=ExternalPort)* serviceImplementations+=ServiceImplementation* strSAPs+=SAPRef* - // attributes+=Attribute* actorRefs+=ActorRef* bindings+=Binding* connections+=LayerConnection* "}")? ("Behavior" "{" - // operations+=Operation* stateMachine=StateMachine? "}")? "}"; - public ActorClassElements getActorClassAccess() { - return (pActorClass != null) ? pActorClass : (pActorClass = new ActorClassElements()); - } - - public ParserRule getActorClassRule() { - return getActorClassAccess().getRule(); - } - - //InterfaceItem: - // Port | SAPRef | SPPRef; - public InterfaceItemElements getInterfaceItemAccess() { - return (pInterfaceItem != null) ? pInterfaceItem : (pInterfaceItem = new InterfaceItemElements()); - } - - public ParserRule getInterfaceItemRule() { - return getInterfaceItemAccess().getRule(); - } - - //Port: - // conjugated?="conjugated"? "Port" name=ID ("[" multiplicity=INT "]")? ":" protocol=[ProtocolClass|FQN]; - public PortElements getPortAccess() { - return (pPort != null) ? pPort : (pPort = new PortElements()); - } - - public ParserRule getPortRule() { - return getPortAccess().getRule(); - } - - //ExternalPort: - // "external" "Port" ifport=[Port]; - public ExternalPortElements getExternalPortAccess() { - return (pExternalPort != null) ? pExternalPort : (pExternalPort = new ExternalPortElements()); - } - - public ParserRule getExternalPortRule() { - return getExternalPortAccess().getRule(); - } - - //SAPRef: // we omitted the SAP type (Timing/Frame/Exception) - // - // "SAP" name=ID ":" protocol=[ProtocolClass|FQN]; - public SAPRefElements getSAPRefAccess() { - return (pSAPRef != null) ? pSAPRef : (pSAPRef = new SAPRefElements()); - } - - public ParserRule getSAPRefRule() { - return getSAPRefAccess().getRule(); - } - - //SPPRef: - // "SPP" name=ID ":" protocol=[ProtocolClass|FQN]; - public SPPRefElements getSPPRefAccess() { - return (pSPPRef != null) ? pSPPRef : (pSPPRef = new SPPRefElements()); - } - - public ParserRule getSPPRefRule() { - return getSPPRefAccess().getRule(); - } - - //ServiceImplementation: - // "ServiceImplementation" "of" spp=[SPPRef]; - public ServiceImplementationElements getServiceImplementationAccess() { - return (pServiceImplementation != null) ? pServiceImplementation : (pServiceImplementation = new ServiceImplementationElements()); - } - - public ParserRule getServiceImplementationRule() { - return getServiceImplementationAccess().getRule(); - } - - //LogicalSystem: - // "LogicalSystem" name=ID "{" subSystems+=SubSystemRef+ bindings+=Binding* connections+=LayerConnection* "}"; - public LogicalSystemElements getLogicalSystemAccess() { - return (pLogicalSystem != null) ? pLogicalSystem : (pLogicalSystem = new LogicalSystemElements()); - } - - public ParserRule getLogicalSystemRule() { - return getLogicalSystemAccess().getRule(); - } - - //ActorContainerRef: - // SubSystemRef | ActorRef; - public ActorContainerRefElements getActorContainerRefAccess() { - return (pActorContainerRef != null) ? pActorContainerRef : (pActorContainerRef = new ActorContainerRefElements()); - } - - public ParserRule getActorContainerRefRule() { - return getActorContainerRefAccess().getRule(); - } - - //SubSystemRef: - // "SubSystemRef" name=ID ":" type=[SubSystemClass|FQN]; - public SubSystemRefElements getSubSystemRefAccess() { - return (pSubSystemRef != null) ? pSubSystemRef : (pSubSystemRef = new SubSystemRefElements()); - } - - public ParserRule getSubSystemRefRule() { - return getSubSystemRefAccess().getRule(); - } - - //SubSystemClass: - // "SubSystemClass" name=ID "{" relayPorts+=Port* ifSPPs+=SPPRef* actorRefs+=ActorRef+ bindings+=Binding* - // connections+=LayerConnection* threads+=LogicalThread* "}"; - public SubSystemClassElements getSubSystemClassAccess() { - return (pSubSystemClass != null) ? pSubSystemClass : (pSubSystemClass = new SubSystemClassElements()); - } - - public ParserRule getSubSystemClassRule() { - return getSubSystemClassAccess().getRule(); - } - - //LogicalThread: - // "LogicalThread" name=ID "{" instances+=ActorInstancePath ("," instances+=ActorInstancePath)* "}"; - public LogicalThreadElements getLogicalThreadAccess() { - return (pLogicalThread != null) ? pLogicalThread : (pLogicalThread = new LogicalThreadElements()); - } - - public ParserRule getLogicalThreadRule() { - return getLogicalThreadAccess().getRule(); - } - - //ActorInstancePath: - // segments+=ID ("." segments+=ID)*; - public ActorInstancePathElements getActorInstancePathAccess() { - return (pActorInstancePath != null) ? pActorInstancePath : (pActorInstancePath = new ActorInstancePathElements()); - } - - public ParserRule getActorInstancePathRule() { - return getActorInstancePathAccess().getRule(); - } - - //// TODOHRR: bindings for replicated ports - // - //// (1) declare several bindings - // - //// (2) use a notation with 1 to n bindings - // - //Binding: - // "Binding" endpoint1=BindingEndPoint "and" endpoint2=BindingEndPoint; - public BindingElements getBindingAccess() { - return (pBinding != null) ? pBinding : (pBinding = new BindingElements()); - } - - public ParserRule getBindingRule() { - return getBindingAccess().getRule(); - } - - //BindingEndPoint: - // (actorRef=[ActorContainerRef] ".")? port=[Port]; - public BindingEndPointElements getBindingEndPointAccess() { - return (pBindingEndPoint != null) ? pBindingEndPoint : (pBindingEndPoint = new BindingEndPointElements()); - } - - public ParserRule getBindingEndPointRule() { - return getBindingEndPointAccess().getRule(); - } - - //LayerConnection: - // "LayerConnection" from=SAPoint "satisfied_by" to=SPPoint; - public LayerConnectionElements getLayerConnectionAccess() { - return (pLayerConnection != null) ? pLayerConnection : (pLayerConnection = new LayerConnectionElements()); - } - - public ParserRule getLayerConnectionRule() { - return getLayerConnectionAccess().getRule(); - } - - //SAPoint: - // RefSAPoint | RelaySAPoint; - public SAPointElements getSAPointAccess() { - return (pSAPoint != null) ? pSAPoint : (pSAPoint = new SAPointElements()); - } - - public ParserRule getSAPointRule() { - return getSAPointAccess().getRule(); - } - - //RefSAPoint: // satisfies a sub actor - // - // "ref" ref=[ActorContainerRef]; - public RefSAPointElements getRefSAPointAccess() { - return (pRefSAPoint != null) ? pRefSAPoint : (pRefSAPoint = new RefSAPointElements()); - } - - public ParserRule getRefSAPointRule() { - return getRefSAPointAccess().getRule(); - } - - //RelaySAPoint: // relays from own interface - // - // "relay_sap" relay=[SPPRef]; - public RelaySAPointElements getRelaySAPointAccess() { - return (pRelaySAPoint != null) ? pRelaySAPoint : (pRelaySAPoint = new RelaySAPointElements()); - } - - public ParserRule getRelaySAPointRule() { - return getRelaySAPointAccess().getRule(); - } - - //SPPoint: - // ref=[ActorContainerRef] "." service=[SPPRef]; - public SPPointElements getSPPointAccess() { - return (pSPPoint != null) ? pSPPoint : (pSPPoint = new SPPointElements()); - } - - public ParserRule getSPPointRule() { - return getSPPointAccess().getRule(); - } - - //// TODOHRR: support replicated actors - // - //ActorRef: - // "ActorRef" name=ID ":" type=[ActorClass|FQN]; - public ActorRefElements getActorRefAccess() { - return (pActorRef != null) ? pActorRef : (pActorRef = new ActorRefElements()); - } - - public ParserRule getActorRefRule() { - return getActorRefAccess().getRule(); - } - - //// ************************************************************** - // - //// state machine - // - //StateGraphNode: - // State | ChoicePoint | TrPoint; - public StateGraphNodeElements getStateGraphNodeAccess() { - return (pStateGraphNode != null) ? pStateGraphNode : (pStateGraphNode = new StateGraphNodeElements()); - } - - public ParserRule getStateGraphNodeRule() { - return getStateGraphNodeAccess().getRule(); - } - - //StateGraphItem: - // StateGraphNode | Transition; - public StateGraphItemElements getStateGraphItemAccess() { - return (pStateGraphItem != null) ? pStateGraphItem : (pStateGraphItem = new StateGraphItemElements()); - } - - public ParserRule getStateGraphItemRule() { - return getStateGraphItemAccess().getRule(); - } - - //State: - // BaseState | RefinedState; - public StateElements getStateAccess() { - return (pState != null) ? pState : (pState = new StateElements()); - } - - public ParserRule getStateRule() { - return getStateAccess().getRule(); - } - - //StateGraph: - // "{" (states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition)+ "}"; - public StateGraphElements getStateGraphAccess() { - return (pStateGraph != null) ? pStateGraph : (pStateGraph = new StateGraphElements()); - } - - public ParserRule getStateGraphRule() { - return getStateGraphAccess().getRule(); - } - - //StateMachine returns StateGraph: - // "StateMachine" "{" (states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition)+ "}"; - public StateMachineElements getStateMachineAccess() { - return (pStateMachine != null) ? pStateMachine : (pStateMachine = new StateMachineElements()); - } - - public ParserRule getStateMachineRule() { - return getStateMachineAccess().getRule(); - } - - //// entry and exit code have multiplicity many: in BaseState to be able to add derived class codes here, - // - //// in RefinedState to still have both features in the common base class State - // - //BaseState: - // "State" name=ID "{" ("entry" entryCode=DetailCode)? ("exit" exitCode=DetailCode)? ("subgraph" subgraph=StateGraph)? - // "}"; - public BaseStateElements getBaseStateAccess() { - return (pBaseState != null) ? pBaseState : (pBaseState = new BaseStateElements()); - } - - public ParserRule getBaseStateRule() { - return getBaseStateAccess().getRule(); - } - - //RefinedState: - // "RefinedState" base=[BaseState|FQN] "{" ("entry" entryCode=DetailCode)? ("exit" exitCode=DetailCode)? ("subgraph" - // subgraph=StateGraph)? "}"; - public RefinedStateElements getRefinedStateAccess() { - return (pRefinedState != null) ? pRefinedState : (pRefinedState = new RefinedStateElements()); - } - - public ParserRule getRefinedStateRule() { - return getRefinedStateAccess().getRule(); - } - - //// TODOHRR: provide a means to call super class code (cf. ROOM p. 310f) - // - //// super() keyword or flag like in Trice - // - //DetailCode: - // "{" commands+=STRING+ "}"; - public DetailCodeElements getDetailCodeAccess() { - return (pDetailCode != null) ? pDetailCode : (pDetailCode = new DetailCodeElements()); - } - - public ParserRule getDetailCodeRule() { - return getDetailCodeAccess().getRule(); - } - - //TrPoint: - // TransitionPoint | EntryPoint | ExitPoint; - public TrPointElements getTrPointAccess() { - return (pTrPoint != null) ? pTrPoint : (pTrPoint = new TrPointElements()); - } - - public ParserRule getTrPointRule() { - return getTrPointAccess().getRule(); - } - - //TransitionPoint: - // handler?="handler"? "TransitionPoint" name=ID; - public TransitionPointElements getTransitionPointAccess() { - return (pTransitionPoint != null) ? pTransitionPoint : (pTransitionPoint = new TransitionPointElements()); - } - - public ParserRule getTransitionPointRule() { - return getTransitionPointAccess().getRule(); - } - - //EntryPoint: - // "EntryPoint" name=ID; - public EntryPointElements getEntryPointAccess() { - return (pEntryPoint != null) ? pEntryPoint : (pEntryPoint = new EntryPointElements()); - } - - public ParserRule getEntryPointRule() { - return getEntryPointAccess().getRule(); - } - - //ExitPoint: - // "ExitPoint" name=ID; - public ExitPointElements getExitPointAccess() { - return (pExitPoint != null) ? pExitPoint : (pExitPoint = new ExitPointElements()); - } - - public ParserRule getExitPointRule() { - return getExitPointAccess().getRule(); - } - - //ChoicePoint: - // "ChoicePoint" name=ID; - public ChoicePointElements getChoicePointAccess() { - return (pChoicePoint != null) ? pChoicePoint : (pChoicePoint = new ChoicePointElements()); - } - - public ParserRule getChoicePointRule() { - return getChoicePointAccess().getRule(); - } - - //Transition: - // InitialTransition | NonInitialTransition; - public TransitionElements getTransitionAccess() { - return (pTransition != null) ? pTransition : (pTransition = new TransitionElements()); - } - - public ParserRule getTransitionRule() { - return getTransitionAccess().getRule(); - } - - //NonInitialTransition: - // TriggeredTransition | ContinuationTransition | CPBranchTransition; - public NonInitialTransitionElements getNonInitialTransitionAccess() { - return (pNonInitialTransition != null) ? pNonInitialTransition : (pNonInitialTransition = new NonInitialTransitionElements()); - } - - public ParserRule getNonInitialTransitionRule() { - return getNonInitialTransitionAccess().getRule(); - } - - //InitialTransition: - // "Transition" name=ID? ":" "initial" "->" to=TransitionTerminal "{" ("action" action=DetailCode)? "}"; - public InitialTransitionElements getInitialTransitionAccess() { - return (pInitialTransition != null) ? pInitialTransition : (pInitialTransition = new InitialTransitionElements()); - } - - public ParserRule getInitialTransitionRule() { - return getInitialTransitionAccess().getRule(); - } - - //ContinuationTransition: - // "Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" ("action" action=DetailCode)? "}"; - public ContinuationTransitionElements getContinuationTransitionAccess() { - return (pContinuationTransition != null) ? pContinuationTransition : (pContinuationTransition = new ContinuationTransitionElements()); - } - - public ParserRule getContinuationTransitionRule() { - return getContinuationTransitionAccess().getRule(); - } - - //TriggeredTransition: - // "Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" "triggers" "{" triggers+=Trigger - // ("or" triggers+=Trigger)* "}" ("action" action=DetailCode)? "}"; - public TriggeredTransitionElements getTriggeredTransitionAccess() { - return (pTriggeredTransition != null) ? pTriggeredTransition : (pTriggeredTransition = new TriggeredTransitionElements()); - } - - public ParserRule getTriggeredTransitionRule() { - return getTriggeredTransitionAccess().getRule(); - } - - //CPBranchTransition: - // "Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" "cond" condition=DetailCode ("action" - // action=DetailCode)? "}"; - public CPBranchTransitionElements getCPBranchTransitionAccess() { - return (pCPBranchTransition != null) ? pCPBranchTransition : (pCPBranchTransition = new CPBranchTransitionElements()); - } - - public ParserRule getCPBranchTransitionRule() { - return getCPBranchTransitionAccess().getRule(); - } - - //TransitionTerminal: - // StateTerminal | TrPointTerminal | SubStateTrPointTerminal | ChoicepointTerminal; - public TransitionTerminalElements getTransitionTerminalAccess() { - return (pTransitionTerminal != null) ? pTransitionTerminal : (pTransitionTerminal = new TransitionTerminalElements()); - } - - public ParserRule getTransitionTerminalRule() { - return getTransitionTerminalAccess().getRule(); - } - - //StateTerminal: - // state=[BaseState]; - public StateTerminalElements getStateTerminalAccess() { - return (pStateTerminal != null) ? pStateTerminal : (pStateTerminal = new StateTerminalElements()); - } - - public ParserRule getStateTerminalRule() { - return getStateTerminalAccess().getRule(); - } - - //TrPointTerminal: - // "my" trPoint=[TrPoint]; - public TrPointTerminalElements getTrPointTerminalAccess() { - return (pTrPointTerminal != null) ? pTrPointTerminal : (pTrPointTerminal = new TrPointTerminalElements()); - } - - public ParserRule getTrPointTerminalRule() { - return getTrPointTerminalAccess().getRule(); - } - - //SubStateTrPointTerminal: - // trPoint=[TrPoint] "of" state=[BaseState]; - public SubStateTrPointTerminalElements getSubStateTrPointTerminalAccess() { - return (pSubStateTrPointTerminal != null) ? pSubStateTrPointTerminal : (pSubStateTrPointTerminal = new SubStateTrPointTerminalElements()); - } - - public ParserRule getSubStateTrPointTerminalRule() { - return getSubStateTrPointTerminalAccess().getRule(); - } - - //ChoicepointTerminal: - // "cp" cp=[ChoicePoint]; - public ChoicepointTerminalElements getChoicepointTerminalAccess() { - return (pChoicepointTerminal != null) ? pChoicepointTerminal : (pChoicepointTerminal = new ChoicepointTerminalElements()); - } - - public ParserRule getChoicepointTerminalRule() { - return getChoicepointTerminalAccess().getRule(); - } - - ////TransitionSource: TransitionTerminal|ChoicePointCaseRef|ChoicePointDefaultRef; - // - ////TransitionSource: TransitionTerminal|ChoicePointRef; - // - ////TransitionDest: TransitionTerminal|ChoicePointRef; - // - ////ChoicePointCaseRef: 'cp' cp=[ChoicePoint|ID] 'case' case=[ChoicePointCase|ID]; - // - ////ChoicePointDefaultRef: 'cp' cp=[ChoicePoint|ID] 'default'; - // - ////ChoicePointRef: 'cp' cp=[ChoicePoint|ID]; - // - //Trigger: - // "<" msgFromIfPairs+=MessageFromIf ("|" msgFromIfPairs+=MessageFromIf)* guard=Guard? ">"; - public TriggerElements getTriggerAccess() { - return (pTrigger != null) ? pTrigger : (pTrigger = new TriggerElements()); - } - - public ParserRule getTriggerRule() { - return getTriggerAccess().getRule(); - } - - //MessageFromIf: - // message=[Message] ":" from=[InterfaceItem]; - public MessageFromIfElements getMessageFromIfAccess() { - return (pMessageFromIf != null) ? pMessageFromIf : (pMessageFromIf = new MessageFromIfElements()); - } - - public ParserRule getMessageFromIfRule() { - return getMessageFromIfAccess().getRule(); - } - - //Guard: - // "guard" guard=DetailCode; - public GuardElements getGuardAccess() { - return (pGuard != null) ? pGuard : (pGuard = new GuardElements()); - } - - public ParserRule getGuardRule() { - return getGuardAccess().getRule(); - } - - //// ************************************************************** - // - //// general - // - //Import: - // "import" importedNamespace=ImportedFQN; - public ImportElements getImportAccess() { - return (pImport != null) ? pImport : (pImport = new ImportElements()); - } - - public ParserRule getImportRule() { - return getImportAccess().getRule(); - } - - //ImportedFQN: - // FQN ("." "*")?; - public ImportedFQNElements getImportedFQNAccess() { - return (pImportedFQN != null) ? pImportedFQN : (pImportedFQN = new ImportedFQNElements()); - } - - public ParserRule getImportedFQNRule() { - return getImportedFQNAccess().getRule(); - } - - //FQN: - // ID ("." ID)*; - public FQNElements getFQNAccess() { - return (pFQN != null) ? pFQN : (pFQN = new FQNElements()); - } - - public ParserRule getFQNRule() { - return getFQNAccess().getRule(); - } - - //terminal ID: - // "^"? ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "_" | "0".."9")*; - public TerminalRule getIDRule() { - return gaTerminals.getIDRule(); - } - - //terminal INT returns ecore::EInt: - // "0".."9"+; - public TerminalRule getINTRule() { - return gaTerminals.getINTRule(); - } - - //terminal STRING: - // "\"" ("\\" ("b" | "t" | "n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\""))* "\"" | "\'" ("\\" ("b" | "t" | - // "n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\'"))* "\'"; - public TerminalRule getSTRINGRule() { - return gaTerminals.getSTRINGRule(); - } - - //terminal ML_COMMENT: - // "/ *"->"* /"; - public TerminalRule getML_COMMENTRule() { - return gaTerminals.getML_COMMENTRule(); - } - - //terminal SL_COMMENT: - // "//" !("\n" | "\r")* ("\r"? "\n")?; - public TerminalRule getSL_COMMENTRule() { - return gaTerminals.getSL_COMMENTRule(); - } - - //terminal WS: - // (" " | "\t" | "\r" | "\n")+; - public TerminalRule getWSRule() { - return gaTerminals.getWSRule(); - } - - //terminal ANY_OTHER: - // .; - public TerminalRule getANY_OTHERRule() { - return gaTerminals.getANY_OTHERRule(); - } -} +/*
+* generated by Xtext
+*/
+
+package org.eclipse.etrice.core.services;
+
+import com.google.inject.Singleton;
+import com.google.inject.Inject;
+
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.service.GrammarProvider;
+import org.eclipse.xtext.service.AbstractElementFinder.*;
+
+import org.eclipse.xtext.common.services.TerminalsGrammarAccess;
+
+@Singleton
+public class RoomGrammarAccess extends AbstractGrammarElementFinder {
+
+
+ public class RoomModelElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RoomModel");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cRoomModelKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cNameFQNParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+ private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Assignment cImportsAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cImportsImportParserRuleCall_3_0 = (RuleCall)cImportsAssignment_3.eContents().get(0);
+ private final Alternatives cAlternatives_4 = (Alternatives)cGroup.eContents().get(4);
+ private final Assignment cDataClassesAssignment_4_0 = (Assignment)cAlternatives_4.eContents().get(0);
+ private final RuleCall cDataClassesDataClassParserRuleCall_4_0_0 = (RuleCall)cDataClassesAssignment_4_0.eContents().get(0);
+ private final Assignment cProtocolClassesAssignment_4_1 = (Assignment)cAlternatives_4.eContents().get(1);
+ private final RuleCall cProtocolClassesProtocolClassParserRuleCall_4_1_0 = (RuleCall)cProtocolClassesAssignment_4_1.eContents().get(0);
+ private final Assignment cActorClassesAssignment_4_2 = (Assignment)cAlternatives_4.eContents().get(2);
+ private final RuleCall cActorClassesActorClassParserRuleCall_4_2_0 = (RuleCall)cActorClassesAssignment_4_2.eContents().get(0);
+ private final Assignment cSubSystemClassesAssignment_4_3 = (Assignment)cAlternatives_4.eContents().get(3);
+ private final RuleCall cSubSystemClassesSubSystemClassParserRuleCall_4_3_0 = (RuleCall)cSubSystemClassesAssignment_4_3.eContents().get(0);
+ private final Assignment cSystemsAssignment_4_4 = (Assignment)cAlternatives_4.eContents().get(4);
+ private final RuleCall cSystemsLogicalSystemParserRuleCall_4_4_0 = (RuleCall)cSystemsAssignment_4_4.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
+
+ //RoomModel:
+ // "RoomModel" name=FQN "{" imports+=Import* (dataClasses+=DataClass | protocolClasses+=ProtocolClass |
+ // actorClasses+=ActorClass | subSystemClasses+=SubSystemClass | systems+=LogicalSystem)+ "}";
+ public ParserRule getRule() { return rule; }
+
+ //"RoomModel" name=FQN "{" imports+=Import* (dataClasses+=DataClass | protocolClasses+=ProtocolClass |
+ //actorClasses+=ActorClass | subSystemClasses+=SubSystemClass | systems+=LogicalSystem)+ "}"
+ public Group getGroup() { return cGroup; }
+
+ //"RoomModel"
+ public Keyword getRoomModelKeyword_0() { return cRoomModelKeyword_0; }
+
+ //name=FQN
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //FQN
+ public RuleCall getNameFQNParserRuleCall_1_0() { return cNameFQNParserRuleCall_1_0; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+ //imports+=Import*
+ public Assignment getImportsAssignment_3() { return cImportsAssignment_3; }
+
+ //Import
+ public RuleCall getImportsImportParserRuleCall_3_0() { return cImportsImportParserRuleCall_3_0; }
+
+ //(dataClasses+=DataClass | protocolClasses+=ProtocolClass | actorClasses+=ActorClass | subSystemClasses+=SubSystemClass |
+ //systems+=LogicalSystem)+
+ public Alternatives getAlternatives_4() { return cAlternatives_4; }
+
+ //dataClasses+=DataClass
+ public Assignment getDataClassesAssignment_4_0() { return cDataClassesAssignment_4_0; }
+
+ //DataClass
+ public RuleCall getDataClassesDataClassParserRuleCall_4_0_0() { return cDataClassesDataClassParserRuleCall_4_0_0; }
+
+ //protocolClasses+=ProtocolClass
+ public Assignment getProtocolClassesAssignment_4_1() { return cProtocolClassesAssignment_4_1; }
+
+ //ProtocolClass
+ public RuleCall getProtocolClassesProtocolClassParserRuleCall_4_1_0() { return cProtocolClassesProtocolClassParserRuleCall_4_1_0; }
+
+ //actorClasses+=ActorClass
+ public Assignment getActorClassesAssignment_4_2() { return cActorClassesAssignment_4_2; }
+
+ //ActorClass
+ public RuleCall getActorClassesActorClassParserRuleCall_4_2_0() { return cActorClassesActorClassParserRuleCall_4_2_0; }
+
+ //subSystemClasses+=SubSystemClass
+ public Assignment getSubSystemClassesAssignment_4_3() { return cSubSystemClassesAssignment_4_3; }
+
+ //SubSystemClass
+ public RuleCall getSubSystemClassesSubSystemClassParserRuleCall_4_3_0() { return cSubSystemClassesSubSystemClassParserRuleCall_4_3_0; }
+
+ //systems+=LogicalSystem
+ public Assignment getSystemsAssignment_4_4() { return cSystemsAssignment_4_4; }
+
+ //LogicalSystem
+ public RuleCall getSystemsLogicalSystemParserRuleCall_4_4_0() { return cSystemsLogicalSystemParserRuleCall_4_4_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
+ }
+
+ public class RoomClassElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RoomClass");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cDataClassParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cProtocolClassParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+ private final RuleCall cStructureClassParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
+
+ //RoomClass:
+ // DataClass | ProtocolClass | StructureClass;
+ public ParserRule getRule() { return rule; }
+
+ //DataClass | ProtocolClass | StructureClass
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //DataClass
+ public RuleCall getDataClassParserRuleCall_0() { return cDataClassParserRuleCall_0; }
+
+ //ProtocolClass
+ public RuleCall getProtocolClassParserRuleCall_1() { return cProtocolClassParserRuleCall_1; }
+
+ //StructureClass
+ public RuleCall getStructureClassParserRuleCall_2() { return cStructureClassParserRuleCall_2; }
+ }
+
+ public class StructureClassElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StructureClass");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cActorContainerClassParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cLogicalSystemParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+
+ //StructureClass:
+ // ActorContainerClass | LogicalSystem;
+ public ParserRule getRule() { return rule; }
+
+ //ActorContainerClass | LogicalSystem
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //ActorContainerClass
+ public RuleCall getActorContainerClassParserRuleCall_0() { return cActorContainerClassParserRuleCall_0; }
+
+ //LogicalSystem
+ public RuleCall getLogicalSystemParserRuleCall_1() { return cLogicalSystemParserRuleCall_1; }
+ }
+
+ public class ActorContainerClassElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ActorContainerClass");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cActorClassParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cSubSystemClassParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+
+ //ActorContainerClass:
+ // ActorClass | SubSystemClass;
+ public ParserRule getRule() { return rule; }
+
+ //ActorClass | SubSystemClass
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //ActorClass
+ public RuleCall getActorClassParserRuleCall_0() { return cActorClassParserRuleCall_0; }
+
+ //SubSystemClass
+ public RuleCall getSubSystemClassParserRuleCall_1() { return cSubSystemClassParserRuleCall_1; }
+ }
+
+ public class TypedIDElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TypedID");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cNameIDTerminalRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0);
+ private final Keyword cColonKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cTypeAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cTypeTypeParserRuleCall_2_0 = (RuleCall)cTypeAssignment_2.eContents().get(0);
+
+ //TypedID:
+ // name=ID ":" type=Type;
+ public ParserRule getRule() { return rule; }
+
+ //name=ID ":" type=Type
+ public Group getGroup() { return cGroup; }
+
+ //name=ID
+ public Assignment getNameAssignment_0() { return cNameAssignment_0; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_0_0() { return cNameIDTerminalRuleCall_0_0; }
+
+ //":"
+ public Keyword getColonKeyword_1() { return cColonKeyword_1; }
+
+ //type=Type
+ public Assignment getTypeAssignment_2() { return cTypeAssignment_2; }
+
+ //Type
+ public RuleCall getTypeTypeParserRuleCall_2_0() { return cTypeTypeParserRuleCall_2_0; }
+ }
+
+ public class FreeTypedIDElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "FreeTypedID");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cNameIDTerminalRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0);
+ private final Keyword cColonKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cTypeAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cTypeFreeTypeParserRuleCall_2_0 = (RuleCall)cTypeAssignment_2.eContents().get(0);
+
+ //FreeTypedID:
+ // name=ID ":" type=FreeType;
+ public ParserRule getRule() { return rule; }
+
+ //name=ID ":" type=FreeType
+ public Group getGroup() { return cGroup; }
+
+ //name=ID
+ public Assignment getNameAssignment_0() { return cNameAssignment_0; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_0_0() { return cNameIDTerminalRuleCall_0_0; }
+
+ //":"
+ public Keyword getColonKeyword_1() { return cColonKeyword_1; }
+
+ //type=FreeType
+ public Assignment getTypeAssignment_2() { return cTypeAssignment_2; }
+
+ //FreeType
+ public RuleCall getTypeFreeTypeParserRuleCall_2_0() { return cTypeFreeTypeParserRuleCall_2_0; }
+ }
+
+ public class TypeElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Type");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final Assignment cPrimAssignment_0 = (Assignment)cAlternatives.eContents().get(0);
+ private final RuleCall cPrimPrimitiveTypeEnumRuleCall_0_0 = (RuleCall)cPrimAssignment_0.eContents().get(0);
+ private final Assignment cTypeAssignment_1 = (Assignment)cAlternatives.eContents().get(1);
+ private final CrossReference cTypeDataClassCrossReference_1_0 = (CrossReference)cTypeAssignment_1.eContents().get(0);
+ private final RuleCall cTypeDataClassFQNParserRuleCall_1_0_1 = (RuleCall)cTypeDataClassCrossReference_1_0.eContents().get(1);
+
+ //Type:
+ // prim=PrimitiveType | type=[DataClass|FQN];
+ public ParserRule getRule() { return rule; }
+
+ //prim=PrimitiveType | type=[DataClass|FQN]
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //prim=PrimitiveType
+ public Assignment getPrimAssignment_0() { return cPrimAssignment_0; }
+
+ //PrimitiveType
+ public RuleCall getPrimPrimitiveTypeEnumRuleCall_0_0() { return cPrimPrimitiveTypeEnumRuleCall_0_0; }
+
+ //type=[DataClass|FQN]
+ public Assignment getTypeAssignment_1() { return cTypeAssignment_1; }
+
+ //[DataClass|FQN]
+ public CrossReference getTypeDataClassCrossReference_1_0() { return cTypeDataClassCrossReference_1_0; }
+
+ //FQN
+ public RuleCall getTypeDataClassFQNParserRuleCall_1_0_1() { return cTypeDataClassFQNParserRuleCall_1_0_1; }
+ }
+
+ public class FreeTypeElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "FreeType");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final Assignment cPrimAssignment_0 = (Assignment)cAlternatives.eContents().get(0);
+ private final RuleCall cPrimPrimitiveTypeEnumRuleCall_0_0 = (RuleCall)cPrimAssignment_0.eContents().get(0);
+ private final Assignment cTypeAssignment_1 = (Assignment)cAlternatives.eContents().get(1);
+ private final RuleCall cTypeIDTerminalRuleCall_1_0 = (RuleCall)cTypeAssignment_1.eContents().get(0);
+
+ //FreeType:
+ // prim=PrimitiveType | type=ID;
+ public ParserRule getRule() { return rule; }
+
+ //prim=PrimitiveType | type=ID
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //prim=PrimitiveType
+ public Assignment getPrimAssignment_0() { return cPrimAssignment_0; }
+
+ //PrimitiveType
+ public RuleCall getPrimPrimitiveTypeEnumRuleCall_0_0() { return cPrimPrimitiveTypeEnumRuleCall_0_0; }
+
+ //type=ID
+ public Assignment getTypeAssignment_1() { return cTypeAssignment_1; }
+
+ //ID
+ public RuleCall getTypeIDTerminalRuleCall_1_0() { return cTypeIDTerminalRuleCall_1_0; }
+ }
+
+ public class DataClassElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DataClass");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cDataClassKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+ private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
+ private final Keyword cExtendsKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
+ private final Assignment cBaseAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
+ private final CrossReference cBaseDataClassCrossReference_2_1_0 = (CrossReference)cBaseAssignment_2_1.eContents().get(0);
+ private final RuleCall cBaseDataClassFQNParserRuleCall_2_1_0_1 = (RuleCall)cBaseDataClassCrossReference_2_1_0.eContents().get(1);
+ private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
+ private final Assignment cImportsAssignment_4 = (Assignment)cGroup.eContents().get(4);
+ private final RuleCall cImportsImportParserRuleCall_4_0 = (RuleCall)cImportsAssignment_4.eContents().get(0);
+ private final Assignment cAttributesAssignment_5 = (Assignment)cGroup.eContents().get(5);
+ private final RuleCall cAttributesAttributeParserRuleCall_5_0 = (RuleCall)cAttributesAssignment_5.eContents().get(0);
+ private final Assignment cOperationsAssignment_6 = (Assignment)cGroup.eContents().get(6);
+ private final RuleCall cOperationsOperationParserRuleCall_6_0 = (RuleCall)cOperationsAssignment_6.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7);
+
+ //// TODOHRR: define detail level language?
+ //
+ //DataClass:
+ // "DataClass" name=ID ("extends" base=[DataClass|FQN])? "{" imports+=Import* attributes+=Attribute+
+ // operations+=Operation* "}";
+ public ParserRule getRule() { return rule; }
+
+ //"DataClass" name=ID ("extends" base=[DataClass|FQN])? "{" imports+=Import* attributes+=Attribute+ operations+=Operation*
+ //"}"
+ public Group getGroup() { return cGroup; }
+
+ //"DataClass"
+ public Keyword getDataClassKeyword_0() { return cDataClassKeyword_0; }
+
+ //name=ID
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
+
+ //("extends" base=[DataClass|FQN])?
+ public Group getGroup_2() { return cGroup_2; }
+
+ //"extends"
+ public Keyword getExtendsKeyword_2_0() { return cExtendsKeyword_2_0; }
+
+ //base=[DataClass|FQN]
+ public Assignment getBaseAssignment_2_1() { return cBaseAssignment_2_1; }
+
+ //[DataClass|FQN]
+ public CrossReference getBaseDataClassCrossReference_2_1_0() { return cBaseDataClassCrossReference_2_1_0; }
+
+ //FQN
+ public RuleCall getBaseDataClassFQNParserRuleCall_2_1_0_1() { return cBaseDataClassFQNParserRuleCall_2_1_0_1; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; }
+
+ //imports+=Import*
+ public Assignment getImportsAssignment_4() { return cImportsAssignment_4; }
+
+ //Import
+ public RuleCall getImportsImportParserRuleCall_4_0() { return cImportsImportParserRuleCall_4_0; }
+
+ //attributes+=Attribute+
+ public Assignment getAttributesAssignment_5() { return cAttributesAssignment_5; }
+
+ //Attribute
+ public RuleCall getAttributesAttributeParserRuleCall_5_0() { return cAttributesAttributeParserRuleCall_5_0; }
+
+ //operations+=Operation*
+ public Assignment getOperationsAssignment_6() { return cOperationsAssignment_6; }
+
+ //Operation
+ public RuleCall getOperationsOperationParserRuleCall_6_0() { return cOperationsOperationParserRuleCall_6_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_7() { return cRightCurlyBracketKeyword_7; }
+ }
+
+ public class AttributeElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Attribute");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cAttributeKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+ private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
+ private final Keyword cLeftSquareBracketKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
+ private final Assignment cSizeAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
+ private final RuleCall cSizeINTTerminalRuleCall_2_1_0 = (RuleCall)cSizeAssignment_2_1.eContents().get(0);
+ private final Keyword cRightSquareBracketKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2);
+ private final Keyword cColonKeyword_3 = (Keyword)cGroup.eContents().get(3);
+ private final Assignment cTypeAssignment_4 = (Assignment)cGroup.eContents().get(4);
+ private final RuleCall cTypeTypeParserRuleCall_4_0 = (RuleCall)cTypeAssignment_4.eContents().get(0);
+
+ //Attribute:
+ // "Attribute" name=ID ("[" size=INT "]")? ":" type=Type;
+ public ParserRule getRule() { return rule; }
+
+ //"Attribute" name=ID ("[" size=INT "]")? ":" type=Type
+ public Group getGroup() { return cGroup; }
+
+ //"Attribute"
+ public Keyword getAttributeKeyword_0() { return cAttributeKeyword_0; }
+
+ //name=ID
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
+
+ //("[" size=INT "]")?
+ public Group getGroup_2() { return cGroup_2; }
+
+ //"["
+ public Keyword getLeftSquareBracketKeyword_2_0() { return cLeftSquareBracketKeyword_2_0; }
+
+ //size=INT
+ public Assignment getSizeAssignment_2_1() { return cSizeAssignment_2_1; }
+
+ //INT
+ public RuleCall getSizeINTTerminalRuleCall_2_1_0() { return cSizeINTTerminalRuleCall_2_1_0; }
+
+ //"]"
+ public Keyword getRightSquareBracketKeyword_2_2() { return cRightSquareBracketKeyword_2_2; }
+
+ //":"
+ public Keyword getColonKeyword_3() { return cColonKeyword_3; }
+
+ //type=Type
+ public Assignment getTypeAssignment_4() { return cTypeAssignment_4; }
+
+ //Type
+ public RuleCall getTypeTypeParserRuleCall_4_0() { return cTypeTypeParserRuleCall_4_0; }
+ }
+
+ public class OperationElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Operation");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cOperationKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+ private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
+ private final Assignment cArgumentsAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0);
+ private final RuleCall cArgumentsFreeTypedIDParserRuleCall_3_0_0 = (RuleCall)cArgumentsAssignment_3_0.eContents().get(0);
+ private final Group cGroup_3_1 = (Group)cGroup_3.eContents().get(1);
+ private final Keyword cCommaKeyword_3_1_0 = (Keyword)cGroup_3_1.eContents().get(0);
+ private final Assignment cArgumentsAssignment_3_1_1 = (Assignment)cGroup_3_1.eContents().get(1);
+ private final RuleCall cArgumentsFreeTypedIDParserRuleCall_3_1_1_0 = (RuleCall)cArgumentsAssignment_3_1_1.eContents().get(0);
+ private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4);
+ private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
+ private final Keyword cColonKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
+ private final Assignment cReturntypeAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
+ private final RuleCall cReturntypeFreeTypeParserRuleCall_5_1_0 = (RuleCall)cReturntypeAssignment_5_1.eContents().get(0);
+ private final Assignment cDetailCodeAssignment_6 = (Assignment)cGroup.eContents().get(6);
+ private final RuleCall cDetailCodeDetailCodeParserRuleCall_6_0 = (RuleCall)cDetailCodeAssignment_6.eContents().get(0);
+
+ //// TODOHRR: pass arguments and return value by value/reference
+ //
+ //Operation:
+ // "Operation" name=ID "(" (arguments+=FreeTypedID ("," arguments+=FreeTypedID)*)? ")" (":" returntype=FreeType)?
+ // detailCode=DetailCode;
+ public ParserRule getRule() { return rule; }
+
+ //"Operation" name=ID "(" (arguments+=FreeTypedID ("," arguments+=FreeTypedID)*)? ")" (":" returntype=FreeType)?
+ //detailCode=DetailCode
+ public Group getGroup() { return cGroup; }
+
+ //"Operation"
+ public Keyword getOperationKeyword_0() { return cOperationKeyword_0; }
+
+ //name=ID
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
+
+ //"("
+ public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; }
+
+ //(arguments+=FreeTypedID ("," arguments+=FreeTypedID)*)?
+ public Group getGroup_3() { return cGroup_3; }
+
+ //arguments+=FreeTypedID
+ public Assignment getArgumentsAssignment_3_0() { return cArgumentsAssignment_3_0; }
+
+ //FreeTypedID
+ public RuleCall getArgumentsFreeTypedIDParserRuleCall_3_0_0() { return cArgumentsFreeTypedIDParserRuleCall_3_0_0; }
+
+ //("," arguments+=FreeTypedID)*
+ public Group getGroup_3_1() { return cGroup_3_1; }
+
+ //","
+ public Keyword getCommaKeyword_3_1_0() { return cCommaKeyword_3_1_0; }
+
+ //arguments+=FreeTypedID
+ public Assignment getArgumentsAssignment_3_1_1() { return cArgumentsAssignment_3_1_1; }
+
+ //FreeTypedID
+ public RuleCall getArgumentsFreeTypedIDParserRuleCall_3_1_1_0() { return cArgumentsFreeTypedIDParserRuleCall_3_1_1_0; }
+
+ //")"
+ public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; }
+
+ //(":" returntype=FreeType)?
+ public Group getGroup_5() { return cGroup_5; }
+
+ //":"
+ public Keyword getColonKeyword_5_0() { return cColonKeyword_5_0; }
+
+ //returntype=FreeType
+ public Assignment getReturntypeAssignment_5_1() { return cReturntypeAssignment_5_1; }
+
+ //FreeType
+ public RuleCall getReturntypeFreeTypeParserRuleCall_5_1_0() { return cReturntypeFreeTypeParserRuleCall_5_1_0; }
+
+ //detailCode=DetailCode
+ public Assignment getDetailCodeAssignment_6() { return cDetailCodeAssignment_6; }
+
+ //DetailCode
+ public RuleCall getDetailCodeDetailCodeParserRuleCall_6_0() { return cDetailCodeDetailCodeParserRuleCall_6_0; }
+ }
+
+ public class ProtocolClassElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ProtocolClass");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cProtocolClassKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+ private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
+ private final Keyword cExtendsKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
+ private final Assignment cBaseAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
+ private final CrossReference cBaseProtocolClassCrossReference_2_1_0 = (CrossReference)cBaseAssignment_2_1.eContents().get(0);
+ private final RuleCall cBaseProtocolClassFQNParserRuleCall_2_1_0_1 = (RuleCall)cBaseProtocolClassCrossReference_2_1_0.eContents().get(1);
+ private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
+ private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
+ private final Keyword cUsercode1Keyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
+ private final Assignment cUserCode1Assignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
+ private final RuleCall cUserCode1DetailCodeParserRuleCall_4_1_0 = (RuleCall)cUserCode1Assignment_4_1.eContents().get(0);
+ private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
+ private final Keyword cUsercode2Keyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
+ private final Assignment cUserCode2Assignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
+ private final RuleCall cUserCode2DetailCodeParserRuleCall_5_1_0 = (RuleCall)cUserCode2Assignment_5_1.eContents().get(0);
+ private final Keyword cIncomingKeyword_6 = (Keyword)cGroup.eContents().get(6);
+ private final Keyword cLeftCurlyBracketKeyword_7 = (Keyword)cGroup.eContents().get(7);
+ private final Assignment cIncomingMessagesAssignment_8 = (Assignment)cGroup.eContents().get(8);
+ private final RuleCall cIncomingMessagesMessageParserRuleCall_8_0 = (RuleCall)cIncomingMessagesAssignment_8.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_9 = (Keyword)cGroup.eContents().get(9);
+ private final Keyword cOutgoingKeyword_10 = (Keyword)cGroup.eContents().get(10);
+ private final Keyword cLeftCurlyBracketKeyword_11 = (Keyword)cGroup.eContents().get(11);
+ private final Assignment cOutgoingMessagesAssignment_12 = (Assignment)cGroup.eContents().get(12);
+ private final RuleCall cOutgoingMessagesMessageParserRuleCall_12_0 = (RuleCall)cOutgoingMessagesAssignment_12.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_13 = (Keyword)cGroup.eContents().get(13);
+ private final Group cGroup_14 = (Group)cGroup.eContents().get(14);
+ private final Keyword cRegularKeyword_14_0 = (Keyword)cGroup_14.eContents().get(0);
+ private final Keyword cPortClassKeyword_14_1 = (Keyword)cGroup_14.eContents().get(1);
+ private final Assignment cRegularAssignment_14_2 = (Assignment)cGroup_14.eContents().get(2);
+ private final RuleCall cRegularPortClassParserRuleCall_14_2_0 = (RuleCall)cRegularAssignment_14_2.eContents().get(0);
+ private final Group cGroup_15 = (Group)cGroup.eContents().get(15);
+ private final Keyword cConjugateKeyword_15_0 = (Keyword)cGroup_15.eContents().get(0);
+ private final Keyword cPortClassKeyword_15_1 = (Keyword)cGroup_15.eContents().get(1);
+ private final Assignment cConjugateAssignment_15_2 = (Assignment)cGroup_15.eContents().get(2);
+ private final RuleCall cConjugatePortClassParserRuleCall_15_2_0 = (RuleCall)cConjugateAssignment_15_2.eContents().get(0);
+ private final Assignment cSemanticsAssignment_16 = (Assignment)cGroup.eContents().get(16);
+ private final RuleCall cSemanticsProtocolSemanticsParserRuleCall_16_0 = (RuleCall)cSemanticsAssignment_16.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_17 = (Keyword)cGroup.eContents().get(17);
+
+ //// **************************************************************
+ //
+ //// protocol class
+ //
+ //ProtocolClass:
+ // "ProtocolClass" name=ID ("extends" base=[ProtocolClass|FQN])? "{" ("usercode1" userCode1=DetailCode)? ("usercode2"
+ // userCode2=DetailCode)? "incoming" "{" incomingMessages+=Message* "}" "outgoing" "{" outgoingMessages+=Message* "}"
+ // ("regular" "PortClass" regular=PortClass)? ("conjugate" "PortClass" conjugate=PortClass)? semantics=ProtocolSemantics?
+ // "}";
+ public ParserRule getRule() { return rule; }
+
+ //"ProtocolClass" name=ID ("extends" base=[ProtocolClass|FQN])? "{" ("usercode1" userCode1=DetailCode)? ("usercode2"
+ //userCode2=DetailCode)? "incoming" "{" incomingMessages+=Message* "}" "outgoing" "{" outgoingMessages+=Message* "}"
+ //("regular" "PortClass" regular=PortClass)? ("conjugate" "PortClass" conjugate=PortClass)? semantics=ProtocolSemantics?
+ //"}"
+ public Group getGroup() { return cGroup; }
+
+ //"ProtocolClass"
+ public Keyword getProtocolClassKeyword_0() { return cProtocolClassKeyword_0; }
+
+ //name=ID
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
+
+ //("extends" base=[ProtocolClass|FQN])?
+ public Group getGroup_2() { return cGroup_2; }
+
+ //"extends"
+ public Keyword getExtendsKeyword_2_0() { return cExtendsKeyword_2_0; }
+
+ //base=[ProtocolClass|FQN]
+ public Assignment getBaseAssignment_2_1() { return cBaseAssignment_2_1; }
+
+ //[ProtocolClass|FQN]
+ public CrossReference getBaseProtocolClassCrossReference_2_1_0() { return cBaseProtocolClassCrossReference_2_1_0; }
+
+ //FQN
+ public RuleCall getBaseProtocolClassFQNParserRuleCall_2_1_0_1() { return cBaseProtocolClassFQNParserRuleCall_2_1_0_1; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; }
+
+ //("usercode1" userCode1=DetailCode)?
+ public Group getGroup_4() { return cGroup_4; }
+
+ //"usercode1"
+ public Keyword getUsercode1Keyword_4_0() { return cUsercode1Keyword_4_0; }
+
+ //userCode1=DetailCode
+ public Assignment getUserCode1Assignment_4_1() { return cUserCode1Assignment_4_1; }
+
+ //DetailCode
+ public RuleCall getUserCode1DetailCodeParserRuleCall_4_1_0() { return cUserCode1DetailCodeParserRuleCall_4_1_0; }
+
+ //("usercode2" userCode2=DetailCode)?
+ public Group getGroup_5() { return cGroup_5; }
+
+ //"usercode2"
+ public Keyword getUsercode2Keyword_5_0() { return cUsercode2Keyword_5_0; }
+
+ //userCode2=DetailCode
+ public Assignment getUserCode2Assignment_5_1() { return cUserCode2Assignment_5_1; }
+
+ //DetailCode
+ public RuleCall getUserCode2DetailCodeParserRuleCall_5_1_0() { return cUserCode2DetailCodeParserRuleCall_5_1_0; }
+
+ //"incoming"
+ public Keyword getIncomingKeyword_6() { return cIncomingKeyword_6; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_7() { return cLeftCurlyBracketKeyword_7; }
+
+ //incomingMessages+=Message*
+ public Assignment getIncomingMessagesAssignment_8() { return cIncomingMessagesAssignment_8; }
+
+ //Message
+ public RuleCall getIncomingMessagesMessageParserRuleCall_8_0() { return cIncomingMessagesMessageParserRuleCall_8_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_9() { return cRightCurlyBracketKeyword_9; }
+
+ //"outgoing"
+ public Keyword getOutgoingKeyword_10() { return cOutgoingKeyword_10; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_11() { return cLeftCurlyBracketKeyword_11; }
+
+ //outgoingMessages+=Message*
+ public Assignment getOutgoingMessagesAssignment_12() { return cOutgoingMessagesAssignment_12; }
+
+ //Message
+ public RuleCall getOutgoingMessagesMessageParserRuleCall_12_0() { return cOutgoingMessagesMessageParserRuleCall_12_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_13() { return cRightCurlyBracketKeyword_13; }
+
+ //("regular" "PortClass" regular=PortClass)?
+ public Group getGroup_14() { return cGroup_14; }
+
+ //"regular"
+ public Keyword getRegularKeyword_14_0() { return cRegularKeyword_14_0; }
+
+ //"PortClass"
+ public Keyword getPortClassKeyword_14_1() { return cPortClassKeyword_14_1; }
+
+ //regular=PortClass
+ public Assignment getRegularAssignment_14_2() { return cRegularAssignment_14_2; }
+
+ //PortClass
+ public RuleCall getRegularPortClassParserRuleCall_14_2_0() { return cRegularPortClassParserRuleCall_14_2_0; }
+
+ //("conjugate" "PortClass" conjugate=PortClass)?
+ public Group getGroup_15() { return cGroup_15; }
+
+ //"conjugate"
+ public Keyword getConjugateKeyword_15_0() { return cConjugateKeyword_15_0; }
+
+ //"PortClass"
+ public Keyword getPortClassKeyword_15_1() { return cPortClassKeyword_15_1; }
+
+ //conjugate=PortClass
+ public Assignment getConjugateAssignment_15_2() { return cConjugateAssignment_15_2; }
+
+ //PortClass
+ public RuleCall getConjugatePortClassParserRuleCall_15_2_0() { return cConjugatePortClassParserRuleCall_15_2_0; }
+
+ //semantics=ProtocolSemantics?
+ public Assignment getSemanticsAssignment_16() { return cSemanticsAssignment_16; }
+
+ //ProtocolSemantics
+ public RuleCall getSemanticsProtocolSemanticsParserRuleCall_16_0() { return cSemanticsProtocolSemanticsParserRuleCall_16_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_17() { return cRightCurlyBracketKeyword_17; }
+ }
+
+ public class MessageElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Message");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cMessageKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+ private final Keyword cLeftParenthesisKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
+ private final Assignment cArgumentsAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0);
+ private final RuleCall cArgumentsTypedIDParserRuleCall_3_0_0 = (RuleCall)cArgumentsAssignment_3_0.eContents().get(0);
+ private final Group cGroup_3_1 = (Group)cGroup_3.eContents().get(1);
+ private final Keyword cCommaKeyword_3_1_0 = (Keyword)cGroup_3_1.eContents().get(0);
+ private final Assignment cArgumentsAssignment_3_1_1 = (Assignment)cGroup_3_1.eContents().get(1);
+ private final RuleCall cArgumentsTypedIDParserRuleCall_3_1_1_0 = (RuleCall)cArgumentsAssignment_3_1_1.eContents().get(0);
+ private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4);
+
+ //Message:
+ // "Message" name=ID "(" (arguments+=TypedID ("," arguments+=TypedID)*)? ")";
+ public ParserRule getRule() { return rule; }
+
+ //"Message" name=ID "(" (arguments+=TypedID ("," arguments+=TypedID)*)? ")"
+ public Group getGroup() { return cGroup; }
+
+ //"Message"
+ public Keyword getMessageKeyword_0() { return cMessageKeyword_0; }
+
+ //name=ID
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
+
+ //"("
+ public Keyword getLeftParenthesisKeyword_2() { return cLeftParenthesisKeyword_2; }
+
+ //(arguments+=TypedID ("," arguments+=TypedID)*)?
+ public Group getGroup_3() { return cGroup_3; }
+
+ //arguments+=TypedID
+ public Assignment getArgumentsAssignment_3_0() { return cArgumentsAssignment_3_0; }
+
+ //TypedID
+ public RuleCall getArgumentsTypedIDParserRuleCall_3_0_0() { return cArgumentsTypedIDParserRuleCall_3_0_0; }
+
+ //("," arguments+=TypedID)*
+ public Group getGroup_3_1() { return cGroup_3_1; }
+
+ //","
+ public Keyword getCommaKeyword_3_1_0() { return cCommaKeyword_3_1_0; }
+
+ //arguments+=TypedID
+ public Assignment getArgumentsAssignment_3_1_1() { return cArgumentsAssignment_3_1_1; }
+
+ //TypedID
+ public RuleCall getArgumentsTypedIDParserRuleCall_3_1_1_0() { return cArgumentsTypedIDParserRuleCall_3_1_1_0; }
+
+ //")"
+ public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; }
+ }
+
+ public class PortClassElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PortClass");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cLeftCurlyBracketKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Keyword cUsercodeKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+ private final Assignment cUserCodeAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final RuleCall cUserCodeDetailCodeParserRuleCall_1_1_0 = (RuleCall)cUserCodeAssignment_1_1.eContents().get(0);
+ private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2);
+ private final Assignment cAttributesAssignment_2_0 = (Assignment)cAlternatives_2.eContents().get(0);
+ private final RuleCall cAttributesAttributeParserRuleCall_2_0_0 = (RuleCall)cAttributesAssignment_2_0.eContents().get(0);
+ private final Assignment cOperationsAssignment_2_1 = (Assignment)cAlternatives_2.eContents().get(1);
+ private final RuleCall cOperationsOperationParserRuleCall_2_1_0 = (RuleCall)cOperationsAssignment_2_1.eContents().get(0);
+ private final Assignment cMsgHandlersAssignment_2_2 = (Assignment)cAlternatives_2.eContents().get(2);
+ private final RuleCall cMsgHandlersMessageHandlerParserRuleCall_2_2_0 = (RuleCall)cMsgHandlersAssignment_2_2.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
+
+ //PortClass:
+ // "{" ("usercode" userCode=DetailCode)? (attributes+=Attribute | operations+=Operation | msgHandlers+=MessageHandler)+
+ // "}";
+ public ParserRule getRule() { return rule; }
+
+ //"{" ("usercode" userCode=DetailCode)? (attributes+=Attribute | operations+=Operation | msgHandlers+=MessageHandler)+ "}"
+ public Group getGroup() { return cGroup; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_0() { return cLeftCurlyBracketKeyword_0; }
+
+ //("usercode" userCode=DetailCode)?
+ public Group getGroup_1() { return cGroup_1; }
+
+ //"usercode"
+ public Keyword getUsercodeKeyword_1_0() { return cUsercodeKeyword_1_0; }
+
+ //userCode=DetailCode
+ public Assignment getUserCodeAssignment_1_1() { return cUserCodeAssignment_1_1; }
+
+ //DetailCode
+ public RuleCall getUserCodeDetailCodeParserRuleCall_1_1_0() { return cUserCodeDetailCodeParserRuleCall_1_1_0; }
+
+ //(attributes+=Attribute | operations+=Operation | msgHandlers+=MessageHandler)+
+ public Alternatives getAlternatives_2() { return cAlternatives_2; }
+
+ //attributes+=Attribute
+ public Assignment getAttributesAssignment_2_0() { return cAttributesAssignment_2_0; }
+
+ //Attribute
+ public RuleCall getAttributesAttributeParserRuleCall_2_0_0() { return cAttributesAttributeParserRuleCall_2_0_0; }
+
+ //operations+=Operation
+ public Assignment getOperationsAssignment_2_1() { return cOperationsAssignment_2_1; }
+
+ //Operation
+ public RuleCall getOperationsOperationParserRuleCall_2_1_0() { return cOperationsOperationParserRuleCall_2_1_0; }
+
+ //msgHandlers+=MessageHandler
+ public Assignment getMsgHandlersAssignment_2_2() { return cMsgHandlersAssignment_2_2; }
+
+ //MessageHandler
+ public RuleCall getMsgHandlersMessageHandlerParserRuleCall_2_2_0() { return cMsgHandlersMessageHandlerParserRuleCall_2_2_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_3() { return cRightCurlyBracketKeyword_3; }
+ }
+
+ public class MessageHandlerElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "MessageHandler");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cHandleKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cMsgAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final CrossReference cMsgMessageCrossReference_1_0 = (CrossReference)cMsgAssignment_1.eContents().get(0);
+ private final RuleCall cMsgMessageIDTerminalRuleCall_1_0_1 = (RuleCall)cMsgMessageCrossReference_1_0.eContents().get(1);
+ private final Assignment cDetailCodeAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cDetailCodeDetailCodeParserRuleCall_2_0 = (RuleCall)cDetailCodeAssignment_2.eContents().get(0);
+
+ //MessageHandler:
+ // "handle" msg=[Message] detailCode=DetailCode;
+ public ParserRule getRule() { return rule; }
+
+ //"handle" msg=[Message] detailCode=DetailCode
+ public Group getGroup() { return cGroup; }
+
+ //"handle"
+ public Keyword getHandleKeyword_0() { return cHandleKeyword_0; }
+
+ //msg=[Message]
+ public Assignment getMsgAssignment_1() { return cMsgAssignment_1; }
+
+ //[Message]
+ public CrossReference getMsgMessageCrossReference_1_0() { return cMsgMessageCrossReference_1_0; }
+
+ //ID
+ public RuleCall getMsgMessageIDTerminalRuleCall_1_0_1() { return cMsgMessageIDTerminalRuleCall_1_0_1; }
+
+ //detailCode=DetailCode
+ public Assignment getDetailCodeAssignment_2() { return cDetailCodeAssignment_2; }
+
+ //DetailCode
+ public RuleCall getDetailCodeDetailCodeParserRuleCall_2_0() { return cDetailCodeDetailCodeParserRuleCall_2_0; }
+ }
+
+ public class ProtocolSemanticsElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ProtocolSemantics");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cSemanticsKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cRulesAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cRulesSemanticsRuleParserRuleCall_2_0 = (RuleCall)cRulesAssignment_2.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
+
+ //ProtocolSemantics:
+ // "semantics" "{" rules+=SemanticsRule+ "}";
+ public ParserRule getRule() { return rule; }
+
+ //"semantics" "{" rules+=SemanticsRule+ "}"
+ public Group getGroup() { return cGroup; }
+
+ //"semantics"
+ public Keyword getSemanticsKeyword_0() { return cSemanticsKeyword_0; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
+
+ //rules+=SemanticsRule+
+ public Assignment getRulesAssignment_2() { return cRulesAssignment_2; }
+
+ //SemanticsRule
+ public RuleCall getRulesSemanticsRuleParserRuleCall_2_0() { return cRulesSemanticsRuleParserRuleCall_2_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_3() { return cRightCurlyBracketKeyword_3; }
+ }
+
+ public class SemanticsRuleElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SemanticsRule");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cSemanticsInRuleParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cSemanticsOutRuleParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+
+ //SemanticsRule:
+ // SemanticsInRule | SemanticsOutRule;
+ public ParserRule getRule() { return rule; }
+
+ //SemanticsInRule | SemanticsOutRule
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //SemanticsInRule
+ public RuleCall getSemanticsInRuleParserRuleCall_0() { return cSemanticsInRuleParserRuleCall_0; }
+
+ //SemanticsOutRule
+ public RuleCall getSemanticsOutRuleParserRuleCall_1() { return cSemanticsOutRuleParserRuleCall_1; }
+ }
+
+ public class SemanticsInRuleElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SemanticsInRule");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cInKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cMsgAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final CrossReference cMsgMessageCrossReference_1_0 = (CrossReference)cMsgAssignment_1.eContents().get(0);
+ private final RuleCall cMsgMessageIDTerminalRuleCall_1_0_1 = (RuleCall)cMsgMessageCrossReference_1_0.eContents().get(1);
+ private final Keyword cHyphenMinusGreaterThanSignKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
+ private final Assignment cFollowUpsAssignment_4 = (Assignment)cGroup.eContents().get(4);
+ private final RuleCall cFollowUpsSemanticsRuleParserRuleCall_4_0 = (RuleCall)cFollowUpsAssignment_4.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
+
+ //SemanticsInRule:
+ // "in" msg=[Message] "->" "{" followUps+=SemanticsRule* "}";
+ public ParserRule getRule() { return rule; }
+
+ //"in" msg=[Message] "->" "{" followUps+=SemanticsRule* "}"
+ public Group getGroup() { return cGroup; }
+
+ //"in"
+ public Keyword getInKeyword_0() { return cInKeyword_0; }
+
+ //msg=[Message]
+ public Assignment getMsgAssignment_1() { return cMsgAssignment_1; }
+
+ //[Message]
+ public CrossReference getMsgMessageCrossReference_1_0() { return cMsgMessageCrossReference_1_0; }
+
+ //ID
+ public RuleCall getMsgMessageIDTerminalRuleCall_1_0_1() { return cMsgMessageIDTerminalRuleCall_1_0_1; }
+
+ //"->"
+ public Keyword getHyphenMinusGreaterThanSignKeyword_2() { return cHyphenMinusGreaterThanSignKeyword_2; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; }
+
+ //followUps+=SemanticsRule*
+ public Assignment getFollowUpsAssignment_4() { return cFollowUpsAssignment_4; }
+
+ //SemanticsRule
+ public RuleCall getFollowUpsSemanticsRuleParserRuleCall_4_0() { return cFollowUpsSemanticsRuleParserRuleCall_4_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
+ }
+
+ public class SemanticsOutRuleElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SemanticsOutRule");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cOutKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cMsgAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final CrossReference cMsgMessageCrossReference_1_0 = (CrossReference)cMsgAssignment_1.eContents().get(0);
+ private final RuleCall cMsgMessageIDTerminalRuleCall_1_0_1 = (RuleCall)cMsgMessageCrossReference_1_0.eContents().get(1);
+ private final Keyword cHyphenMinusGreaterThanSignKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Keyword cLeftCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
+ private final Assignment cFollowUpsAssignment_4 = (Assignment)cGroup.eContents().get(4);
+ private final RuleCall cFollowUpsSemanticsRuleParserRuleCall_4_0 = (RuleCall)cFollowUpsAssignment_4.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
+
+ //SemanticsOutRule:
+ // "out" msg=[Message] "->" "{" followUps+=SemanticsRule* "}";
+ public ParserRule getRule() { return rule; }
+
+ //"out" msg=[Message] "->" "{" followUps+=SemanticsRule* "}"
+ public Group getGroup() { return cGroup; }
+
+ //"out"
+ public Keyword getOutKeyword_0() { return cOutKeyword_0; }
+
+ //msg=[Message]
+ public Assignment getMsgAssignment_1() { return cMsgAssignment_1; }
+
+ //[Message]
+ public CrossReference getMsgMessageCrossReference_1_0() { return cMsgMessageCrossReference_1_0; }
+
+ //ID
+ public RuleCall getMsgMessageIDTerminalRuleCall_1_0_1() { return cMsgMessageIDTerminalRuleCall_1_0_1; }
+
+ //"->"
+ public Keyword getHyphenMinusGreaterThanSignKeyword_2() { return cHyphenMinusGreaterThanSignKeyword_2; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_3() { return cLeftCurlyBracketKeyword_3; }
+
+ //followUps+=SemanticsRule*
+ public Assignment getFollowUpsAssignment_4() { return cFollowUpsAssignment_4; }
+
+ //SemanticsRule
+ public RuleCall getFollowUpsSemanticsRuleParserRuleCall_4_0() { return cFollowUpsSemanticsRuleParserRuleCall_4_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
+ }
+
+ public class ActorClassElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ActorClass");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cAbstractAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final Keyword cAbstractAbstractKeyword_0_0 = (Keyword)cAbstractAssignment_0.eContents().get(0);
+ private final Keyword cActorClassKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
+ private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
+ private final Keyword cExtendsKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
+ private final Assignment cBaseAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
+ private final CrossReference cBaseActorClassCrossReference_3_1_0 = (CrossReference)cBaseAssignment_3_1.eContents().get(0);
+ private final RuleCall cBaseActorClassFQNParserRuleCall_3_1_0_1 = (RuleCall)cBaseActorClassCrossReference_3_1_0.eContents().get(1);
+ private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
+ private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
+ private final Keyword cInterfaceKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
+ private final Keyword cLeftCurlyBracketKeyword_5_1 = (Keyword)cGroup_5.eContents().get(1);
+ private final Assignment cIfPortsAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2);
+ private final RuleCall cIfPortsPortParserRuleCall_5_2_0 = (RuleCall)cIfPortsAssignment_5_2.eContents().get(0);
+ private final Assignment cIfSPPsAssignment_5_3 = (Assignment)cGroup_5.eContents().get(3);
+ private final RuleCall cIfSPPsSPPRefParserRuleCall_5_3_0 = (RuleCall)cIfSPPsAssignment_5_3.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_5_4 = (Keyword)cGroup_5.eContents().get(4);
+ private final Group cGroup_6 = (Group)cGroup.eContents().get(6);
+ private final Keyword cStructureKeyword_6_0 = (Keyword)cGroup_6.eContents().get(0);
+ private final Keyword cLeftCurlyBracketKeyword_6_1 = (Keyword)cGroup_6.eContents().get(1);
+ private final Group cGroup_6_2 = (Group)cGroup_6.eContents().get(2);
+ private final Keyword cUsercode1Keyword_6_2_0 = (Keyword)cGroup_6_2.eContents().get(0);
+ private final Assignment cUserCode1Assignment_6_2_1 = (Assignment)cGroup_6_2.eContents().get(1);
+ private final RuleCall cUserCode1DetailCodeParserRuleCall_6_2_1_0 = (RuleCall)cUserCode1Assignment_6_2_1.eContents().get(0);
+ private final Group cGroup_6_3 = (Group)cGroup_6.eContents().get(3);
+ private final Keyword cUsercode2Keyword_6_3_0 = (Keyword)cGroup_6_3.eContents().get(0);
+ private final Assignment cUserCode2Assignment_6_3_1 = (Assignment)cGroup_6_3.eContents().get(1);
+ private final RuleCall cUserCode2DetailCodeParserRuleCall_6_3_1_0 = (RuleCall)cUserCode2Assignment_6_3_1.eContents().get(0);
+ private final Alternatives cAlternatives_6_4 = (Alternatives)cGroup_6.eContents().get(4);
+ private final Assignment cIntPortsAssignment_6_4_0 = (Assignment)cAlternatives_6_4.eContents().get(0);
+ private final RuleCall cIntPortsPortParserRuleCall_6_4_0_0 = (RuleCall)cIntPortsAssignment_6_4_0.eContents().get(0);
+ private final Assignment cExtPortsAssignment_6_4_1 = (Assignment)cAlternatives_6_4.eContents().get(1);
+ private final RuleCall cExtPortsExternalPortParserRuleCall_6_4_1_0 = (RuleCall)cExtPortsAssignment_6_4_1.eContents().get(0);
+ private final Assignment cServiceImplementationsAssignment_6_5 = (Assignment)cGroup_6.eContents().get(5);
+ private final RuleCall cServiceImplementationsServiceImplementationParserRuleCall_6_5_0 = (RuleCall)cServiceImplementationsAssignment_6_5.eContents().get(0);
+ private final Assignment cStrSAPsAssignment_6_6 = (Assignment)cGroup_6.eContents().get(6);
+ private final RuleCall cStrSAPsSAPRefParserRuleCall_6_6_0 = (RuleCall)cStrSAPsAssignment_6_6.eContents().get(0);
+ private final Assignment cAttributesAssignment_6_7 = (Assignment)cGroup_6.eContents().get(7);
+ private final RuleCall cAttributesAttributeParserRuleCall_6_7_0 = (RuleCall)cAttributesAssignment_6_7.eContents().get(0);
+ private final Assignment cActorRefsAssignment_6_8 = (Assignment)cGroup_6.eContents().get(8);
+ private final RuleCall cActorRefsActorRefParserRuleCall_6_8_0 = (RuleCall)cActorRefsAssignment_6_8.eContents().get(0);
+ private final Assignment cBindingsAssignment_6_9 = (Assignment)cGroup_6.eContents().get(9);
+ private final RuleCall cBindingsBindingParserRuleCall_6_9_0 = (RuleCall)cBindingsAssignment_6_9.eContents().get(0);
+ private final Assignment cConnectionsAssignment_6_10 = (Assignment)cGroup_6.eContents().get(10);
+ private final RuleCall cConnectionsLayerConnectionParserRuleCall_6_10_0 = (RuleCall)cConnectionsAssignment_6_10.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_6_11 = (Keyword)cGroup_6.eContents().get(11);
+ private final Group cGroup_7 = (Group)cGroup.eContents().get(7);
+ private final Keyword cBehaviorKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0);
+ private final Keyword cLeftCurlyBracketKeyword_7_1 = (Keyword)cGroup_7.eContents().get(1);
+ private final Assignment cOperationsAssignment_7_2 = (Assignment)cGroup_7.eContents().get(2);
+ private final RuleCall cOperationsOperationParserRuleCall_7_2_0 = (RuleCall)cOperationsAssignment_7_2.eContents().get(0);
+ private final Assignment cStateMachineAssignment_7_3 = (Assignment)cGroup_7.eContents().get(3);
+ private final RuleCall cStateMachineStateMachineParserRuleCall_7_3_0 = (RuleCall)cStateMachineAssignment_7_3.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_7_4 = (Keyword)cGroup_7.eContents().get(4);
+ private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8);
+
+ //// **************************************************************
+ //
+ //// actor class
+ //
+ //// some notes on ports
+ //
+ ////
+ //
+ //// in ROOM ports can be contained in the structure and/or the interface
+ //
+ //// p in s ==> internal end port
+ //
+ //// p in i ==> relay port
+ //
+ //// p in i and p in s ==> external end port
+ //
+ //// since double containment is not supported we decided to define external ports as reference to interface ports
+ //
+ //ActorClass:
+ // abstract?="abstract"? "ActorClass" name=ID ("extends" base=[ActorClass|FQN])? "{" ("Interface" "{" ifPorts+=Port*
+ // ifSPPs+=SPPRef* "}")? ("Structure" "{" ("usercode1" userCode1=DetailCode)? ("usercode2" userCode2=DetailCode)?
+ // (intPorts+=Port | extPorts+=ExternalPort)* serviceImplementations+=ServiceImplementation* strSAPs+=SAPRef*
+ // attributes+=Attribute* actorRefs+=ActorRef* bindings+=Binding* connections+=LayerConnection* "}")? ("Behavior" "{"
+ // operations+=Operation* stateMachine=StateMachine? "}")? "}";
+ public ParserRule getRule() { return rule; }
+
+ //abstract?="abstract"? "ActorClass" name=ID ("extends" base=[ActorClass|FQN])? "{" ("Interface" "{" ifPorts+=Port*
+ //ifSPPs+=SPPRef* "}")? ("Structure" "{" ("usercode1" userCode1=DetailCode)? ("usercode2" userCode2=DetailCode)?
+ //(intPorts+=Port | extPorts+=ExternalPort)* serviceImplementations+=ServiceImplementation* strSAPs+=SAPRef*
+ //attributes+=Attribute* actorRefs+=ActorRef* bindings+=Binding* connections+=LayerConnection* "}")? ("Behavior" "{"
+ //operations+=Operation* stateMachine=StateMachine? "}")? "}"
+ public Group getGroup() { return cGroup; }
+
+ //abstract?="abstract"?
+ public Assignment getAbstractAssignment_0() { return cAbstractAssignment_0; }
+
+ //"abstract"
+ public Keyword getAbstractAbstractKeyword_0_0() { return cAbstractAbstractKeyword_0_0; }
+
+ //"ActorClass"
+ public Keyword getActorClassKeyword_1() { return cActorClassKeyword_1; }
+
+ //name=ID
+ public Assignment getNameAssignment_2() { return cNameAssignment_2; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; }
+
+ //("extends" base=[ActorClass|FQN])?
+ public Group getGroup_3() { return cGroup_3; }
+
+ //"extends"
+ public Keyword getExtendsKeyword_3_0() { return cExtendsKeyword_3_0; }
+
+ //base=[ActorClass|FQN]
+ public Assignment getBaseAssignment_3_1() { return cBaseAssignment_3_1; }
+
+ //[ActorClass|FQN]
+ public CrossReference getBaseActorClassCrossReference_3_1_0() { return cBaseActorClassCrossReference_3_1_0; }
+
+ //FQN
+ public RuleCall getBaseActorClassFQNParserRuleCall_3_1_0_1() { return cBaseActorClassFQNParserRuleCall_3_1_0_1; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; }
+
+ //("Interface" "{" ifPorts+=Port* ifSPPs+=SPPRef* "}")?
+ public Group getGroup_5() { return cGroup_5; }
+
+ //"Interface"
+ public Keyword getInterfaceKeyword_5_0() { return cInterfaceKeyword_5_0; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_5_1() { return cLeftCurlyBracketKeyword_5_1; }
+
+ //ifPorts+=Port*
+ public Assignment getIfPortsAssignment_5_2() { return cIfPortsAssignment_5_2; }
+
+ //Port
+ public RuleCall getIfPortsPortParserRuleCall_5_2_0() { return cIfPortsPortParserRuleCall_5_2_0; }
+
+ //ifSPPs+=SPPRef*
+ public Assignment getIfSPPsAssignment_5_3() { return cIfSPPsAssignment_5_3; }
+
+ //SPPRef
+ public RuleCall getIfSPPsSPPRefParserRuleCall_5_3_0() { return cIfSPPsSPPRefParserRuleCall_5_3_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_5_4() { return cRightCurlyBracketKeyword_5_4; }
+
+ //("Structure" "{" ("usercode1" userCode1=DetailCode)? ("usercode2" userCode2=DetailCode)? (intPorts+=Port |
+ //extPorts+=ExternalPort)* serviceImplementations+=ServiceImplementation* strSAPs+=SAPRef* attributes+=Attribute*
+ //actorRefs+=ActorRef* bindings+=Binding* connections+=LayerConnection* "}")?
+ public Group getGroup_6() { return cGroup_6; }
+
+ //"Structure"
+ public Keyword getStructureKeyword_6_0() { return cStructureKeyword_6_0; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_6_1() { return cLeftCurlyBracketKeyword_6_1; }
+
+ //("usercode1" userCode1=DetailCode)?
+ public Group getGroup_6_2() { return cGroup_6_2; }
+
+ //"usercode1"
+ public Keyword getUsercode1Keyword_6_2_0() { return cUsercode1Keyword_6_2_0; }
+
+ //userCode1=DetailCode
+ public Assignment getUserCode1Assignment_6_2_1() { return cUserCode1Assignment_6_2_1; }
+
+ //DetailCode
+ public RuleCall getUserCode1DetailCodeParserRuleCall_6_2_1_0() { return cUserCode1DetailCodeParserRuleCall_6_2_1_0; }
+
+ //("usercode2" userCode2=DetailCode)?
+ public Group getGroup_6_3() { return cGroup_6_3; }
+
+ //"usercode2"
+ public Keyword getUsercode2Keyword_6_3_0() { return cUsercode2Keyword_6_3_0; }
+
+ //userCode2=DetailCode
+ public Assignment getUserCode2Assignment_6_3_1() { return cUserCode2Assignment_6_3_1; }
+
+ //DetailCode
+ public RuleCall getUserCode2DetailCodeParserRuleCall_6_3_1_0() { return cUserCode2DetailCodeParserRuleCall_6_3_1_0; }
+
+ //(intPorts+=Port | extPorts+=ExternalPort)*
+ public Alternatives getAlternatives_6_4() { return cAlternatives_6_4; }
+
+ //intPorts+=Port
+ public Assignment getIntPortsAssignment_6_4_0() { return cIntPortsAssignment_6_4_0; }
+
+ //Port
+ public RuleCall getIntPortsPortParserRuleCall_6_4_0_0() { return cIntPortsPortParserRuleCall_6_4_0_0; }
+
+ //extPorts+=ExternalPort
+ public Assignment getExtPortsAssignment_6_4_1() { return cExtPortsAssignment_6_4_1; }
+
+ //ExternalPort
+ public RuleCall getExtPortsExternalPortParserRuleCall_6_4_1_0() { return cExtPortsExternalPortParserRuleCall_6_4_1_0; }
+
+ //serviceImplementations+=ServiceImplementation*
+ public Assignment getServiceImplementationsAssignment_6_5() { return cServiceImplementationsAssignment_6_5; }
+
+ //ServiceImplementation
+ public RuleCall getServiceImplementationsServiceImplementationParserRuleCall_6_5_0() { return cServiceImplementationsServiceImplementationParserRuleCall_6_5_0; }
+
+ //strSAPs+=SAPRef*
+ public Assignment getStrSAPsAssignment_6_6() { return cStrSAPsAssignment_6_6; }
+
+ //SAPRef
+ public RuleCall getStrSAPsSAPRefParserRuleCall_6_6_0() { return cStrSAPsSAPRefParserRuleCall_6_6_0; }
+
+ //attributes+=Attribute*
+ public Assignment getAttributesAssignment_6_7() { return cAttributesAssignment_6_7; }
+
+ //Attribute
+ public RuleCall getAttributesAttributeParserRuleCall_6_7_0() { return cAttributesAttributeParserRuleCall_6_7_0; }
+
+ //actorRefs+=ActorRef*
+ public Assignment getActorRefsAssignment_6_8() { return cActorRefsAssignment_6_8; }
+
+ //ActorRef
+ public RuleCall getActorRefsActorRefParserRuleCall_6_8_0() { return cActorRefsActorRefParserRuleCall_6_8_0; }
+
+ //bindings+=Binding*
+ public Assignment getBindingsAssignment_6_9() { return cBindingsAssignment_6_9; }
+
+ //Binding
+ public RuleCall getBindingsBindingParserRuleCall_6_9_0() { return cBindingsBindingParserRuleCall_6_9_0; }
+
+ //connections+=LayerConnection*
+ public Assignment getConnectionsAssignment_6_10() { return cConnectionsAssignment_6_10; }
+
+ //LayerConnection
+ public RuleCall getConnectionsLayerConnectionParserRuleCall_6_10_0() { return cConnectionsLayerConnectionParserRuleCall_6_10_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_6_11() { return cRightCurlyBracketKeyword_6_11; }
+
+ //("Behavior" "{" operations+=Operation* stateMachine=StateMachine? "}")?
+ public Group getGroup_7() { return cGroup_7; }
+
+ //"Behavior"
+ public Keyword getBehaviorKeyword_7_0() { return cBehaviorKeyword_7_0; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_7_1() { return cLeftCurlyBracketKeyword_7_1; }
+
+ //operations+=Operation*
+ public Assignment getOperationsAssignment_7_2() { return cOperationsAssignment_7_2; }
+
+ //Operation
+ public RuleCall getOperationsOperationParserRuleCall_7_2_0() { return cOperationsOperationParserRuleCall_7_2_0; }
+
+ //stateMachine=StateMachine?
+ public Assignment getStateMachineAssignment_7_3() { return cStateMachineAssignment_7_3; }
+
+ //StateMachine
+ public RuleCall getStateMachineStateMachineParserRuleCall_7_3_0() { return cStateMachineStateMachineParserRuleCall_7_3_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_7_4() { return cRightCurlyBracketKeyword_7_4; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; }
+ }
+
+ public class InterfaceItemElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "InterfaceItem");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cPortParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cSAPRefParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+ private final RuleCall cSPPRefParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
+
+ //InterfaceItem:
+ // Port | SAPRef | SPPRef;
+ public ParserRule getRule() { return rule; }
+
+ //Port | SAPRef | SPPRef
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //Port
+ public RuleCall getPortParserRuleCall_0() { return cPortParserRuleCall_0; }
+
+ //SAPRef
+ public RuleCall getSAPRefParserRuleCall_1() { return cSAPRefParserRuleCall_1; }
+
+ //SPPRef
+ public RuleCall getSPPRefParserRuleCall_2() { return cSPPRefParserRuleCall_2; }
+ }
+
+ public class PortElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Port");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cConjugatedAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final Keyword cConjugatedConjugatedKeyword_0_0 = (Keyword)cConjugatedAssignment_0.eContents().get(0);
+ private final Keyword cPortKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
+ private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
+ private final Keyword cLeftSquareBracketKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
+ private final Assignment cMultiplicityAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
+ private final RuleCall cMultiplicityINTTerminalRuleCall_3_1_0 = (RuleCall)cMultiplicityAssignment_3_1.eContents().get(0);
+ private final Keyword cRightSquareBracketKeyword_3_2 = (Keyword)cGroup_3.eContents().get(2);
+ private final Keyword cColonKeyword_4 = (Keyword)cGroup.eContents().get(4);
+ private final Assignment cProtocolAssignment_5 = (Assignment)cGroup.eContents().get(5);
+ private final CrossReference cProtocolProtocolClassCrossReference_5_0 = (CrossReference)cProtocolAssignment_5.eContents().get(0);
+ private final RuleCall cProtocolProtocolClassFQNParserRuleCall_5_0_1 = (RuleCall)cProtocolProtocolClassCrossReference_5_0.eContents().get(1);
+
+ //Port:
+ // conjugated?="conjugated"? "Port" name=ID ("[" multiplicity=INT "]")? ":" protocol=[ProtocolClass|FQN];
+ public ParserRule getRule() { return rule; }
+
+ //conjugated?="conjugated"? "Port" name=ID ("[" multiplicity=INT "]")? ":" protocol=[ProtocolClass|FQN]
+ public Group getGroup() { return cGroup; }
+
+ //conjugated?="conjugated"?
+ public Assignment getConjugatedAssignment_0() { return cConjugatedAssignment_0; }
+
+ //"conjugated"
+ public Keyword getConjugatedConjugatedKeyword_0_0() { return cConjugatedConjugatedKeyword_0_0; }
+
+ //"Port"
+ public Keyword getPortKeyword_1() { return cPortKeyword_1; }
+
+ //name=ID
+ public Assignment getNameAssignment_2() { return cNameAssignment_2; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; }
+
+ //("[" multiplicity=INT "]")?
+ public Group getGroup_3() { return cGroup_3; }
+
+ //"["
+ public Keyword getLeftSquareBracketKeyword_3_0() { return cLeftSquareBracketKeyword_3_0; }
+
+ //multiplicity=INT
+ public Assignment getMultiplicityAssignment_3_1() { return cMultiplicityAssignment_3_1; }
+
+ //INT
+ public RuleCall getMultiplicityINTTerminalRuleCall_3_1_0() { return cMultiplicityINTTerminalRuleCall_3_1_0; }
+
+ //"]"
+ public Keyword getRightSquareBracketKeyword_3_2() { return cRightSquareBracketKeyword_3_2; }
+
+ //":"
+ public Keyword getColonKeyword_4() { return cColonKeyword_4; }
+
+ //protocol=[ProtocolClass|FQN]
+ public Assignment getProtocolAssignment_5() { return cProtocolAssignment_5; }
+
+ //[ProtocolClass|FQN]
+ public CrossReference getProtocolProtocolClassCrossReference_5_0() { return cProtocolProtocolClassCrossReference_5_0; }
+
+ //FQN
+ public RuleCall getProtocolProtocolClassFQNParserRuleCall_5_0_1() { return cProtocolProtocolClassFQNParserRuleCall_5_0_1; }
+ }
+
+ public class ExternalPortElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ExternalPort");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cExternalKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Keyword cPortKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cIfportAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final CrossReference cIfportPortCrossReference_2_0 = (CrossReference)cIfportAssignment_2.eContents().get(0);
+ private final RuleCall cIfportPortIDTerminalRuleCall_2_0_1 = (RuleCall)cIfportPortCrossReference_2_0.eContents().get(1);
+
+ //ExternalPort:
+ // "external" "Port" ifport=[Port];
+ public ParserRule getRule() { return rule; }
+
+ //"external" "Port" ifport=[Port]
+ public Group getGroup() { return cGroup; }
+
+ //"external"
+ public Keyword getExternalKeyword_0() { return cExternalKeyword_0; }
+
+ //"Port"
+ public Keyword getPortKeyword_1() { return cPortKeyword_1; }
+
+ //ifport=[Port]
+ public Assignment getIfportAssignment_2() { return cIfportAssignment_2; }
+
+ //[Port]
+ public CrossReference getIfportPortCrossReference_2_0() { return cIfportPortCrossReference_2_0; }
+
+ //ID
+ public RuleCall getIfportPortIDTerminalRuleCall_2_0_1() { return cIfportPortIDTerminalRuleCall_2_0_1; }
+ }
+
+ public class SAPRefElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SAPRef");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cSAPKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+ private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Assignment cProtocolAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final CrossReference cProtocolProtocolClassCrossReference_3_0 = (CrossReference)cProtocolAssignment_3.eContents().get(0);
+ private final RuleCall cProtocolProtocolClassFQNParserRuleCall_3_0_1 = (RuleCall)cProtocolProtocolClassCrossReference_3_0.eContents().get(1);
+
+ //SAPRef: // we omitted the SAP type (Timing/Frame/Exception)
+ //
+ // "SAP" name=ID ":" protocol=[ProtocolClass|FQN];
+ public ParserRule getRule() { return rule; }
+
+ //// we omitted the SAP type (Timing/Frame/Exception)
+ //
+ //"SAP" name=ID ":" protocol=[ProtocolClass|FQN]
+ public Group getGroup() { return cGroup; }
+
+ //// we omitted the SAP type (Timing/Frame/Exception)
+ //
+ //"SAP"
+ public Keyword getSAPKeyword_0() { return cSAPKeyword_0; }
+
+ //name=ID
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
+
+ //":"
+ public Keyword getColonKeyword_2() { return cColonKeyword_2; }
+
+ //protocol=[ProtocolClass|FQN]
+ public Assignment getProtocolAssignment_3() { return cProtocolAssignment_3; }
+
+ //[ProtocolClass|FQN]
+ public CrossReference getProtocolProtocolClassCrossReference_3_0() { return cProtocolProtocolClassCrossReference_3_0; }
+
+ //FQN
+ public RuleCall getProtocolProtocolClassFQNParserRuleCall_3_0_1() { return cProtocolProtocolClassFQNParserRuleCall_3_0_1; }
+ }
+
+ public class SPPRefElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SPPRef");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cSPPKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+ private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Assignment cProtocolAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final CrossReference cProtocolProtocolClassCrossReference_3_0 = (CrossReference)cProtocolAssignment_3.eContents().get(0);
+ private final RuleCall cProtocolProtocolClassFQNParserRuleCall_3_0_1 = (RuleCall)cProtocolProtocolClassCrossReference_3_0.eContents().get(1);
+
+ //SPPRef:
+ // "SPP" name=ID ":" protocol=[ProtocolClass|FQN];
+ public ParserRule getRule() { return rule; }
+
+ //"SPP" name=ID ":" protocol=[ProtocolClass|FQN]
+ public Group getGroup() { return cGroup; }
+
+ //"SPP"
+ public Keyword getSPPKeyword_0() { return cSPPKeyword_0; }
+
+ //name=ID
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
+
+ //":"
+ public Keyword getColonKeyword_2() { return cColonKeyword_2; }
+
+ //protocol=[ProtocolClass|FQN]
+ public Assignment getProtocolAssignment_3() { return cProtocolAssignment_3; }
+
+ //[ProtocolClass|FQN]
+ public CrossReference getProtocolProtocolClassCrossReference_3_0() { return cProtocolProtocolClassCrossReference_3_0; }
+
+ //FQN
+ public RuleCall getProtocolProtocolClassFQNParserRuleCall_3_0_1() { return cProtocolProtocolClassFQNParserRuleCall_3_0_1; }
+ }
+
+ public class ServiceImplementationElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ServiceImplementation");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cServiceImplementationKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Keyword cOfKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cSppAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final CrossReference cSppSPPRefCrossReference_2_0 = (CrossReference)cSppAssignment_2.eContents().get(0);
+ private final RuleCall cSppSPPRefIDTerminalRuleCall_2_0_1 = (RuleCall)cSppSPPRefCrossReference_2_0.eContents().get(1);
+
+ //ServiceImplementation:
+ // "ServiceImplementation" "of" spp=[SPPRef];
+ public ParserRule getRule() { return rule; }
+
+ //"ServiceImplementation" "of" spp=[SPPRef]
+ public Group getGroup() { return cGroup; }
+
+ //"ServiceImplementation"
+ public Keyword getServiceImplementationKeyword_0() { return cServiceImplementationKeyword_0; }
+
+ //"of"
+ public Keyword getOfKeyword_1() { return cOfKeyword_1; }
+
+ //spp=[SPPRef]
+ public Assignment getSppAssignment_2() { return cSppAssignment_2; }
+
+ //[SPPRef]
+ public CrossReference getSppSPPRefCrossReference_2_0() { return cSppSPPRefCrossReference_2_0; }
+
+ //ID
+ public RuleCall getSppSPPRefIDTerminalRuleCall_2_0_1() { return cSppSPPRefIDTerminalRuleCall_2_0_1; }
+ }
+
+ public class LogicalSystemElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LogicalSystem");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cLogicalSystemKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+ private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Assignment cSubSystemsAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cSubSystemsSubSystemRefParserRuleCall_3_0 = (RuleCall)cSubSystemsAssignment_3.eContents().get(0);
+ private final Assignment cBindingsAssignment_4 = (Assignment)cGroup.eContents().get(4);
+ private final RuleCall cBindingsBindingParserRuleCall_4_0 = (RuleCall)cBindingsAssignment_4.eContents().get(0);
+ private final Assignment cConnectionsAssignment_5 = (Assignment)cGroup.eContents().get(5);
+ private final RuleCall cConnectionsLayerConnectionParserRuleCall_5_0 = (RuleCall)cConnectionsAssignment_5.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
+
+ //LogicalSystem:
+ // "LogicalSystem" name=ID "{" subSystems+=SubSystemRef+ bindings+=Binding* connections+=LayerConnection* "}";
+ public ParserRule getRule() { return rule; }
+
+ //"LogicalSystem" name=ID "{" subSystems+=SubSystemRef+ bindings+=Binding* connections+=LayerConnection* "}"
+ public Group getGroup() { return cGroup; }
+
+ //"LogicalSystem"
+ public Keyword getLogicalSystemKeyword_0() { return cLogicalSystemKeyword_0; }
+
+ //name=ID
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+ //subSystems+=SubSystemRef+
+ public Assignment getSubSystemsAssignment_3() { return cSubSystemsAssignment_3; }
+
+ //SubSystemRef
+ public RuleCall getSubSystemsSubSystemRefParserRuleCall_3_0() { return cSubSystemsSubSystemRefParserRuleCall_3_0; }
+
+ //bindings+=Binding*
+ public Assignment getBindingsAssignment_4() { return cBindingsAssignment_4; }
+
+ //Binding
+ public RuleCall getBindingsBindingParserRuleCall_4_0() { return cBindingsBindingParserRuleCall_4_0; }
+
+ //connections+=LayerConnection*
+ public Assignment getConnectionsAssignment_5() { return cConnectionsAssignment_5; }
+
+ //LayerConnection
+ public RuleCall getConnectionsLayerConnectionParserRuleCall_5_0() { return cConnectionsLayerConnectionParserRuleCall_5_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
+ }
+
+ public class ActorContainerRefElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ActorContainerRef");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cSubSystemRefParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cActorRefParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+
+ //ActorContainerRef:
+ // SubSystemRef | ActorRef;
+ public ParserRule getRule() { return rule; }
+
+ //SubSystemRef | ActorRef
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //SubSystemRef
+ public RuleCall getSubSystemRefParserRuleCall_0() { return cSubSystemRefParserRuleCall_0; }
+
+ //ActorRef
+ public RuleCall getActorRefParserRuleCall_1() { return cActorRefParserRuleCall_1; }
+ }
+
+ public class SubSystemRefElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SubSystemRef");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cSubSystemRefKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+ private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Assignment cTypeAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final CrossReference cTypeSubSystemClassCrossReference_3_0 = (CrossReference)cTypeAssignment_3.eContents().get(0);
+ private final RuleCall cTypeSubSystemClassFQNParserRuleCall_3_0_1 = (RuleCall)cTypeSubSystemClassCrossReference_3_0.eContents().get(1);
+
+ //SubSystemRef:
+ // "SubSystemRef" name=ID ":" type=[SubSystemClass|FQN];
+ public ParserRule getRule() { return rule; }
+
+ //"SubSystemRef" name=ID ":" type=[SubSystemClass|FQN]
+ public Group getGroup() { return cGroup; }
+
+ //"SubSystemRef"
+ public Keyword getSubSystemRefKeyword_0() { return cSubSystemRefKeyword_0; }
+
+ //name=ID
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
+
+ //":"
+ public Keyword getColonKeyword_2() { return cColonKeyword_2; }
+
+ //type=[SubSystemClass|FQN]
+ public Assignment getTypeAssignment_3() { return cTypeAssignment_3; }
+
+ //[SubSystemClass|FQN]
+ public CrossReference getTypeSubSystemClassCrossReference_3_0() { return cTypeSubSystemClassCrossReference_3_0; }
+
+ //FQN
+ public RuleCall getTypeSubSystemClassFQNParserRuleCall_3_0_1() { return cTypeSubSystemClassFQNParserRuleCall_3_0_1; }
+ }
+
+ public class SubSystemClassElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SubSystemClass");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cSubSystemClassKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+ private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Assignment cRelayPortsAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cRelayPortsPortParserRuleCall_3_0 = (RuleCall)cRelayPortsAssignment_3.eContents().get(0);
+ private final Assignment cIfSPPsAssignment_4 = (Assignment)cGroup.eContents().get(4);
+ private final RuleCall cIfSPPsSPPRefParserRuleCall_4_0 = (RuleCall)cIfSPPsAssignment_4.eContents().get(0);
+ private final Assignment cActorRefsAssignment_5 = (Assignment)cGroup.eContents().get(5);
+ private final RuleCall cActorRefsActorRefParserRuleCall_5_0 = (RuleCall)cActorRefsAssignment_5.eContents().get(0);
+ private final Assignment cBindingsAssignment_6 = (Assignment)cGroup.eContents().get(6);
+ private final RuleCall cBindingsBindingParserRuleCall_6_0 = (RuleCall)cBindingsAssignment_6.eContents().get(0);
+ private final Assignment cConnectionsAssignment_7 = (Assignment)cGroup.eContents().get(7);
+ private final RuleCall cConnectionsLayerConnectionParserRuleCall_7_0 = (RuleCall)cConnectionsAssignment_7.eContents().get(0);
+ private final Assignment cThreadsAssignment_8 = (Assignment)cGroup.eContents().get(8);
+ private final RuleCall cThreadsLogicalThreadParserRuleCall_8_0 = (RuleCall)cThreadsAssignment_8.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_9 = (Keyword)cGroup.eContents().get(9);
+
+ //SubSystemClass:
+ // "SubSystemClass" name=ID "{" relayPorts+=Port* ifSPPs+=SPPRef* actorRefs+=ActorRef+ bindings+=Binding*
+ // connections+=LayerConnection* threads+=LogicalThread* "}";
+ public ParserRule getRule() { return rule; }
+
+ //"SubSystemClass" name=ID "{" relayPorts+=Port* ifSPPs+=SPPRef* actorRefs+=ActorRef+ bindings+=Binding*
+ //connections+=LayerConnection* threads+=LogicalThread* "}"
+ public Group getGroup() { return cGroup; }
+
+ //"SubSystemClass"
+ public Keyword getSubSystemClassKeyword_0() { return cSubSystemClassKeyword_0; }
+
+ //name=ID
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+ //relayPorts+=Port*
+ public Assignment getRelayPortsAssignment_3() { return cRelayPortsAssignment_3; }
+
+ //Port
+ public RuleCall getRelayPortsPortParserRuleCall_3_0() { return cRelayPortsPortParserRuleCall_3_0; }
+
+ //ifSPPs+=SPPRef*
+ public Assignment getIfSPPsAssignment_4() { return cIfSPPsAssignment_4; }
+
+ //SPPRef
+ public RuleCall getIfSPPsSPPRefParserRuleCall_4_0() { return cIfSPPsSPPRefParserRuleCall_4_0; }
+
+ //actorRefs+=ActorRef+
+ public Assignment getActorRefsAssignment_5() { return cActorRefsAssignment_5; }
+
+ //ActorRef
+ public RuleCall getActorRefsActorRefParserRuleCall_5_0() { return cActorRefsActorRefParserRuleCall_5_0; }
+
+ //bindings+=Binding*
+ public Assignment getBindingsAssignment_6() { return cBindingsAssignment_6; }
+
+ //Binding
+ public RuleCall getBindingsBindingParserRuleCall_6_0() { return cBindingsBindingParserRuleCall_6_0; }
+
+ //connections+=LayerConnection*
+ public Assignment getConnectionsAssignment_7() { return cConnectionsAssignment_7; }
+
+ //LayerConnection
+ public RuleCall getConnectionsLayerConnectionParserRuleCall_7_0() { return cConnectionsLayerConnectionParserRuleCall_7_0; }
+
+ //threads+=LogicalThread*
+ public Assignment getThreadsAssignment_8() { return cThreadsAssignment_8; }
+
+ //LogicalThread
+ public RuleCall getThreadsLogicalThreadParserRuleCall_8_0() { return cThreadsLogicalThreadParserRuleCall_8_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_9() { return cRightCurlyBracketKeyword_9; }
+ }
+
+ public class LogicalThreadElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LogicalThread");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cLogicalThreadKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+ private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Assignment cInstancesAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cInstancesActorInstancePathParserRuleCall_3_0 = (RuleCall)cInstancesAssignment_3.eContents().get(0);
+ private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
+ private final Keyword cCommaKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
+ private final Assignment cInstancesAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
+ private final RuleCall cInstancesActorInstancePathParserRuleCall_4_1_0 = (RuleCall)cInstancesAssignment_4_1.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
+
+ //LogicalThread:
+ // "LogicalThread" name=ID "{" instances+=ActorInstancePath ("," instances+=ActorInstancePath)* "}";
+ public ParserRule getRule() { return rule; }
+
+ //"LogicalThread" name=ID "{" instances+=ActorInstancePath ("," instances+=ActorInstancePath)* "}"
+ public Group getGroup() { return cGroup; }
+
+ //"LogicalThread"
+ public Keyword getLogicalThreadKeyword_0() { return cLogicalThreadKeyword_0; }
+
+ //name=ID
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+ //instances+=ActorInstancePath
+ public Assignment getInstancesAssignment_3() { return cInstancesAssignment_3; }
+
+ //ActorInstancePath
+ public RuleCall getInstancesActorInstancePathParserRuleCall_3_0() { return cInstancesActorInstancePathParserRuleCall_3_0; }
+
+ //("," instances+=ActorInstancePath)*
+ public Group getGroup_4() { return cGroup_4; }
+
+ //","
+ public Keyword getCommaKeyword_4_0() { return cCommaKeyword_4_0; }
+
+ //instances+=ActorInstancePath
+ public Assignment getInstancesAssignment_4_1() { return cInstancesAssignment_4_1; }
+
+ //ActorInstancePath
+ public RuleCall getInstancesActorInstancePathParserRuleCall_4_1_0() { return cInstancesActorInstancePathParserRuleCall_4_1_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
+ }
+
+ public class ActorInstancePathElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ActorInstancePath");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cSegmentsAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cSegmentsIDTerminalRuleCall_0_0 = (RuleCall)cSegmentsAssignment_0.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+ private final Assignment cSegmentsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final RuleCall cSegmentsIDTerminalRuleCall_1_1_0 = (RuleCall)cSegmentsAssignment_1_1.eContents().get(0);
+
+ //ActorInstancePath:
+ // segments+=ID ("." segments+=ID)*;
+ public ParserRule getRule() { return rule; }
+
+ //segments+=ID ("." segments+=ID)*
+ public Group getGroup() { return cGroup; }
+
+ //segments+=ID
+ public Assignment getSegmentsAssignment_0() { return cSegmentsAssignment_0; }
+
+ //ID
+ public RuleCall getSegmentsIDTerminalRuleCall_0_0() { return cSegmentsIDTerminalRuleCall_0_0; }
+
+ //("." segments+=ID)*
+ public Group getGroup_1() { return cGroup_1; }
+
+ //"."
+ public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; }
+
+ //segments+=ID
+ public Assignment getSegmentsAssignment_1_1() { return cSegmentsAssignment_1_1; }
+
+ //ID
+ public RuleCall getSegmentsIDTerminalRuleCall_1_1_0() { return cSegmentsIDTerminalRuleCall_1_1_0; }
+ }
+
+ public class BindingElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Binding");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cBindingKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cEndpoint1Assignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cEndpoint1BindingEndPointParserRuleCall_1_0 = (RuleCall)cEndpoint1Assignment_1.eContents().get(0);
+ private final Keyword cAndKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Assignment cEndpoint2Assignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cEndpoint2BindingEndPointParserRuleCall_3_0 = (RuleCall)cEndpoint2Assignment_3.eContents().get(0);
+
+ //// TODOHRR: bindings for replicated ports
+ //
+ //// (1) declare several bindings
+ //
+ //// (2) use a notation with 1 to n bindings
+ //
+ //Binding:
+ // "Binding" endpoint1=BindingEndPoint "and" endpoint2=BindingEndPoint;
+ public ParserRule getRule() { return rule; }
+
+ //"Binding" endpoint1=BindingEndPoint "and" endpoint2=BindingEndPoint
+ public Group getGroup() { return cGroup; }
+
+ //"Binding"
+ public Keyword getBindingKeyword_0() { return cBindingKeyword_0; }
+
+ //endpoint1=BindingEndPoint
+ public Assignment getEndpoint1Assignment_1() { return cEndpoint1Assignment_1; }
+
+ //BindingEndPoint
+ public RuleCall getEndpoint1BindingEndPointParserRuleCall_1_0() { return cEndpoint1BindingEndPointParserRuleCall_1_0; }
+
+ //"and"
+ public Keyword getAndKeyword_2() { return cAndKeyword_2; }
+
+ //endpoint2=BindingEndPoint
+ public Assignment getEndpoint2Assignment_3() { return cEndpoint2Assignment_3; }
+
+ //BindingEndPoint
+ public RuleCall getEndpoint2BindingEndPointParserRuleCall_3_0() { return cEndpoint2BindingEndPointParserRuleCall_3_0; }
+ }
+
+ public class BindingEndPointElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BindingEndPoint");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Group cGroup_0 = (Group)cGroup.eContents().get(0);
+ private final Assignment cActorRefAssignment_0_0 = (Assignment)cGroup_0.eContents().get(0);
+ private final CrossReference cActorRefActorContainerRefCrossReference_0_0_0 = (CrossReference)cActorRefAssignment_0_0.eContents().get(0);
+ private final RuleCall cActorRefActorContainerRefIDTerminalRuleCall_0_0_0_1 = (RuleCall)cActorRefActorContainerRefCrossReference_0_0_0.eContents().get(1);
+ private final Keyword cFullStopKeyword_0_1 = (Keyword)cGroup_0.eContents().get(1);
+ private final Assignment cPortAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final CrossReference cPortPortCrossReference_1_0 = (CrossReference)cPortAssignment_1.eContents().get(0);
+ private final RuleCall cPortPortIDTerminalRuleCall_1_0_1 = (RuleCall)cPortPortCrossReference_1_0.eContents().get(1);
+
+ //BindingEndPoint:
+ // (actorRef=[ActorContainerRef] ".")? port=[Port];
+ public ParserRule getRule() { return rule; }
+
+ //(actorRef=[ActorContainerRef] ".")? port=[Port]
+ public Group getGroup() { return cGroup; }
+
+ //(actorRef=[ActorContainerRef] ".")?
+ public Group getGroup_0() { return cGroup_0; }
+
+ //actorRef=[ActorContainerRef]
+ public Assignment getActorRefAssignment_0_0() { return cActorRefAssignment_0_0; }
+
+ //[ActorContainerRef]
+ public CrossReference getActorRefActorContainerRefCrossReference_0_0_0() { return cActorRefActorContainerRefCrossReference_0_0_0; }
+
+ //ID
+ public RuleCall getActorRefActorContainerRefIDTerminalRuleCall_0_0_0_1() { return cActorRefActorContainerRefIDTerminalRuleCall_0_0_0_1; }
+
+ //"."
+ public Keyword getFullStopKeyword_0_1() { return cFullStopKeyword_0_1; }
+
+ //port=[Port]
+ public Assignment getPortAssignment_1() { return cPortAssignment_1; }
+
+ //[Port]
+ public CrossReference getPortPortCrossReference_1_0() { return cPortPortCrossReference_1_0; }
+
+ //ID
+ public RuleCall getPortPortIDTerminalRuleCall_1_0_1() { return cPortPortIDTerminalRuleCall_1_0_1; }
+ }
+
+ public class LayerConnectionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LayerConnection");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cLayerConnectionKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cFromAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cFromSAPointParserRuleCall_1_0 = (RuleCall)cFromAssignment_1.eContents().get(0);
+ private final Keyword cSatisfied_byKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Assignment cToAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cToSPPointParserRuleCall_3_0 = (RuleCall)cToAssignment_3.eContents().get(0);
+
+ //LayerConnection:
+ // "LayerConnection" from=SAPoint "satisfied_by" to=SPPoint;
+ public ParserRule getRule() { return rule; }
+
+ //"LayerConnection" from=SAPoint "satisfied_by" to=SPPoint
+ public Group getGroup() { return cGroup; }
+
+ //"LayerConnection"
+ public Keyword getLayerConnectionKeyword_0() { return cLayerConnectionKeyword_0; }
+
+ //from=SAPoint
+ public Assignment getFromAssignment_1() { return cFromAssignment_1; }
+
+ //SAPoint
+ public RuleCall getFromSAPointParserRuleCall_1_0() { return cFromSAPointParserRuleCall_1_0; }
+
+ //"satisfied_by"
+ public Keyword getSatisfied_byKeyword_2() { return cSatisfied_byKeyword_2; }
+
+ //to=SPPoint
+ public Assignment getToAssignment_3() { return cToAssignment_3; }
+
+ //SPPoint
+ public RuleCall getToSPPointParserRuleCall_3_0() { return cToSPPointParserRuleCall_3_0; }
+ }
+
+ public class SAPointElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SAPoint");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cRefSAPointParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cRelaySAPointParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+
+ //SAPoint:
+ // RefSAPoint | RelaySAPoint;
+ public ParserRule getRule() { return rule; }
+
+ //RefSAPoint | RelaySAPoint
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //RefSAPoint
+ public RuleCall getRefSAPointParserRuleCall_0() { return cRefSAPointParserRuleCall_0; }
+
+ //RelaySAPoint
+ public RuleCall getRelaySAPointParserRuleCall_1() { return cRelaySAPointParserRuleCall_1; }
+ }
+
+ public class RefSAPointElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RefSAPoint");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cRefKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cRefAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final CrossReference cRefActorContainerRefCrossReference_1_0 = (CrossReference)cRefAssignment_1.eContents().get(0);
+ private final RuleCall cRefActorContainerRefIDTerminalRuleCall_1_0_1 = (RuleCall)cRefActorContainerRefCrossReference_1_0.eContents().get(1);
+
+ //RefSAPoint: // satisfies a sub actor
+ //
+ // "ref" ref=[ActorContainerRef];
+ public ParserRule getRule() { return rule; }
+
+ //// satisfies a sub actor
+ //
+ //"ref" ref=[ActorContainerRef]
+ public Group getGroup() { return cGroup; }
+
+ //// satisfies a sub actor
+ //
+ //"ref"
+ public Keyword getRefKeyword_0() { return cRefKeyword_0; }
+
+ //ref=[ActorContainerRef]
+ public Assignment getRefAssignment_1() { return cRefAssignment_1; }
+
+ //[ActorContainerRef]
+ public CrossReference getRefActorContainerRefCrossReference_1_0() { return cRefActorContainerRefCrossReference_1_0; }
+
+ //ID
+ public RuleCall getRefActorContainerRefIDTerminalRuleCall_1_0_1() { return cRefActorContainerRefIDTerminalRuleCall_1_0_1; }
+ }
+
+ public class RelaySAPointElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RelaySAPoint");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cRelay_sapKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cRelayAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final CrossReference cRelaySPPRefCrossReference_1_0 = (CrossReference)cRelayAssignment_1.eContents().get(0);
+ private final RuleCall cRelaySPPRefIDTerminalRuleCall_1_0_1 = (RuleCall)cRelaySPPRefCrossReference_1_0.eContents().get(1);
+
+ //RelaySAPoint: // relays from own interface
+ //
+ // "relay_sap" relay=[SPPRef];
+ public ParserRule getRule() { return rule; }
+
+ //// relays from own interface
+ //
+ //"relay_sap" relay=[SPPRef]
+ public Group getGroup() { return cGroup; }
+
+ //// relays from own interface
+ //
+ //"relay_sap"
+ public Keyword getRelay_sapKeyword_0() { return cRelay_sapKeyword_0; }
+
+ //relay=[SPPRef]
+ public Assignment getRelayAssignment_1() { return cRelayAssignment_1; }
+
+ //[SPPRef]
+ public CrossReference getRelaySPPRefCrossReference_1_0() { return cRelaySPPRefCrossReference_1_0; }
+
+ //ID
+ public RuleCall getRelaySPPRefIDTerminalRuleCall_1_0_1() { return cRelaySPPRefIDTerminalRuleCall_1_0_1; }
+ }
+
+ public class SPPointElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SPPoint");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cRefAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final CrossReference cRefActorContainerRefCrossReference_0_0 = (CrossReference)cRefAssignment_0.eContents().get(0);
+ private final RuleCall cRefActorContainerRefIDTerminalRuleCall_0_0_1 = (RuleCall)cRefActorContainerRefCrossReference_0_0.eContents().get(1);
+ private final Keyword cFullStopKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cServiceAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final CrossReference cServiceSPPRefCrossReference_2_0 = (CrossReference)cServiceAssignment_2.eContents().get(0);
+ private final RuleCall cServiceSPPRefIDTerminalRuleCall_2_0_1 = (RuleCall)cServiceSPPRefCrossReference_2_0.eContents().get(1);
+
+ //SPPoint:
+ // ref=[ActorContainerRef] "." service=[SPPRef];
+ public ParserRule getRule() { return rule; }
+
+ //ref=[ActorContainerRef] "." service=[SPPRef]
+ public Group getGroup() { return cGroup; }
+
+ //ref=[ActorContainerRef]
+ public Assignment getRefAssignment_0() { return cRefAssignment_0; }
+
+ //[ActorContainerRef]
+ public CrossReference getRefActorContainerRefCrossReference_0_0() { return cRefActorContainerRefCrossReference_0_0; }
+
+ //ID
+ public RuleCall getRefActorContainerRefIDTerminalRuleCall_0_0_1() { return cRefActorContainerRefIDTerminalRuleCall_0_0_1; }
+
+ //"."
+ public Keyword getFullStopKeyword_1() { return cFullStopKeyword_1; }
+
+ //service=[SPPRef]
+ public Assignment getServiceAssignment_2() { return cServiceAssignment_2; }
+
+ //[SPPRef]
+ public CrossReference getServiceSPPRefCrossReference_2_0() { return cServiceSPPRefCrossReference_2_0; }
+
+ //ID
+ public RuleCall getServiceSPPRefIDTerminalRuleCall_2_0_1() { return cServiceSPPRefIDTerminalRuleCall_2_0_1; }
+ }
+
+ public class ActorRefElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ActorRef");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cActorRefKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+ private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Assignment cTypeAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final CrossReference cTypeActorClassCrossReference_3_0 = (CrossReference)cTypeAssignment_3.eContents().get(0);
+ private final RuleCall cTypeActorClassFQNParserRuleCall_3_0_1 = (RuleCall)cTypeActorClassCrossReference_3_0.eContents().get(1);
+
+ //// TODOHRR: support replicated actors
+ //
+ //ActorRef:
+ // "ActorRef" name=ID ":" type=[ActorClass|FQN];
+ public ParserRule getRule() { return rule; }
+
+ //"ActorRef" name=ID ":" type=[ActorClass|FQN]
+ public Group getGroup() { return cGroup; }
+
+ //"ActorRef"
+ public Keyword getActorRefKeyword_0() { return cActorRefKeyword_0; }
+
+ //name=ID
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
+
+ //":"
+ public Keyword getColonKeyword_2() { return cColonKeyword_2; }
+
+ //type=[ActorClass|FQN]
+ public Assignment getTypeAssignment_3() { return cTypeAssignment_3; }
+
+ //[ActorClass|FQN]
+ public CrossReference getTypeActorClassCrossReference_3_0() { return cTypeActorClassCrossReference_3_0; }
+
+ //FQN
+ public RuleCall getTypeActorClassFQNParserRuleCall_3_0_1() { return cTypeActorClassFQNParserRuleCall_3_0_1; }
+ }
+
+ public class StateGraphNodeElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StateGraphNode");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cStateParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cChoicePointParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+ private final RuleCall cTrPointParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
+
+ //// **************************************************************
+ //
+ //// state machine
+ //
+ //StateGraphNode:
+ // State | ChoicePoint | TrPoint;
+ public ParserRule getRule() { return rule; }
+
+ //State | ChoicePoint | TrPoint
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //State
+ public RuleCall getStateParserRuleCall_0() { return cStateParserRuleCall_0; }
+
+ //ChoicePoint
+ public RuleCall getChoicePointParserRuleCall_1() { return cChoicePointParserRuleCall_1; }
+
+ //TrPoint
+ public RuleCall getTrPointParserRuleCall_2() { return cTrPointParserRuleCall_2; }
+ }
+
+ public class StateGraphItemElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StateGraphItem");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cStateGraphNodeParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cTransitionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+
+ //StateGraphItem:
+ // StateGraphNode | Transition;
+ public ParserRule getRule() { return rule; }
+
+ //StateGraphNode | Transition
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //StateGraphNode
+ public RuleCall getStateGraphNodeParserRuleCall_0() { return cStateGraphNodeParserRuleCall_0; }
+
+ //Transition
+ public RuleCall getTransitionParserRuleCall_1() { return cTransitionParserRuleCall_1; }
+ }
+
+ public class StateElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "State");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cBaseStateParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cRefinedStateParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+
+ //State:
+ // BaseState | RefinedState;
+ public ParserRule getRule() { return rule; }
+
+ //BaseState | RefinedState
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //BaseState
+ public RuleCall getBaseStateParserRuleCall_0() { return cBaseStateParserRuleCall_0; }
+
+ //RefinedState
+ public RuleCall getRefinedStateParserRuleCall_1() { return cRefinedStateParserRuleCall_1; }
+ }
+
+ public class StateGraphElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StateGraph");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cLeftCurlyBracketKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
+ private final Assignment cStatesAssignment_1_0 = (Assignment)cAlternatives_1.eContents().get(0);
+ private final RuleCall cStatesStateParserRuleCall_1_0_0 = (RuleCall)cStatesAssignment_1_0.eContents().get(0);
+ private final Assignment cTrPointsAssignment_1_1 = (Assignment)cAlternatives_1.eContents().get(1);
+ private final RuleCall cTrPointsTrPointParserRuleCall_1_1_0 = (RuleCall)cTrPointsAssignment_1_1.eContents().get(0);
+ private final Assignment cChPointsAssignment_1_2 = (Assignment)cAlternatives_1.eContents().get(2);
+ private final RuleCall cChPointsChoicePointParserRuleCall_1_2_0 = (RuleCall)cChPointsAssignment_1_2.eContents().get(0);
+ private final Assignment cTransitionsAssignment_1_3 = (Assignment)cAlternatives_1.eContents().get(3);
+ private final RuleCall cTransitionsTransitionParserRuleCall_1_3_0 = (RuleCall)cTransitionsAssignment_1_3.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+
+ //StateGraph:
+ // "{" (states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition)+ "}";
+ public ParserRule getRule() { return rule; }
+
+ //"{" (states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition)+ "}"
+ public Group getGroup() { return cGroup; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_0() { return cLeftCurlyBracketKeyword_0; }
+
+ //(states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition)+
+ public Alternatives getAlternatives_1() { return cAlternatives_1; }
+
+ //states+=State
+ public Assignment getStatesAssignment_1_0() { return cStatesAssignment_1_0; }
+
+ //State
+ public RuleCall getStatesStateParserRuleCall_1_0_0() { return cStatesStateParserRuleCall_1_0_0; }
+
+ //trPoints+=TrPoint
+ public Assignment getTrPointsAssignment_1_1() { return cTrPointsAssignment_1_1; }
+
+ //TrPoint
+ public RuleCall getTrPointsTrPointParserRuleCall_1_1_0() { return cTrPointsTrPointParserRuleCall_1_1_0; }
+
+ //chPoints+=ChoicePoint
+ public Assignment getChPointsAssignment_1_2() { return cChPointsAssignment_1_2; }
+
+ //ChoicePoint
+ public RuleCall getChPointsChoicePointParserRuleCall_1_2_0() { return cChPointsChoicePointParserRuleCall_1_2_0; }
+
+ //transitions+=Transition
+ public Assignment getTransitionsAssignment_1_3() { return cTransitionsAssignment_1_3; }
+
+ //Transition
+ public RuleCall getTransitionsTransitionParserRuleCall_1_3_0() { return cTransitionsTransitionParserRuleCall_1_3_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_2() { return cRightCurlyBracketKeyword_2; }
+ }
+
+ public class StateMachineElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StateMachine");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cStateMachineKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Keyword cLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Alternatives cAlternatives_2 = (Alternatives)cGroup.eContents().get(2);
+ private final Assignment cStatesAssignment_2_0 = (Assignment)cAlternatives_2.eContents().get(0);
+ private final RuleCall cStatesStateParserRuleCall_2_0_0 = (RuleCall)cStatesAssignment_2_0.eContents().get(0);
+ private final Assignment cTrPointsAssignment_2_1 = (Assignment)cAlternatives_2.eContents().get(1);
+ private final RuleCall cTrPointsTrPointParserRuleCall_2_1_0 = (RuleCall)cTrPointsAssignment_2_1.eContents().get(0);
+ private final Assignment cChPointsAssignment_2_2 = (Assignment)cAlternatives_2.eContents().get(2);
+ private final RuleCall cChPointsChoicePointParserRuleCall_2_2_0 = (RuleCall)cChPointsAssignment_2_2.eContents().get(0);
+ private final Assignment cTransitionsAssignment_2_3 = (Assignment)cAlternatives_2.eContents().get(3);
+ private final RuleCall cTransitionsTransitionParserRuleCall_2_3_0 = (RuleCall)cTransitionsAssignment_2_3.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_3 = (Keyword)cGroup.eContents().get(3);
+
+ //StateMachine returns StateGraph:
+ // "StateMachine" "{" (states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition)+ "}";
+ public ParserRule getRule() { return rule; }
+
+ //"StateMachine" "{" (states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition)+ "}"
+ public Group getGroup() { return cGroup; }
+
+ //"StateMachine"
+ public Keyword getStateMachineKeyword_0() { return cStateMachineKeyword_0; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_1() { return cLeftCurlyBracketKeyword_1; }
+
+ //(states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition)+
+ public Alternatives getAlternatives_2() { return cAlternatives_2; }
+
+ //states+=State
+ public Assignment getStatesAssignment_2_0() { return cStatesAssignment_2_0; }
+
+ //State
+ public RuleCall getStatesStateParserRuleCall_2_0_0() { return cStatesStateParserRuleCall_2_0_0; }
+
+ //trPoints+=TrPoint
+ public Assignment getTrPointsAssignment_2_1() { return cTrPointsAssignment_2_1; }
+
+ //TrPoint
+ public RuleCall getTrPointsTrPointParserRuleCall_2_1_0() { return cTrPointsTrPointParserRuleCall_2_1_0; }
+
+ //chPoints+=ChoicePoint
+ public Assignment getChPointsAssignment_2_2() { return cChPointsAssignment_2_2; }
+
+ //ChoicePoint
+ public RuleCall getChPointsChoicePointParserRuleCall_2_2_0() { return cChPointsChoicePointParserRuleCall_2_2_0; }
+
+ //transitions+=Transition
+ public Assignment getTransitionsAssignment_2_3() { return cTransitionsAssignment_2_3; }
+
+ //Transition
+ public RuleCall getTransitionsTransitionParserRuleCall_2_3_0() { return cTransitionsTransitionParserRuleCall_2_3_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_3() { return cRightCurlyBracketKeyword_3; }
+ }
+
+ public class BaseStateElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "BaseState");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cStateKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+ private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
+ private final Keyword cEntryKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
+ private final Assignment cEntryCodeAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
+ private final RuleCall cEntryCodeDetailCodeParserRuleCall_3_1_0 = (RuleCall)cEntryCodeAssignment_3_1.eContents().get(0);
+ private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
+ private final Keyword cExitKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
+ private final Assignment cExitCodeAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
+ private final RuleCall cExitCodeDetailCodeParserRuleCall_4_1_0 = (RuleCall)cExitCodeAssignment_4_1.eContents().get(0);
+ private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
+ private final Keyword cSubgraphKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
+ private final Assignment cSubgraphAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
+ private final RuleCall cSubgraphStateGraphParserRuleCall_5_1_0 = (RuleCall)cSubgraphAssignment_5_1.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
+
+ //// entry and exit code have multiplicity many: in BaseState to be able to add derived class codes here,
+ //
+ //// in RefinedState to still have both features in the common base class State
+ //
+ //BaseState:
+ // "State" name=ID "{" ("entry" entryCode=DetailCode)? ("exit" exitCode=DetailCode)? ("subgraph" subgraph=StateGraph)?
+ // "}";
+ public ParserRule getRule() { return rule; }
+
+ //"State" name=ID "{" ("entry" entryCode=DetailCode)? ("exit" exitCode=DetailCode)? ("subgraph" subgraph=StateGraph)? "}"
+ public Group getGroup() { return cGroup; }
+
+ //"State"
+ public Keyword getStateKeyword_0() { return cStateKeyword_0; }
+
+ //name=ID
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+ //("entry" entryCode=DetailCode)?
+ public Group getGroup_3() { return cGroup_3; }
+
+ //"entry"
+ public Keyword getEntryKeyword_3_0() { return cEntryKeyword_3_0; }
+
+ //entryCode=DetailCode
+ public Assignment getEntryCodeAssignment_3_1() { return cEntryCodeAssignment_3_1; }
+
+ //DetailCode
+ public RuleCall getEntryCodeDetailCodeParserRuleCall_3_1_0() { return cEntryCodeDetailCodeParserRuleCall_3_1_0; }
+
+ //("exit" exitCode=DetailCode)?
+ public Group getGroup_4() { return cGroup_4; }
+
+ //"exit"
+ public Keyword getExitKeyword_4_0() { return cExitKeyword_4_0; }
+
+ //exitCode=DetailCode
+ public Assignment getExitCodeAssignment_4_1() { return cExitCodeAssignment_4_1; }
+
+ //DetailCode
+ public RuleCall getExitCodeDetailCodeParserRuleCall_4_1_0() { return cExitCodeDetailCodeParserRuleCall_4_1_0; }
+
+ //("subgraph" subgraph=StateGraph)?
+ public Group getGroup_5() { return cGroup_5; }
+
+ //"subgraph"
+ public Keyword getSubgraphKeyword_5_0() { return cSubgraphKeyword_5_0; }
+
+ //subgraph=StateGraph
+ public Assignment getSubgraphAssignment_5_1() { return cSubgraphAssignment_5_1; }
+
+ //StateGraph
+ public RuleCall getSubgraphStateGraphParserRuleCall_5_1_0() { return cSubgraphStateGraphParserRuleCall_5_1_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
+ }
+
+ public class RefinedStateElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "RefinedState");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cRefinedStateKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cBaseAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final CrossReference cBaseBaseStateCrossReference_1_0 = (CrossReference)cBaseAssignment_1.eContents().get(0);
+ private final RuleCall cBaseBaseStateFQNParserRuleCall_1_0_1 = (RuleCall)cBaseBaseStateCrossReference_1_0.eContents().get(1);
+ private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
+ private final Keyword cEntryKeyword_3_0 = (Keyword)cGroup_3.eContents().get(0);
+ private final Assignment cEntryCodeAssignment_3_1 = (Assignment)cGroup_3.eContents().get(1);
+ private final RuleCall cEntryCodeDetailCodeParserRuleCall_3_1_0 = (RuleCall)cEntryCodeAssignment_3_1.eContents().get(0);
+ private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
+ private final Keyword cExitKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
+ private final Assignment cExitCodeAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
+ private final RuleCall cExitCodeDetailCodeParserRuleCall_4_1_0 = (RuleCall)cExitCodeAssignment_4_1.eContents().get(0);
+ private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
+ private final Keyword cSubgraphKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
+ private final Assignment cSubgraphAssignment_5_1 = (Assignment)cGroup_5.eContents().get(1);
+ private final RuleCall cSubgraphStateGraphParserRuleCall_5_1_0 = (RuleCall)cSubgraphAssignment_5_1.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
+
+ //RefinedState:
+ // "RefinedState" base=[BaseState|FQN] "{" ("entry" entryCode=DetailCode)? ("exit" exitCode=DetailCode)? ("subgraph"
+ // subgraph=StateGraph)? "}";
+ public ParserRule getRule() { return rule; }
+
+ //"RefinedState" base=[BaseState|FQN] "{" ("entry" entryCode=DetailCode)? ("exit" exitCode=DetailCode)? ("subgraph"
+ //subgraph=StateGraph)? "}"
+ public Group getGroup() { return cGroup; }
+
+ //"RefinedState"
+ public Keyword getRefinedStateKeyword_0() { return cRefinedStateKeyword_0; }
+
+ //base=[BaseState|FQN]
+ public Assignment getBaseAssignment_1() { return cBaseAssignment_1; }
+
+ //[BaseState|FQN]
+ public CrossReference getBaseBaseStateCrossReference_1_0() { return cBaseBaseStateCrossReference_1_0; }
+
+ //FQN
+ public RuleCall getBaseBaseStateFQNParserRuleCall_1_0_1() { return cBaseBaseStateFQNParserRuleCall_1_0_1; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+ //("entry" entryCode=DetailCode)?
+ public Group getGroup_3() { return cGroup_3; }
+
+ //"entry"
+ public Keyword getEntryKeyword_3_0() { return cEntryKeyword_3_0; }
+
+ //entryCode=DetailCode
+ public Assignment getEntryCodeAssignment_3_1() { return cEntryCodeAssignment_3_1; }
+
+ //DetailCode
+ public RuleCall getEntryCodeDetailCodeParserRuleCall_3_1_0() { return cEntryCodeDetailCodeParserRuleCall_3_1_0; }
+
+ //("exit" exitCode=DetailCode)?
+ public Group getGroup_4() { return cGroup_4; }
+
+ //"exit"
+ public Keyword getExitKeyword_4_0() { return cExitKeyword_4_0; }
+
+ //exitCode=DetailCode
+ public Assignment getExitCodeAssignment_4_1() { return cExitCodeAssignment_4_1; }
+
+ //DetailCode
+ public RuleCall getExitCodeDetailCodeParserRuleCall_4_1_0() { return cExitCodeDetailCodeParserRuleCall_4_1_0; }
+
+ //("subgraph" subgraph=StateGraph)?
+ public Group getGroup_5() { return cGroup_5; }
+
+ //"subgraph"
+ public Keyword getSubgraphKeyword_5_0() { return cSubgraphKeyword_5_0; }
+
+ //subgraph=StateGraph
+ public Assignment getSubgraphAssignment_5_1() { return cSubgraphAssignment_5_1; }
+
+ //StateGraph
+ public RuleCall getSubgraphStateGraphParserRuleCall_5_1_0() { return cSubgraphStateGraphParserRuleCall_5_1_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
+ }
+
+ public class DetailCodeElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "DetailCode");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cLeftCurlyBracketKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cCommandsAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cCommandsSTRINGTerminalRuleCall_1_0 = (RuleCall)cCommandsAssignment_1.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+
+ //// TODOHRR: provide a means to call super class code (cf. ROOM p. 310f)
+ //
+ //// super() keyword or flag like in Trice
+ //
+ //DetailCode:
+ // "{" commands+=STRING+ "}";
+ public ParserRule getRule() { return rule; }
+
+ //"{" commands+=STRING+ "}"
+ public Group getGroup() { return cGroup; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_0() { return cLeftCurlyBracketKeyword_0; }
+
+ //commands+=STRING+
+ public Assignment getCommandsAssignment_1() { return cCommandsAssignment_1; }
+
+ //STRING
+ public RuleCall getCommandsSTRINGTerminalRuleCall_1_0() { return cCommandsSTRINGTerminalRuleCall_1_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_2() { return cRightCurlyBracketKeyword_2; }
+ }
+
+ public class TrPointElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TrPoint");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cTransitionPointParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cEntryPointParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+ private final RuleCall cExitPointParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
+
+ //TrPoint:
+ // TransitionPoint | EntryPoint | ExitPoint;
+ public ParserRule getRule() { return rule; }
+
+ //TransitionPoint | EntryPoint | ExitPoint
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //TransitionPoint
+ public RuleCall getTransitionPointParserRuleCall_0() { return cTransitionPointParserRuleCall_0; }
+
+ //EntryPoint
+ public RuleCall getEntryPointParserRuleCall_1() { return cEntryPointParserRuleCall_1; }
+
+ //ExitPoint
+ public RuleCall getExitPointParserRuleCall_2() { return cExitPointParserRuleCall_2; }
+ }
+
+ public class TransitionPointElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TransitionPoint");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cHandlerAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final Keyword cHandlerHandlerKeyword_0_0 = (Keyword)cHandlerAssignment_0.eContents().get(0);
+ private final Keyword cTransitionPointKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
+
+ //TransitionPoint:
+ // handler?="handler"? "TransitionPoint" name=ID;
+ public ParserRule getRule() { return rule; }
+
+ //handler?="handler"? "TransitionPoint" name=ID
+ public Group getGroup() { return cGroup; }
+
+ //handler?="handler"?
+ public Assignment getHandlerAssignment_0() { return cHandlerAssignment_0; }
+
+ //"handler"
+ public Keyword getHandlerHandlerKeyword_0_0() { return cHandlerHandlerKeyword_0_0; }
+
+ //"TransitionPoint"
+ public Keyword getTransitionPointKeyword_1() { return cTransitionPointKeyword_1; }
+
+ //name=ID
+ public Assignment getNameAssignment_2() { return cNameAssignment_2; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; }
+ }
+
+ public class EntryPointElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EntryPoint");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cEntryPointKeyword_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);
+
+ //EntryPoint:
+ // "EntryPoint" name=ID;
+ public ParserRule getRule() { return rule; }
+
+ //"EntryPoint" name=ID
+ public Group getGroup() { return cGroup; }
+
+ //"EntryPoint"
+ public Keyword getEntryPointKeyword_0() { return cEntryPointKeyword_0; }
+
+ //name=ID
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
+ }
+
+ public class ExitPointElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ExitPoint");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cExitPointKeyword_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);
+
+ //ExitPoint:
+ // "ExitPoint" name=ID;
+ public ParserRule getRule() { return rule; }
+
+ //"ExitPoint" name=ID
+ public Group getGroup() { return cGroup; }
+
+ //"ExitPoint"
+ public Keyword getExitPointKeyword_0() { return cExitPointKeyword_0; }
+
+ //name=ID
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
+ }
+
+ public class ChoicePointElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ChoicePoint");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cChoicePointKeyword_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);
+
+ //ChoicePoint:
+ // "ChoicePoint" name=ID;
+ public ParserRule getRule() { return rule; }
+
+ //"ChoicePoint" name=ID
+ public Group getGroup() { return cGroup; }
+
+ //"ChoicePoint"
+ public Keyword getChoicePointKeyword_0() { return cChoicePointKeyword_0; }
+
+ //name=ID
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
+ }
+
+ public class TransitionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Transition");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cInitialTransitionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cNonInitialTransitionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+
+ //Transition:
+ // InitialTransition | NonInitialTransition;
+ public ParserRule getRule() { return rule; }
+
+ //InitialTransition | NonInitialTransition
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //InitialTransition
+ public RuleCall getInitialTransitionParserRuleCall_0() { return cInitialTransitionParserRuleCall_0; }
+
+ //NonInitialTransition
+ public RuleCall getNonInitialTransitionParserRuleCall_1() { return cNonInitialTransitionParserRuleCall_1; }
+ }
+
+ public class NonInitialTransitionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "NonInitialTransition");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cTriggeredTransitionParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cContinuationTransitionParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+ private final RuleCall cCPBranchTransitionParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
+
+ //NonInitialTransition:
+ // TriggeredTransition | ContinuationTransition | CPBranchTransition;
+ public ParserRule getRule() { return rule; }
+
+ //TriggeredTransition | ContinuationTransition | CPBranchTransition
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //TriggeredTransition
+ public RuleCall getTriggeredTransitionParserRuleCall_0() { return cTriggeredTransitionParserRuleCall_0; }
+
+ //ContinuationTransition
+ public RuleCall getContinuationTransitionParserRuleCall_1() { return cContinuationTransitionParserRuleCall_1; }
+
+ //CPBranchTransition
+ public RuleCall getCPBranchTransitionParserRuleCall_2() { return cCPBranchTransitionParserRuleCall_2; }
+ }
+
+ public class InitialTransitionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "InitialTransition");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cTransitionKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+ private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Keyword cInitialKeyword_3 = (Keyword)cGroup.eContents().get(3);
+ private final Keyword cHyphenMinusGreaterThanSignKeyword_4 = (Keyword)cGroup.eContents().get(4);
+ private final Assignment cToAssignment_5 = (Assignment)cGroup.eContents().get(5);
+ private final RuleCall cToTransitionTerminalParserRuleCall_5_0 = (RuleCall)cToAssignment_5.eContents().get(0);
+ private final Keyword cLeftCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
+ private final Group cGroup_7 = (Group)cGroup.eContents().get(7);
+ private final Keyword cActionKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0);
+ private final Assignment cActionAssignment_7_1 = (Assignment)cGroup_7.eContents().get(1);
+ private final RuleCall cActionDetailCodeParserRuleCall_7_1_0 = (RuleCall)cActionAssignment_7_1.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8);
+
+ //InitialTransition:
+ // "Transition" name=ID? ":" "initial" "->" to=TransitionTerminal "{" ("action" action=DetailCode)? "}";
+ public ParserRule getRule() { return rule; }
+
+ //"Transition" name=ID? ":" "initial" "->" to=TransitionTerminal "{" ("action" action=DetailCode)? "}"
+ public Group getGroup() { return cGroup; }
+
+ //"Transition"
+ public Keyword getTransitionKeyword_0() { return cTransitionKeyword_0; }
+
+ //name=ID?
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
+
+ //":"
+ public Keyword getColonKeyword_2() { return cColonKeyword_2; }
+
+ //"initial"
+ public Keyword getInitialKeyword_3() { return cInitialKeyword_3; }
+
+ //"->"
+ public Keyword getHyphenMinusGreaterThanSignKeyword_4() { return cHyphenMinusGreaterThanSignKeyword_4; }
+
+ //to=TransitionTerminal
+ public Assignment getToAssignment_5() { return cToAssignment_5; }
+
+ //TransitionTerminal
+ public RuleCall getToTransitionTerminalParserRuleCall_5_0() { return cToTransitionTerminalParserRuleCall_5_0; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_6() { return cLeftCurlyBracketKeyword_6; }
+
+ //("action" action=DetailCode)?
+ public Group getGroup_7() { return cGroup_7; }
+
+ //"action"
+ public Keyword getActionKeyword_7_0() { return cActionKeyword_7_0; }
+
+ //action=DetailCode
+ public Assignment getActionAssignment_7_1() { return cActionAssignment_7_1; }
+
+ //DetailCode
+ public RuleCall getActionDetailCodeParserRuleCall_7_1_0() { return cActionDetailCodeParserRuleCall_7_1_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; }
+ }
+
+ public class ContinuationTransitionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ContinuationTransition");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cTransitionKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+ private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Assignment cFromAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cFromTransitionTerminalParserRuleCall_3_0 = (RuleCall)cFromAssignment_3.eContents().get(0);
+ private final Keyword cHyphenMinusGreaterThanSignKeyword_4 = (Keyword)cGroup.eContents().get(4);
+ private final Assignment cToAssignment_5 = (Assignment)cGroup.eContents().get(5);
+ private final RuleCall cToTransitionTerminalParserRuleCall_5_0 = (RuleCall)cToAssignment_5.eContents().get(0);
+ private final Keyword cLeftCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
+ private final Group cGroup_7 = (Group)cGroup.eContents().get(7);
+ private final Keyword cActionKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0);
+ private final Assignment cActionAssignment_7_1 = (Assignment)cGroup_7.eContents().get(1);
+ private final RuleCall cActionDetailCodeParserRuleCall_7_1_0 = (RuleCall)cActionAssignment_7_1.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8);
+
+ //ContinuationTransition:
+ // "Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" ("action" action=DetailCode)? "}";
+ public ParserRule getRule() { return rule; }
+
+ //"Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" ("action" action=DetailCode)? "}"
+ public Group getGroup() { return cGroup; }
+
+ //"Transition"
+ public Keyword getTransitionKeyword_0() { return cTransitionKeyword_0; }
+
+ //name=ID?
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
+
+ //":"
+ public Keyword getColonKeyword_2() { return cColonKeyword_2; }
+
+ //from=TransitionTerminal
+ public Assignment getFromAssignment_3() { return cFromAssignment_3; }
+
+ //TransitionTerminal
+ public RuleCall getFromTransitionTerminalParserRuleCall_3_0() { return cFromTransitionTerminalParserRuleCall_3_0; }
+
+ //"->"
+ public Keyword getHyphenMinusGreaterThanSignKeyword_4() { return cHyphenMinusGreaterThanSignKeyword_4; }
+
+ //to=TransitionTerminal
+ public Assignment getToAssignment_5() { return cToAssignment_5; }
+
+ //TransitionTerminal
+ public RuleCall getToTransitionTerminalParserRuleCall_5_0() { return cToTransitionTerminalParserRuleCall_5_0; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_6() { return cLeftCurlyBracketKeyword_6; }
+
+ //("action" action=DetailCode)?
+ public Group getGroup_7() { return cGroup_7; }
+
+ //"action"
+ public Keyword getActionKeyword_7_0() { return cActionKeyword_7_0; }
+
+ //action=DetailCode
+ public Assignment getActionAssignment_7_1() { return cActionAssignment_7_1; }
+
+ //DetailCode
+ public RuleCall getActionDetailCodeParserRuleCall_7_1_0() { return cActionDetailCodeParserRuleCall_7_1_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; }
+ }
+
+ public class TriggeredTransitionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TriggeredTransition");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cTransitionKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+ private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Assignment cFromAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cFromTransitionTerminalParserRuleCall_3_0 = (RuleCall)cFromAssignment_3.eContents().get(0);
+ private final Keyword cHyphenMinusGreaterThanSignKeyword_4 = (Keyword)cGroup.eContents().get(4);
+ private final Assignment cToAssignment_5 = (Assignment)cGroup.eContents().get(5);
+ private final RuleCall cToTransitionTerminalParserRuleCall_5_0 = (RuleCall)cToAssignment_5.eContents().get(0);
+ private final Keyword cLeftCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
+ private final Keyword cTriggersKeyword_7 = (Keyword)cGroup.eContents().get(7);
+ private final Keyword cLeftCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8);
+ private final Assignment cTriggersAssignment_9 = (Assignment)cGroup.eContents().get(9);
+ private final RuleCall cTriggersTriggerParserRuleCall_9_0 = (RuleCall)cTriggersAssignment_9.eContents().get(0);
+ private final Group cGroup_10 = (Group)cGroup.eContents().get(10);
+ private final Keyword cOrKeyword_10_0 = (Keyword)cGroup_10.eContents().get(0);
+ private final Assignment cTriggersAssignment_10_1 = (Assignment)cGroup_10.eContents().get(1);
+ private final RuleCall cTriggersTriggerParserRuleCall_10_1_0 = (RuleCall)cTriggersAssignment_10_1.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_11 = (Keyword)cGroup.eContents().get(11);
+ private final Group cGroup_12 = (Group)cGroup.eContents().get(12);
+ private final Keyword cActionKeyword_12_0 = (Keyword)cGroup_12.eContents().get(0);
+ private final Assignment cActionAssignment_12_1 = (Assignment)cGroup_12.eContents().get(1);
+ private final RuleCall cActionDetailCodeParserRuleCall_12_1_0 = (RuleCall)cActionAssignment_12_1.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_13 = (Keyword)cGroup.eContents().get(13);
+
+ //TriggeredTransition:
+ // "Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" "triggers" "{" triggers+=Trigger
+ // ("or" triggers+=Trigger)* "}" ("action" action=DetailCode)? "}";
+ public ParserRule getRule() { return rule; }
+
+ //"Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" "triggers" "{" triggers+=Trigger ("or"
+ //triggers+=Trigger)* "}" ("action" action=DetailCode)? "}"
+ public Group getGroup() { return cGroup; }
+
+ //"Transition"
+ public Keyword getTransitionKeyword_0() { return cTransitionKeyword_0; }
+
+ //name=ID?
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
+
+ //":"
+ public Keyword getColonKeyword_2() { return cColonKeyword_2; }
+
+ //from=TransitionTerminal
+ public Assignment getFromAssignment_3() { return cFromAssignment_3; }
+
+ //TransitionTerminal
+ public RuleCall getFromTransitionTerminalParserRuleCall_3_0() { return cFromTransitionTerminalParserRuleCall_3_0; }
+
+ //"->"
+ public Keyword getHyphenMinusGreaterThanSignKeyword_4() { return cHyphenMinusGreaterThanSignKeyword_4; }
+
+ //to=TransitionTerminal
+ public Assignment getToAssignment_5() { return cToAssignment_5; }
+
+ //TransitionTerminal
+ public RuleCall getToTransitionTerminalParserRuleCall_5_0() { return cToTransitionTerminalParserRuleCall_5_0; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_6() { return cLeftCurlyBracketKeyword_6; }
+
+ //"triggers"
+ public Keyword getTriggersKeyword_7() { return cTriggersKeyword_7; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_8() { return cLeftCurlyBracketKeyword_8; }
+
+ //triggers+=Trigger
+ public Assignment getTriggersAssignment_9() { return cTriggersAssignment_9; }
+
+ //Trigger
+ public RuleCall getTriggersTriggerParserRuleCall_9_0() { return cTriggersTriggerParserRuleCall_9_0; }
+
+ //("or" triggers+=Trigger)*
+ public Group getGroup_10() { return cGroup_10; }
+
+ //"or"
+ public Keyword getOrKeyword_10_0() { return cOrKeyword_10_0; }
+
+ //triggers+=Trigger
+ public Assignment getTriggersAssignment_10_1() { return cTriggersAssignment_10_1; }
+
+ //Trigger
+ public RuleCall getTriggersTriggerParserRuleCall_10_1_0() { return cTriggersTriggerParserRuleCall_10_1_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_11() { return cRightCurlyBracketKeyword_11; }
+
+ //("action" action=DetailCode)?
+ public Group getGroup_12() { return cGroup_12; }
+
+ //"action"
+ public Keyword getActionKeyword_12_0() { return cActionKeyword_12_0; }
+
+ //action=DetailCode
+ public Assignment getActionAssignment_12_1() { return cActionAssignment_12_1; }
+
+ //DetailCode
+ public RuleCall getActionDetailCodeParserRuleCall_12_1_0() { return cActionDetailCodeParserRuleCall_12_1_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_13() { return cRightCurlyBracketKeyword_13; }
+ }
+
+ public class CPBranchTransitionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "CPBranchTransition");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cTransitionKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+ private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Assignment cFromAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cFromTransitionTerminalParserRuleCall_3_0 = (RuleCall)cFromAssignment_3.eContents().get(0);
+ private final Keyword cHyphenMinusGreaterThanSignKeyword_4 = (Keyword)cGroup.eContents().get(4);
+ private final Assignment cToAssignment_5 = (Assignment)cGroup.eContents().get(5);
+ private final RuleCall cToTransitionTerminalParserRuleCall_5_0 = (RuleCall)cToAssignment_5.eContents().get(0);
+ private final Keyword cLeftCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
+ private final Keyword cCondKeyword_7 = (Keyword)cGroup.eContents().get(7);
+ private final Assignment cConditionAssignment_8 = (Assignment)cGroup.eContents().get(8);
+ private final RuleCall cConditionDetailCodeParserRuleCall_8_0 = (RuleCall)cConditionAssignment_8.eContents().get(0);
+ private final Group cGroup_9 = (Group)cGroup.eContents().get(9);
+ private final Keyword cActionKeyword_9_0 = (Keyword)cGroup_9.eContents().get(0);
+ private final Assignment cActionAssignment_9_1 = (Assignment)cGroup_9.eContents().get(1);
+ private final RuleCall cActionDetailCodeParserRuleCall_9_1_0 = (RuleCall)cActionAssignment_9_1.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_10 = (Keyword)cGroup.eContents().get(10);
+
+ //CPBranchTransition:
+ // "Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" "cond" condition=DetailCode ("action"
+ // action=DetailCode)? "}";
+ public ParserRule getRule() { return rule; }
+
+ //"Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" "cond" condition=DetailCode ("action"
+ //action=DetailCode)? "}"
+ public Group getGroup() { return cGroup; }
+
+ //"Transition"
+ public Keyword getTransitionKeyword_0() { return cTransitionKeyword_0; }
+
+ //name=ID?
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; }
+
+ //":"
+ public Keyword getColonKeyword_2() { return cColonKeyword_2; }
+
+ //from=TransitionTerminal
+ public Assignment getFromAssignment_3() { return cFromAssignment_3; }
+
+ //TransitionTerminal
+ public RuleCall getFromTransitionTerminalParserRuleCall_3_0() { return cFromTransitionTerminalParserRuleCall_3_0; }
+
+ //"->"
+ public Keyword getHyphenMinusGreaterThanSignKeyword_4() { return cHyphenMinusGreaterThanSignKeyword_4; }
+
+ //to=TransitionTerminal
+ public Assignment getToAssignment_5() { return cToAssignment_5; }
+
+ //TransitionTerminal
+ public RuleCall getToTransitionTerminalParserRuleCall_5_0() { return cToTransitionTerminalParserRuleCall_5_0; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_6() { return cLeftCurlyBracketKeyword_6; }
+
+ //"cond"
+ public Keyword getCondKeyword_7() { return cCondKeyword_7; }
+
+ //condition=DetailCode
+ public Assignment getConditionAssignment_8() { return cConditionAssignment_8; }
+
+ //DetailCode
+ public RuleCall getConditionDetailCodeParserRuleCall_8_0() { return cConditionDetailCodeParserRuleCall_8_0; }
+
+ //("action" action=DetailCode)?
+ public Group getGroup_9() { return cGroup_9; }
+
+ //"action"
+ public Keyword getActionKeyword_9_0() { return cActionKeyword_9_0; }
+
+ //action=DetailCode
+ public Assignment getActionAssignment_9_1() { return cActionAssignment_9_1; }
+
+ //DetailCode
+ public RuleCall getActionDetailCodeParserRuleCall_9_1_0() { return cActionDetailCodeParserRuleCall_9_1_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_10() { return cRightCurlyBracketKeyword_10; }
+ }
+
+ public class TransitionTerminalElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TransitionTerminal");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cStateTerminalParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cTrPointTerminalParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+ private final RuleCall cSubStateTrPointTerminalParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
+ private final RuleCall cChoicepointTerminalParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
+
+ //TransitionTerminal:
+ // StateTerminal | TrPointTerminal | SubStateTrPointTerminal | ChoicepointTerminal;
+ public ParserRule getRule() { return rule; }
+
+ //StateTerminal | TrPointTerminal | SubStateTrPointTerminal | ChoicepointTerminal
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //StateTerminal
+ public RuleCall getStateTerminalParserRuleCall_0() { return cStateTerminalParserRuleCall_0; }
+
+ //TrPointTerminal
+ public RuleCall getTrPointTerminalParserRuleCall_1() { return cTrPointTerminalParserRuleCall_1; }
+
+ //SubStateTrPointTerminal
+ public RuleCall getSubStateTrPointTerminalParserRuleCall_2() { return cSubStateTrPointTerminalParserRuleCall_2; }
+
+ //ChoicepointTerminal
+ public RuleCall getChoicepointTerminalParserRuleCall_3() { return cChoicepointTerminalParserRuleCall_3; }
+ }
+
+ public class StateTerminalElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StateTerminal");
+ private final Assignment cStateAssignment = (Assignment)rule.eContents().get(1);
+ private final CrossReference cStateBaseStateCrossReference_0 = (CrossReference)cStateAssignment.eContents().get(0);
+ private final RuleCall cStateBaseStateIDTerminalRuleCall_0_1 = (RuleCall)cStateBaseStateCrossReference_0.eContents().get(1);
+
+ //StateTerminal:
+ // state=[BaseState];
+ public ParserRule getRule() { return rule; }
+
+ //state=[BaseState]
+ public Assignment getStateAssignment() { return cStateAssignment; }
+
+ //[BaseState]
+ public CrossReference getStateBaseStateCrossReference_0() { return cStateBaseStateCrossReference_0; }
+
+ //ID
+ public RuleCall getStateBaseStateIDTerminalRuleCall_0_1() { return cStateBaseStateIDTerminalRuleCall_0_1; }
+ }
+
+ public class TrPointTerminalElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TrPointTerminal");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cMyKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cTrPointAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final CrossReference cTrPointTrPointCrossReference_1_0 = (CrossReference)cTrPointAssignment_1.eContents().get(0);
+ private final RuleCall cTrPointTrPointIDTerminalRuleCall_1_0_1 = (RuleCall)cTrPointTrPointCrossReference_1_0.eContents().get(1);
+
+ //TrPointTerminal:
+ // "my" trPoint=[TrPoint];
+ public ParserRule getRule() { return rule; }
+
+ //"my" trPoint=[TrPoint]
+ public Group getGroup() { return cGroup; }
+
+ //"my"
+ public Keyword getMyKeyword_0() { return cMyKeyword_0; }
+
+ //trPoint=[TrPoint]
+ public Assignment getTrPointAssignment_1() { return cTrPointAssignment_1; }
+
+ //[TrPoint]
+ public CrossReference getTrPointTrPointCrossReference_1_0() { return cTrPointTrPointCrossReference_1_0; }
+
+ //ID
+ public RuleCall getTrPointTrPointIDTerminalRuleCall_1_0_1() { return cTrPointTrPointIDTerminalRuleCall_1_0_1; }
+ }
+
+ public class SubStateTrPointTerminalElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SubStateTrPointTerminal");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cTrPointAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final CrossReference cTrPointTrPointCrossReference_0_0 = (CrossReference)cTrPointAssignment_0.eContents().get(0);
+ private final RuleCall cTrPointTrPointIDTerminalRuleCall_0_0_1 = (RuleCall)cTrPointTrPointCrossReference_0_0.eContents().get(1);
+ private final Keyword cOfKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cStateAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final CrossReference cStateBaseStateCrossReference_2_0 = (CrossReference)cStateAssignment_2.eContents().get(0);
+ private final RuleCall cStateBaseStateIDTerminalRuleCall_2_0_1 = (RuleCall)cStateBaseStateCrossReference_2_0.eContents().get(1);
+
+ //SubStateTrPointTerminal:
+ // trPoint=[TrPoint] "of" state=[BaseState];
+ public ParserRule getRule() { return rule; }
+
+ //trPoint=[TrPoint] "of" state=[BaseState]
+ public Group getGroup() { return cGroup; }
+
+ //trPoint=[TrPoint]
+ public Assignment getTrPointAssignment_0() { return cTrPointAssignment_0; }
+
+ //[TrPoint]
+ public CrossReference getTrPointTrPointCrossReference_0_0() { return cTrPointTrPointCrossReference_0_0; }
+
+ //ID
+ public RuleCall getTrPointTrPointIDTerminalRuleCall_0_0_1() { return cTrPointTrPointIDTerminalRuleCall_0_0_1; }
+
+ //"of"
+ public Keyword getOfKeyword_1() { return cOfKeyword_1; }
+
+ //state=[BaseState]
+ public Assignment getStateAssignment_2() { return cStateAssignment_2; }
+
+ //[BaseState]
+ public CrossReference getStateBaseStateCrossReference_2_0() { return cStateBaseStateCrossReference_2_0; }
+
+ //ID
+ public RuleCall getStateBaseStateIDTerminalRuleCall_2_0_1() { return cStateBaseStateIDTerminalRuleCall_2_0_1; }
+ }
+
+ public class ChoicepointTerminalElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ChoicepointTerminal");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cCpKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cCpAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final CrossReference cCpChoicePointCrossReference_1_0 = (CrossReference)cCpAssignment_1.eContents().get(0);
+ private final RuleCall cCpChoicePointIDTerminalRuleCall_1_0_1 = (RuleCall)cCpChoicePointCrossReference_1_0.eContents().get(1);
+
+ //ChoicepointTerminal:
+ // "cp" cp=[ChoicePoint];
+ public ParserRule getRule() { return rule; }
+
+ //"cp" cp=[ChoicePoint]
+ public Group getGroup() { return cGroup; }
+
+ //"cp"
+ public Keyword getCpKeyword_0() { return cCpKeyword_0; }
+
+ //cp=[ChoicePoint]
+ public Assignment getCpAssignment_1() { return cCpAssignment_1; }
+
+ //[ChoicePoint]
+ public CrossReference getCpChoicePointCrossReference_1_0() { return cCpChoicePointCrossReference_1_0; }
+
+ //ID
+ public RuleCall getCpChoicePointIDTerminalRuleCall_1_0_1() { return cCpChoicePointIDTerminalRuleCall_1_0_1; }
+ }
+
+ public class TriggerElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Trigger");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cLessThanSignKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cMsgFromIfPairsAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cMsgFromIfPairsMessageFromIfParserRuleCall_1_0 = (RuleCall)cMsgFromIfPairsAssignment_1.eContents().get(0);
+ private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
+ private final Keyword cVerticalLineKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0);
+ private final Assignment cMsgFromIfPairsAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1);
+ private final RuleCall cMsgFromIfPairsMessageFromIfParserRuleCall_2_1_0 = (RuleCall)cMsgFromIfPairsAssignment_2_1.eContents().get(0);
+ private final Assignment cGuardAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cGuardGuardParserRuleCall_3_0 = (RuleCall)cGuardAssignment_3.eContents().get(0);
+ private final Keyword cGreaterThanSignKeyword_4 = (Keyword)cGroup.eContents().get(4);
+
+ ////TransitionSource: TransitionTerminal|ChoicePointCaseRef|ChoicePointDefaultRef;
+ //
+ ////TransitionSource: TransitionTerminal|ChoicePointRef;
+ //
+ ////TransitionDest: TransitionTerminal|ChoicePointRef;
+ //
+ ////ChoicePointCaseRef: 'cp' cp=[ChoicePoint|ID] 'case' case=[ChoicePointCase|ID];
+ //
+ ////ChoicePointDefaultRef: 'cp' cp=[ChoicePoint|ID] 'default';
+ //
+ ////ChoicePointRef: 'cp' cp=[ChoicePoint|ID];
+ //
+ //Trigger:
+ // "<" msgFromIfPairs+=MessageFromIf ("|" msgFromIfPairs+=MessageFromIf)* guard=Guard? ">";
+ public ParserRule getRule() { return rule; }
+
+ //"<" msgFromIfPairs+=MessageFromIf ("|" msgFromIfPairs+=MessageFromIf)* guard=Guard? ">"
+ public Group getGroup() { return cGroup; }
+
+ //"<"
+ public Keyword getLessThanSignKeyword_0() { return cLessThanSignKeyword_0; }
+
+ //msgFromIfPairs+=MessageFromIf
+ public Assignment getMsgFromIfPairsAssignment_1() { return cMsgFromIfPairsAssignment_1; }
+
+ //MessageFromIf
+ public RuleCall getMsgFromIfPairsMessageFromIfParserRuleCall_1_0() { return cMsgFromIfPairsMessageFromIfParserRuleCall_1_0; }
+
+ //("|" msgFromIfPairs+=MessageFromIf)*
+ public Group getGroup_2() { return cGroup_2; }
+
+ //"|"
+ public Keyword getVerticalLineKeyword_2_0() { return cVerticalLineKeyword_2_0; }
+
+ //msgFromIfPairs+=MessageFromIf
+ public Assignment getMsgFromIfPairsAssignment_2_1() { return cMsgFromIfPairsAssignment_2_1; }
+
+ //MessageFromIf
+ public RuleCall getMsgFromIfPairsMessageFromIfParserRuleCall_2_1_0() { return cMsgFromIfPairsMessageFromIfParserRuleCall_2_1_0; }
+
+ //guard=Guard?
+ public Assignment getGuardAssignment_3() { return cGuardAssignment_3; }
+
+ //Guard
+ public RuleCall getGuardGuardParserRuleCall_3_0() { return cGuardGuardParserRuleCall_3_0; }
+
+ //">"
+ public Keyword getGreaterThanSignKeyword_4() { return cGreaterThanSignKeyword_4; }
+ }
+
+ public class MessageFromIfElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "MessageFromIf");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cMessageAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final CrossReference cMessageMessageCrossReference_0_0 = (CrossReference)cMessageAssignment_0.eContents().get(0);
+ private final RuleCall cMessageMessageIDTerminalRuleCall_0_0_1 = (RuleCall)cMessageMessageCrossReference_0_0.eContents().get(1);
+ private final Keyword cColonKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cFromAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final CrossReference cFromInterfaceItemCrossReference_2_0 = (CrossReference)cFromAssignment_2.eContents().get(0);
+ private final RuleCall cFromInterfaceItemIDTerminalRuleCall_2_0_1 = (RuleCall)cFromInterfaceItemCrossReference_2_0.eContents().get(1);
+
+ //MessageFromIf:
+ // message=[Message] ":" from=[InterfaceItem];
+ public ParserRule getRule() { return rule; }
+
+ //message=[Message] ":" from=[InterfaceItem]
+ public Group getGroup() { return cGroup; }
+
+ //message=[Message]
+ public Assignment getMessageAssignment_0() { return cMessageAssignment_0; }
+
+ //[Message]
+ public CrossReference getMessageMessageCrossReference_0_0() { return cMessageMessageCrossReference_0_0; }
+
+ //ID
+ public RuleCall getMessageMessageIDTerminalRuleCall_0_0_1() { return cMessageMessageIDTerminalRuleCall_0_0_1; }
+
+ //":"
+ public Keyword getColonKeyword_1() { return cColonKeyword_1; }
+
+ //from=[InterfaceItem]
+ public Assignment getFromAssignment_2() { return cFromAssignment_2; }
+
+ //[InterfaceItem]
+ public CrossReference getFromInterfaceItemCrossReference_2_0() { return cFromInterfaceItemCrossReference_2_0; }
+
+ //ID
+ public RuleCall getFromInterfaceItemIDTerminalRuleCall_2_0_1() { return cFromInterfaceItemIDTerminalRuleCall_2_0_1; }
+ }
+
+ public class GuardElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Guard");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cGuardKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cGuardAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cGuardDetailCodeParserRuleCall_1_0 = (RuleCall)cGuardAssignment_1.eContents().get(0);
+
+ //Guard:
+ // "guard" guard=DetailCode;
+ public ParserRule getRule() { return rule; }
+
+ //"guard" guard=DetailCode
+ public Group getGroup() { return cGroup; }
+
+ //"guard"
+ public Keyword getGuardKeyword_0() { return cGuardKeyword_0; }
+
+ //guard=DetailCode
+ public Assignment getGuardAssignment_1() { return cGuardAssignment_1; }
+
+ //DetailCode
+ public RuleCall getGuardDetailCodeParserRuleCall_1_0() { return cGuardDetailCodeParserRuleCall_1_0; }
+ }
+
+ public class ImportElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Import");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cImportKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cImportedNamespaceAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cImportedNamespaceImportedFQNParserRuleCall_1_0 = (RuleCall)cImportedNamespaceAssignment_1.eContents().get(0);
+
+ //// **************************************************************
+ //
+ //// general
+ //
+ //Import:
+ // "import" importedNamespace=ImportedFQN;
+ public ParserRule getRule() { return rule; }
+
+ //"import" importedNamespace=ImportedFQN
+ public Group getGroup() { return cGroup; }
+
+ //"import"
+ public Keyword getImportKeyword_0() { return cImportKeyword_0; }
+
+ //importedNamespace=ImportedFQN
+ public Assignment getImportedNamespaceAssignment_1() { return cImportedNamespaceAssignment_1; }
+
+ //ImportedFQN
+ public RuleCall getImportedNamespaceImportedFQNParserRuleCall_1_0() { return cImportedNamespaceImportedFQNParserRuleCall_1_0; }
+ }
+
+ public class ImportedFQNElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ImportedFQN");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final RuleCall cFQNParserRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+ private final Keyword cAsteriskKeyword_1_1 = (Keyword)cGroup_1.eContents().get(1);
+
+ //ImportedFQN:
+ // FQN ("." "*")?;
+ public ParserRule getRule() { return rule; }
+
+ //FQN ("." "*")?
+ public Group getGroup() { return cGroup; }
+
+ //FQN
+ public RuleCall getFQNParserRuleCall_0() { return cFQNParserRuleCall_0; }
+
+ //("." "*")?
+ public Group getGroup_1() { return cGroup_1; }
+
+ //"."
+ public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; }
+
+ //"*"
+ public Keyword getAsteriskKeyword_1_1() { return cAsteriskKeyword_1_1; }
+ }
+
+ public class FQNElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "FQN");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final RuleCall cIDTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Keyword cFullStopKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+ private final RuleCall cIDTerminalRuleCall_1_1 = (RuleCall)cGroup_1.eContents().get(1);
+
+ //FQN:
+ // ID ("." ID)*;
+ public ParserRule getRule() { return rule; }
+
+ //ID ("." ID)*
+ public Group getGroup() { return cGroup; }
+
+ //ID
+ public RuleCall getIDTerminalRuleCall_0() { return cIDTerminalRuleCall_0; }
+
+ //("." ID)*
+ public Group getGroup_1() { return cGroup_1; }
+
+ //"."
+ public Keyword getFullStopKeyword_1_0() { return cFullStopKeyword_1_0; }
+
+ //ID
+ public RuleCall getIDTerminalRuleCall_1_1() { return cIDTerminalRuleCall_1_1; }
+ }
+
+
+ public class PrimitiveTypeElements extends AbstractEnumRuleElementFinder {
+ private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "PrimitiveType");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final EnumLiteralDeclaration cVoidEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
+ private final Keyword cVoidVoidKeyword_0_0 = (Keyword)cVoidEnumLiteralDeclaration_0.eContents().get(0);
+ private final EnumLiteralDeclaration cInt8EnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
+ private final Keyword cInt8Int8Keyword_1_0 = (Keyword)cInt8EnumLiteralDeclaration_1.eContents().get(0);
+ private final EnumLiteralDeclaration cInt16EnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
+ private final Keyword cInt16Int16Keyword_2_0 = (Keyword)cInt16EnumLiteralDeclaration_2.eContents().get(0);
+ private final EnumLiteralDeclaration cInt32EnumLiteralDeclaration_3 = (EnumLiteralDeclaration)cAlternatives.eContents().get(3);
+ private final Keyword cInt32Int32Keyword_3_0 = (Keyword)cInt32EnumLiteralDeclaration_3.eContents().get(0);
+ private final EnumLiteralDeclaration cUint8EnumLiteralDeclaration_4 = (EnumLiteralDeclaration)cAlternatives.eContents().get(4);
+ private final Keyword cUint8Uint8Keyword_4_0 = (Keyword)cUint8EnumLiteralDeclaration_4.eContents().get(0);
+ private final EnumLiteralDeclaration cUint16EnumLiteralDeclaration_5 = (EnumLiteralDeclaration)cAlternatives.eContents().get(5);
+ private final Keyword cUint16Uint16Keyword_5_0 = (Keyword)cUint16EnumLiteralDeclaration_5.eContents().get(0);
+ private final EnumLiteralDeclaration cUint32EnumLiteralDeclaration_6 = (EnumLiteralDeclaration)cAlternatives.eContents().get(6);
+ private final Keyword cUint32Uint32Keyword_6_0 = (Keyword)cUint32EnumLiteralDeclaration_6.eContents().get(0);
+ private final EnumLiteralDeclaration cFloat32EnumLiteralDeclaration_7 = (EnumLiteralDeclaration)cAlternatives.eContents().get(7);
+ private final Keyword cFloat32Float32Keyword_7_0 = (Keyword)cFloat32EnumLiteralDeclaration_7.eContents().get(0);
+ private final EnumLiteralDeclaration cFloat64EnumLiteralDeclaration_8 = (EnumLiteralDeclaration)cAlternatives.eContents().get(8);
+ private final Keyword cFloat64Float64Keyword_8_0 = (Keyword)cFloat64EnumLiteralDeclaration_8.eContents().get(0);
+ private final EnumLiteralDeclaration cBooleanEnumLiteralDeclaration_9 = (EnumLiteralDeclaration)cAlternatives.eContents().get(9);
+ private final Keyword cBooleanBooleanKeyword_9_0 = (Keyword)cBooleanEnumLiteralDeclaration_9.eContents().get(0);
+ private final EnumLiteralDeclaration cStringEnumLiteralDeclaration_10 = (EnumLiteralDeclaration)cAlternatives.eContents().get(10);
+ private final Keyword cStringStringKeyword_10_0 = (Keyword)cStringEnumLiteralDeclaration_10.eContents().get(0);
+ private final EnumLiteralDeclaration cCharEnumLiteralDeclaration_11 = (EnumLiteralDeclaration)cAlternatives.eContents().get(11);
+ private final Keyword cCharCharKeyword_11_0 = (Keyword)cCharEnumLiteralDeclaration_11.eContents().get(0);
+
+ //// **************************************************************
+ //
+ //// data class
+ //
+ //// cf. decision DSL2: fixed size data types
+ //
+ //// convert appropriately for Java and issue an error if size not available
+ //
+ //enum PrimitiveType:
+ // void | int8 | int16 | int32 | uint8 | uint16 | uint32 | float32 | float64 | boolean | string | char;
+ public EnumRule getRule() { return rule; }
+
+ //void | int8 | int16 | int32 | uint8 | uint16 | uint32 | float32 | float64 | boolean | string | char
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //void
+ public EnumLiteralDeclaration getVoidEnumLiteralDeclaration_0() { return cVoidEnumLiteralDeclaration_0; }
+
+ //"void"
+ public Keyword getVoidVoidKeyword_0_0() { return cVoidVoidKeyword_0_0; }
+
+ //int8
+ public EnumLiteralDeclaration getInt8EnumLiteralDeclaration_1() { return cInt8EnumLiteralDeclaration_1; }
+
+ //"int8"
+ public Keyword getInt8Int8Keyword_1_0() { return cInt8Int8Keyword_1_0; }
+
+ //int16
+ public EnumLiteralDeclaration getInt16EnumLiteralDeclaration_2() { return cInt16EnumLiteralDeclaration_2; }
+
+ //"int16"
+ public Keyword getInt16Int16Keyword_2_0() { return cInt16Int16Keyword_2_0; }
+
+ //int32
+ public EnumLiteralDeclaration getInt32EnumLiteralDeclaration_3() { return cInt32EnumLiteralDeclaration_3; }
+
+ //"int32"
+ public Keyword getInt32Int32Keyword_3_0() { return cInt32Int32Keyword_3_0; }
+
+ //uint8
+ public EnumLiteralDeclaration getUint8EnumLiteralDeclaration_4() { return cUint8EnumLiteralDeclaration_4; }
+
+ //"uint8"
+ public Keyword getUint8Uint8Keyword_4_0() { return cUint8Uint8Keyword_4_0; }
+
+ //uint16
+ public EnumLiteralDeclaration getUint16EnumLiteralDeclaration_5() { return cUint16EnumLiteralDeclaration_5; }
+
+ //"uint16"
+ public Keyword getUint16Uint16Keyword_5_0() { return cUint16Uint16Keyword_5_0; }
+
+ //uint32
+ public EnumLiteralDeclaration getUint32EnumLiteralDeclaration_6() { return cUint32EnumLiteralDeclaration_6; }
+
+ //"uint32"
+ public Keyword getUint32Uint32Keyword_6_0() { return cUint32Uint32Keyword_6_0; }
+
+ //float32
+ public EnumLiteralDeclaration getFloat32EnumLiteralDeclaration_7() { return cFloat32EnumLiteralDeclaration_7; }
+
+ //"float32"
+ public Keyword getFloat32Float32Keyword_7_0() { return cFloat32Float32Keyword_7_0; }
+
+ //float64
+ public EnumLiteralDeclaration getFloat64EnumLiteralDeclaration_8() { return cFloat64EnumLiteralDeclaration_8; }
+
+ //"float64"
+ public Keyword getFloat64Float64Keyword_8_0() { return cFloat64Float64Keyword_8_0; }
+
+ //boolean
+ public EnumLiteralDeclaration getBooleanEnumLiteralDeclaration_9() { return cBooleanEnumLiteralDeclaration_9; }
+
+ //"boolean"
+ public Keyword getBooleanBooleanKeyword_9_0() { return cBooleanBooleanKeyword_9_0; }
+
+ //string
+ public EnumLiteralDeclaration getStringEnumLiteralDeclaration_10() { return cStringEnumLiteralDeclaration_10; }
+
+ //"string"
+ public Keyword getStringStringKeyword_10_0() { return cStringStringKeyword_10_0; }
+
+ //char
+ public EnumLiteralDeclaration getCharEnumLiteralDeclaration_11() { return cCharEnumLiteralDeclaration_11; }
+
+ //"char"
+ public Keyword getCharCharKeyword_11_0() { return cCharCharKeyword_11_0; }
+ }
+
+ private RoomModelElements pRoomModel;
+ private RoomClassElements pRoomClass;
+ private StructureClassElements pStructureClass;
+ private ActorContainerClassElements pActorContainerClass;
+ private PrimitiveTypeElements unknownRulePrimitiveType;
+ private TypedIDElements pTypedID;
+ private FreeTypedIDElements pFreeTypedID;
+ private TypeElements pType;
+ private FreeTypeElements pFreeType;
+ private DataClassElements pDataClass;
+ private AttributeElements pAttribute;
+ private OperationElements pOperation;
+ private ProtocolClassElements pProtocolClass;
+ private MessageElements pMessage;
+ private PortClassElements pPortClass;
+ private MessageHandlerElements pMessageHandler;
+ private ProtocolSemanticsElements pProtocolSemantics;
+ private SemanticsRuleElements pSemanticsRule;
+ private SemanticsInRuleElements pSemanticsInRule;
+ private SemanticsOutRuleElements pSemanticsOutRule;
+ private ActorClassElements pActorClass;
+ private InterfaceItemElements pInterfaceItem;
+ private PortElements pPort;
+ private ExternalPortElements pExternalPort;
+ private SAPRefElements pSAPRef;
+ private SPPRefElements pSPPRef;
+ private ServiceImplementationElements pServiceImplementation;
+ private LogicalSystemElements pLogicalSystem;
+ private ActorContainerRefElements pActorContainerRef;
+ private SubSystemRefElements pSubSystemRef;
+ private SubSystemClassElements pSubSystemClass;
+ private LogicalThreadElements pLogicalThread;
+ private ActorInstancePathElements pActorInstancePath;
+ private BindingElements pBinding;
+ private BindingEndPointElements pBindingEndPoint;
+ private LayerConnectionElements pLayerConnection;
+ private SAPointElements pSAPoint;
+ private RefSAPointElements pRefSAPoint;
+ private RelaySAPointElements pRelaySAPoint;
+ private SPPointElements pSPPoint;
+ private ActorRefElements pActorRef;
+ private StateGraphNodeElements pStateGraphNode;
+ private StateGraphItemElements pStateGraphItem;
+ private StateElements pState;
+ private StateGraphElements pStateGraph;
+ private StateMachineElements pStateMachine;
+ private BaseStateElements pBaseState;
+ private RefinedStateElements pRefinedState;
+ private DetailCodeElements pDetailCode;
+ private TrPointElements pTrPoint;
+ private TransitionPointElements pTransitionPoint;
+ private EntryPointElements pEntryPoint;
+ private ExitPointElements pExitPoint;
+ private ChoicePointElements pChoicePoint;
+ private TransitionElements pTransition;
+ private NonInitialTransitionElements pNonInitialTransition;
+ private InitialTransitionElements pInitialTransition;
+ private ContinuationTransitionElements pContinuationTransition;
+ private TriggeredTransitionElements pTriggeredTransition;
+ private CPBranchTransitionElements pCPBranchTransition;
+ private TransitionTerminalElements pTransitionTerminal;
+ private StateTerminalElements pStateTerminal;
+ private TrPointTerminalElements pTrPointTerminal;
+ private SubStateTrPointTerminalElements pSubStateTrPointTerminal;
+ private ChoicepointTerminalElements pChoicepointTerminal;
+ private TriggerElements pTrigger;
+ private MessageFromIfElements pMessageFromIf;
+ private GuardElements pGuard;
+ private ImportElements pImport;
+ private ImportedFQNElements pImportedFQN;
+ private FQNElements pFQN;
+
+ private final GrammarProvider grammarProvider;
+
+ private TerminalsGrammarAccess gaTerminals;
+
+ @Inject
+ public RoomGrammarAccess(GrammarProvider grammarProvider,
+ TerminalsGrammarAccess gaTerminals) {
+ this.grammarProvider = grammarProvider;
+ this.gaTerminals = gaTerminals;
+ }
+
+ public Grammar getGrammar() {
+ return grammarProvider.getGrammar(this);
+ }
+
+
+ public TerminalsGrammarAccess getTerminalsGrammarAccess() {
+ return gaTerminals;
+ }
+
+
+ //RoomModel:
+ // "RoomModel" name=FQN "{" imports+=Import* (dataClasses+=DataClass | protocolClasses+=ProtocolClass |
+ // actorClasses+=ActorClass | subSystemClasses+=SubSystemClass | systems+=LogicalSystem)+ "}";
+ public RoomModelElements getRoomModelAccess() {
+ return (pRoomModel != null) ? pRoomModel : (pRoomModel = new RoomModelElements());
+ }
+
+ public ParserRule getRoomModelRule() {
+ return getRoomModelAccess().getRule();
+ }
+
+ //RoomClass:
+ // DataClass | ProtocolClass | StructureClass;
+ public RoomClassElements getRoomClassAccess() {
+ return (pRoomClass != null) ? pRoomClass : (pRoomClass = new RoomClassElements());
+ }
+
+ public ParserRule getRoomClassRule() {
+ return getRoomClassAccess().getRule();
+ }
+
+ //StructureClass:
+ // ActorContainerClass | LogicalSystem;
+ public StructureClassElements getStructureClassAccess() {
+ return (pStructureClass != null) ? pStructureClass : (pStructureClass = new StructureClassElements());
+ }
+
+ public ParserRule getStructureClassRule() {
+ return getStructureClassAccess().getRule();
+ }
+
+ //ActorContainerClass:
+ // ActorClass | SubSystemClass;
+ public ActorContainerClassElements getActorContainerClassAccess() {
+ return (pActorContainerClass != null) ? pActorContainerClass : (pActorContainerClass = new ActorContainerClassElements());
+ }
+
+ public ParserRule getActorContainerClassRule() {
+ return getActorContainerClassAccess().getRule();
+ }
+
+ //// **************************************************************
+ //
+ //// data class
+ //
+ //// cf. decision DSL2: fixed size data types
+ //
+ //// convert appropriately for Java and issue an error if size not available
+ //
+ //enum PrimitiveType:
+ // void | int8 | int16 | int32 | uint8 | uint16 | uint32 | float32 | float64 | boolean | string | char;
+ public PrimitiveTypeElements getPrimitiveTypeAccess() {
+ return (unknownRulePrimitiveType != null) ? unknownRulePrimitiveType : (unknownRulePrimitiveType = new PrimitiveTypeElements());
+ }
+
+ public EnumRule getPrimitiveTypeRule() {
+ return getPrimitiveTypeAccess().getRule();
+ }
+
+ //TypedID:
+ // name=ID ":" type=Type;
+ public TypedIDElements getTypedIDAccess() {
+ return (pTypedID != null) ? pTypedID : (pTypedID = new TypedIDElements());
+ }
+
+ public ParserRule getTypedIDRule() {
+ return getTypedIDAccess().getRule();
+ }
+
+ //FreeTypedID:
+ // name=ID ":" type=FreeType;
+ public FreeTypedIDElements getFreeTypedIDAccess() {
+ return (pFreeTypedID != null) ? pFreeTypedID : (pFreeTypedID = new FreeTypedIDElements());
+ }
+
+ public ParserRule getFreeTypedIDRule() {
+ return getFreeTypedIDAccess().getRule();
+ }
+
+ //Type:
+ // prim=PrimitiveType | type=[DataClass|FQN];
+ public TypeElements getTypeAccess() {
+ return (pType != null) ? pType : (pType = new TypeElements());
+ }
+
+ public ParserRule getTypeRule() {
+ return getTypeAccess().getRule();
+ }
+
+ //FreeType:
+ // prim=PrimitiveType | type=ID;
+ public FreeTypeElements getFreeTypeAccess() {
+ return (pFreeType != null) ? pFreeType : (pFreeType = new FreeTypeElements());
+ }
+
+ public ParserRule getFreeTypeRule() {
+ return getFreeTypeAccess().getRule();
+ }
+
+ //// TODOHRR: define detail level language?
+ //
+ //DataClass:
+ // "DataClass" name=ID ("extends" base=[DataClass|FQN])? "{" imports+=Import* attributes+=Attribute+
+ // operations+=Operation* "}";
+ public DataClassElements getDataClassAccess() {
+ return (pDataClass != null) ? pDataClass : (pDataClass = new DataClassElements());
+ }
+
+ public ParserRule getDataClassRule() {
+ return getDataClassAccess().getRule();
+ }
+
+ //Attribute:
+ // "Attribute" name=ID ("[" size=INT "]")? ":" type=Type;
+ public AttributeElements getAttributeAccess() {
+ return (pAttribute != null) ? pAttribute : (pAttribute = new AttributeElements());
+ }
+
+ public ParserRule getAttributeRule() {
+ return getAttributeAccess().getRule();
+ }
+
+ //// TODOHRR: pass arguments and return value by value/reference
+ //
+ //Operation:
+ // "Operation" name=ID "(" (arguments+=FreeTypedID ("," arguments+=FreeTypedID)*)? ")" (":" returntype=FreeType)?
+ // detailCode=DetailCode;
+ public OperationElements getOperationAccess() {
+ return (pOperation != null) ? pOperation : (pOperation = new OperationElements());
+ }
+
+ public ParserRule getOperationRule() {
+ return getOperationAccess().getRule();
+ }
+
+ //// **************************************************************
+ //
+ //// protocol class
+ //
+ //ProtocolClass:
+ // "ProtocolClass" name=ID ("extends" base=[ProtocolClass|FQN])? "{" ("usercode1" userCode1=DetailCode)? ("usercode2"
+ // userCode2=DetailCode)? "incoming" "{" incomingMessages+=Message* "}" "outgoing" "{" outgoingMessages+=Message* "}"
+ // ("regular" "PortClass" regular=PortClass)? ("conjugate" "PortClass" conjugate=PortClass)? semantics=ProtocolSemantics?
+ // "}";
+ public ProtocolClassElements getProtocolClassAccess() {
+ return (pProtocolClass != null) ? pProtocolClass : (pProtocolClass = new ProtocolClassElements());
+ }
+
+ public ParserRule getProtocolClassRule() {
+ return getProtocolClassAccess().getRule();
+ }
+
+ //Message:
+ // "Message" name=ID "(" (arguments+=TypedID ("," arguments+=TypedID)*)? ")";
+ public MessageElements getMessageAccess() {
+ return (pMessage != null) ? pMessage : (pMessage = new MessageElements());
+ }
+
+ public ParserRule getMessageRule() {
+ return getMessageAccess().getRule();
+ }
+
+ //PortClass:
+ // "{" ("usercode" userCode=DetailCode)? (attributes+=Attribute | operations+=Operation | msgHandlers+=MessageHandler)+
+ // "}";
+ public PortClassElements getPortClassAccess() {
+ return (pPortClass != null) ? pPortClass : (pPortClass = new PortClassElements());
+ }
+
+ public ParserRule getPortClassRule() {
+ return getPortClassAccess().getRule();
+ }
+
+ //MessageHandler:
+ // "handle" msg=[Message] detailCode=DetailCode;
+ public MessageHandlerElements getMessageHandlerAccess() {
+ return (pMessageHandler != null) ? pMessageHandler : (pMessageHandler = new MessageHandlerElements());
+ }
+
+ public ParserRule getMessageHandlerRule() {
+ return getMessageHandlerAccess().getRule();
+ }
+
+ //ProtocolSemantics:
+ // "semantics" "{" rules+=SemanticsRule+ "}";
+ public ProtocolSemanticsElements getProtocolSemanticsAccess() {
+ return (pProtocolSemantics != null) ? pProtocolSemantics : (pProtocolSemantics = new ProtocolSemanticsElements());
+ }
+
+ public ParserRule getProtocolSemanticsRule() {
+ return getProtocolSemanticsAccess().getRule();
+ }
+
+ //SemanticsRule:
+ // SemanticsInRule | SemanticsOutRule;
+ public SemanticsRuleElements getSemanticsRuleAccess() {
+ return (pSemanticsRule != null) ? pSemanticsRule : (pSemanticsRule = new SemanticsRuleElements());
+ }
+
+ public ParserRule getSemanticsRuleRule() {
+ return getSemanticsRuleAccess().getRule();
+ }
+
+ //SemanticsInRule:
+ // "in" msg=[Message] "->" "{" followUps+=SemanticsRule* "}";
+ public SemanticsInRuleElements getSemanticsInRuleAccess() {
+ return (pSemanticsInRule != null) ? pSemanticsInRule : (pSemanticsInRule = new SemanticsInRuleElements());
+ }
+
+ public ParserRule getSemanticsInRuleRule() {
+ return getSemanticsInRuleAccess().getRule();
+ }
+
+ //SemanticsOutRule:
+ // "out" msg=[Message] "->" "{" followUps+=SemanticsRule* "}";
+ public SemanticsOutRuleElements getSemanticsOutRuleAccess() {
+ return (pSemanticsOutRule != null) ? pSemanticsOutRule : (pSemanticsOutRule = new SemanticsOutRuleElements());
+ }
+
+ public ParserRule getSemanticsOutRuleRule() {
+ return getSemanticsOutRuleAccess().getRule();
+ }
+
+ //// **************************************************************
+ //
+ //// actor class
+ //
+ //// some notes on ports
+ //
+ ////
+ //
+ //// in ROOM ports can be contained in the structure and/or the interface
+ //
+ //// p in s ==> internal end port
+ //
+ //// p in i ==> relay port
+ //
+ //// p in i and p in s ==> external end port
+ //
+ //// since double containment is not supported we decided to define external ports as reference to interface ports
+ //
+ //ActorClass:
+ // abstract?="abstract"? "ActorClass" name=ID ("extends" base=[ActorClass|FQN])? "{" ("Interface" "{" ifPorts+=Port*
+ // ifSPPs+=SPPRef* "}")? ("Structure" "{" ("usercode1" userCode1=DetailCode)? ("usercode2" userCode2=DetailCode)?
+ // (intPorts+=Port | extPorts+=ExternalPort)* serviceImplementations+=ServiceImplementation* strSAPs+=SAPRef*
+ // attributes+=Attribute* actorRefs+=ActorRef* bindings+=Binding* connections+=LayerConnection* "}")? ("Behavior" "{"
+ // operations+=Operation* stateMachine=StateMachine? "}")? "}";
+ public ActorClassElements getActorClassAccess() {
+ return (pActorClass != null) ? pActorClass : (pActorClass = new ActorClassElements());
+ }
+
+ public ParserRule getActorClassRule() {
+ return getActorClassAccess().getRule();
+ }
+
+ //InterfaceItem:
+ // Port | SAPRef | SPPRef;
+ public InterfaceItemElements getInterfaceItemAccess() {
+ return (pInterfaceItem != null) ? pInterfaceItem : (pInterfaceItem = new InterfaceItemElements());
+ }
+
+ public ParserRule getInterfaceItemRule() {
+ return getInterfaceItemAccess().getRule();
+ }
+
+ //Port:
+ // conjugated?="conjugated"? "Port" name=ID ("[" multiplicity=INT "]")? ":" protocol=[ProtocolClass|FQN];
+ public PortElements getPortAccess() {
+ return (pPort != null) ? pPort : (pPort = new PortElements());
+ }
+
+ public ParserRule getPortRule() {
+ return getPortAccess().getRule();
+ }
+
+ //ExternalPort:
+ // "external" "Port" ifport=[Port];
+ public ExternalPortElements getExternalPortAccess() {
+ return (pExternalPort != null) ? pExternalPort : (pExternalPort = new ExternalPortElements());
+ }
+
+ public ParserRule getExternalPortRule() {
+ return getExternalPortAccess().getRule();
+ }
+
+ //SAPRef: // we omitted the SAP type (Timing/Frame/Exception)
+ //
+ // "SAP" name=ID ":" protocol=[ProtocolClass|FQN];
+ public SAPRefElements getSAPRefAccess() {
+ return (pSAPRef != null) ? pSAPRef : (pSAPRef = new SAPRefElements());
+ }
+
+ public ParserRule getSAPRefRule() {
+ return getSAPRefAccess().getRule();
+ }
+
+ //SPPRef:
+ // "SPP" name=ID ":" protocol=[ProtocolClass|FQN];
+ public SPPRefElements getSPPRefAccess() {
+ return (pSPPRef != null) ? pSPPRef : (pSPPRef = new SPPRefElements());
+ }
+
+ public ParserRule getSPPRefRule() {
+ return getSPPRefAccess().getRule();
+ }
+
+ //ServiceImplementation:
+ // "ServiceImplementation" "of" spp=[SPPRef];
+ public ServiceImplementationElements getServiceImplementationAccess() {
+ return (pServiceImplementation != null) ? pServiceImplementation : (pServiceImplementation = new ServiceImplementationElements());
+ }
+
+ public ParserRule getServiceImplementationRule() {
+ return getServiceImplementationAccess().getRule();
+ }
+
+ //LogicalSystem:
+ // "LogicalSystem" name=ID "{" subSystems+=SubSystemRef+ bindings+=Binding* connections+=LayerConnection* "}";
+ public LogicalSystemElements getLogicalSystemAccess() {
+ return (pLogicalSystem != null) ? pLogicalSystem : (pLogicalSystem = new LogicalSystemElements());
+ }
+
+ public ParserRule getLogicalSystemRule() {
+ return getLogicalSystemAccess().getRule();
+ }
+
+ //ActorContainerRef:
+ // SubSystemRef | ActorRef;
+ public ActorContainerRefElements getActorContainerRefAccess() {
+ return (pActorContainerRef != null) ? pActorContainerRef : (pActorContainerRef = new ActorContainerRefElements());
+ }
+
+ public ParserRule getActorContainerRefRule() {
+ return getActorContainerRefAccess().getRule();
+ }
+
+ //SubSystemRef:
+ // "SubSystemRef" name=ID ":" type=[SubSystemClass|FQN];
+ public SubSystemRefElements getSubSystemRefAccess() {
+ return (pSubSystemRef != null) ? pSubSystemRef : (pSubSystemRef = new SubSystemRefElements());
+ }
+
+ public ParserRule getSubSystemRefRule() {
+ return getSubSystemRefAccess().getRule();
+ }
+
+ //SubSystemClass:
+ // "SubSystemClass" name=ID "{" relayPorts+=Port* ifSPPs+=SPPRef* actorRefs+=ActorRef+ bindings+=Binding*
+ // connections+=LayerConnection* threads+=LogicalThread* "}";
+ public SubSystemClassElements getSubSystemClassAccess() {
+ return (pSubSystemClass != null) ? pSubSystemClass : (pSubSystemClass = new SubSystemClassElements());
+ }
+
+ public ParserRule getSubSystemClassRule() {
+ return getSubSystemClassAccess().getRule();
+ }
+
+ //LogicalThread:
+ // "LogicalThread" name=ID "{" instances+=ActorInstancePath ("," instances+=ActorInstancePath)* "}";
+ public LogicalThreadElements getLogicalThreadAccess() {
+ return (pLogicalThread != null) ? pLogicalThread : (pLogicalThread = new LogicalThreadElements());
+ }
+
+ public ParserRule getLogicalThreadRule() {
+ return getLogicalThreadAccess().getRule();
+ }
+
+ //ActorInstancePath:
+ // segments+=ID ("." segments+=ID)*;
+ public ActorInstancePathElements getActorInstancePathAccess() {
+ return (pActorInstancePath != null) ? pActorInstancePath : (pActorInstancePath = new ActorInstancePathElements());
+ }
+
+ public ParserRule getActorInstancePathRule() {
+ return getActorInstancePathAccess().getRule();
+ }
+
+ //// TODOHRR: bindings for replicated ports
+ //
+ //// (1) declare several bindings
+ //
+ //// (2) use a notation with 1 to n bindings
+ //
+ //Binding:
+ // "Binding" endpoint1=BindingEndPoint "and" endpoint2=BindingEndPoint;
+ public BindingElements getBindingAccess() {
+ return (pBinding != null) ? pBinding : (pBinding = new BindingElements());
+ }
+
+ public ParserRule getBindingRule() {
+ return getBindingAccess().getRule();
+ }
+
+ //BindingEndPoint:
+ // (actorRef=[ActorContainerRef] ".")? port=[Port];
+ public BindingEndPointElements getBindingEndPointAccess() {
+ return (pBindingEndPoint != null) ? pBindingEndPoint : (pBindingEndPoint = new BindingEndPointElements());
+ }
+
+ public ParserRule getBindingEndPointRule() {
+ return getBindingEndPointAccess().getRule();
+ }
+
+ //LayerConnection:
+ // "LayerConnection" from=SAPoint "satisfied_by" to=SPPoint;
+ public LayerConnectionElements getLayerConnectionAccess() {
+ return (pLayerConnection != null) ? pLayerConnection : (pLayerConnection = new LayerConnectionElements());
+ }
+
+ public ParserRule getLayerConnectionRule() {
+ return getLayerConnectionAccess().getRule();
+ }
+
+ //SAPoint:
+ // RefSAPoint | RelaySAPoint;
+ public SAPointElements getSAPointAccess() {
+ return (pSAPoint != null) ? pSAPoint : (pSAPoint = new SAPointElements());
+ }
+
+ public ParserRule getSAPointRule() {
+ return getSAPointAccess().getRule();
+ }
+
+ //RefSAPoint: // satisfies a sub actor
+ //
+ // "ref" ref=[ActorContainerRef];
+ public RefSAPointElements getRefSAPointAccess() {
+ return (pRefSAPoint != null) ? pRefSAPoint : (pRefSAPoint = new RefSAPointElements());
+ }
+
+ public ParserRule getRefSAPointRule() {
+ return getRefSAPointAccess().getRule();
+ }
+
+ //RelaySAPoint: // relays from own interface
+ //
+ // "relay_sap" relay=[SPPRef];
+ public RelaySAPointElements getRelaySAPointAccess() {
+ return (pRelaySAPoint != null) ? pRelaySAPoint : (pRelaySAPoint = new RelaySAPointElements());
+ }
+
+ public ParserRule getRelaySAPointRule() {
+ return getRelaySAPointAccess().getRule();
+ }
+
+ //SPPoint:
+ // ref=[ActorContainerRef] "." service=[SPPRef];
+ public SPPointElements getSPPointAccess() {
+ return (pSPPoint != null) ? pSPPoint : (pSPPoint = new SPPointElements());
+ }
+
+ public ParserRule getSPPointRule() {
+ return getSPPointAccess().getRule();
+ }
+
+ //// TODOHRR: support replicated actors
+ //
+ //ActorRef:
+ // "ActorRef" name=ID ":" type=[ActorClass|FQN];
+ public ActorRefElements getActorRefAccess() {
+ return (pActorRef != null) ? pActorRef : (pActorRef = new ActorRefElements());
+ }
+
+ public ParserRule getActorRefRule() {
+ return getActorRefAccess().getRule();
+ }
+
+ //// **************************************************************
+ //
+ //// state machine
+ //
+ //StateGraphNode:
+ // State | ChoicePoint | TrPoint;
+ public StateGraphNodeElements getStateGraphNodeAccess() {
+ return (pStateGraphNode != null) ? pStateGraphNode : (pStateGraphNode = new StateGraphNodeElements());
+ }
+
+ public ParserRule getStateGraphNodeRule() {
+ return getStateGraphNodeAccess().getRule();
+ }
+
+ //StateGraphItem:
+ // StateGraphNode | Transition;
+ public StateGraphItemElements getStateGraphItemAccess() {
+ return (pStateGraphItem != null) ? pStateGraphItem : (pStateGraphItem = new StateGraphItemElements());
+ }
+
+ public ParserRule getStateGraphItemRule() {
+ return getStateGraphItemAccess().getRule();
+ }
+
+ //State:
+ // BaseState | RefinedState;
+ public StateElements getStateAccess() {
+ return (pState != null) ? pState : (pState = new StateElements());
+ }
+
+ public ParserRule getStateRule() {
+ return getStateAccess().getRule();
+ }
+
+ //StateGraph:
+ // "{" (states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition)+ "}";
+ public StateGraphElements getStateGraphAccess() {
+ return (pStateGraph != null) ? pStateGraph : (pStateGraph = new StateGraphElements());
+ }
+
+ public ParserRule getStateGraphRule() {
+ return getStateGraphAccess().getRule();
+ }
+
+ //StateMachine returns StateGraph:
+ // "StateMachine" "{" (states+=State | trPoints+=TrPoint | chPoints+=ChoicePoint | transitions+=Transition)+ "}";
+ public StateMachineElements getStateMachineAccess() {
+ return (pStateMachine != null) ? pStateMachine : (pStateMachine = new StateMachineElements());
+ }
+
+ public ParserRule getStateMachineRule() {
+ return getStateMachineAccess().getRule();
+ }
+
+ //// entry and exit code have multiplicity many: in BaseState to be able to add derived class codes here,
+ //
+ //// in RefinedState to still have both features in the common base class State
+ //
+ //BaseState:
+ // "State" name=ID "{" ("entry" entryCode=DetailCode)? ("exit" exitCode=DetailCode)? ("subgraph" subgraph=StateGraph)?
+ // "}";
+ public BaseStateElements getBaseStateAccess() {
+ return (pBaseState != null) ? pBaseState : (pBaseState = new BaseStateElements());
+ }
+
+ public ParserRule getBaseStateRule() {
+ return getBaseStateAccess().getRule();
+ }
+
+ //RefinedState:
+ // "RefinedState" base=[BaseState|FQN] "{" ("entry" entryCode=DetailCode)? ("exit" exitCode=DetailCode)? ("subgraph"
+ // subgraph=StateGraph)? "}";
+ public RefinedStateElements getRefinedStateAccess() {
+ return (pRefinedState != null) ? pRefinedState : (pRefinedState = new RefinedStateElements());
+ }
+
+ public ParserRule getRefinedStateRule() {
+ return getRefinedStateAccess().getRule();
+ }
+
+ //// TODOHRR: provide a means to call super class code (cf. ROOM p. 310f)
+ //
+ //// super() keyword or flag like in Trice
+ //
+ //DetailCode:
+ // "{" commands+=STRING+ "}";
+ public DetailCodeElements getDetailCodeAccess() {
+ return (pDetailCode != null) ? pDetailCode : (pDetailCode = new DetailCodeElements());
+ }
+
+ public ParserRule getDetailCodeRule() {
+ return getDetailCodeAccess().getRule();
+ }
+
+ //TrPoint:
+ // TransitionPoint | EntryPoint | ExitPoint;
+ public TrPointElements getTrPointAccess() {
+ return (pTrPoint != null) ? pTrPoint : (pTrPoint = new TrPointElements());
+ }
+
+ public ParserRule getTrPointRule() {
+ return getTrPointAccess().getRule();
+ }
+
+ //TransitionPoint:
+ // handler?="handler"? "TransitionPoint" name=ID;
+ public TransitionPointElements getTransitionPointAccess() {
+ return (pTransitionPoint != null) ? pTransitionPoint : (pTransitionPoint = new TransitionPointElements());
+ }
+
+ public ParserRule getTransitionPointRule() {
+ return getTransitionPointAccess().getRule();
+ }
+
+ //EntryPoint:
+ // "EntryPoint" name=ID;
+ public EntryPointElements getEntryPointAccess() {
+ return (pEntryPoint != null) ? pEntryPoint : (pEntryPoint = new EntryPointElements());
+ }
+
+ public ParserRule getEntryPointRule() {
+ return getEntryPointAccess().getRule();
+ }
+
+ //ExitPoint:
+ // "ExitPoint" name=ID;
+ public ExitPointElements getExitPointAccess() {
+ return (pExitPoint != null) ? pExitPoint : (pExitPoint = new ExitPointElements());
+ }
+
+ public ParserRule getExitPointRule() {
+ return getExitPointAccess().getRule();
+ }
+
+ //ChoicePoint:
+ // "ChoicePoint" name=ID;
+ public ChoicePointElements getChoicePointAccess() {
+ return (pChoicePoint != null) ? pChoicePoint : (pChoicePoint = new ChoicePointElements());
+ }
+
+ public ParserRule getChoicePointRule() {
+ return getChoicePointAccess().getRule();
+ }
+
+ //Transition:
+ // InitialTransition | NonInitialTransition;
+ public TransitionElements getTransitionAccess() {
+ return (pTransition != null) ? pTransition : (pTransition = new TransitionElements());
+ }
+
+ public ParserRule getTransitionRule() {
+ return getTransitionAccess().getRule();
+ }
+
+ //NonInitialTransition:
+ // TriggeredTransition | ContinuationTransition | CPBranchTransition;
+ public NonInitialTransitionElements getNonInitialTransitionAccess() {
+ return (pNonInitialTransition != null) ? pNonInitialTransition : (pNonInitialTransition = new NonInitialTransitionElements());
+ }
+
+ public ParserRule getNonInitialTransitionRule() {
+ return getNonInitialTransitionAccess().getRule();
+ }
+
+ //InitialTransition:
+ // "Transition" name=ID? ":" "initial" "->" to=TransitionTerminal "{" ("action" action=DetailCode)? "}";
+ public InitialTransitionElements getInitialTransitionAccess() {
+ return (pInitialTransition != null) ? pInitialTransition : (pInitialTransition = new InitialTransitionElements());
+ }
+
+ public ParserRule getInitialTransitionRule() {
+ return getInitialTransitionAccess().getRule();
+ }
+
+ //ContinuationTransition:
+ // "Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" ("action" action=DetailCode)? "}";
+ public ContinuationTransitionElements getContinuationTransitionAccess() {
+ return (pContinuationTransition != null) ? pContinuationTransition : (pContinuationTransition = new ContinuationTransitionElements());
+ }
+
+ public ParserRule getContinuationTransitionRule() {
+ return getContinuationTransitionAccess().getRule();
+ }
+
+ //TriggeredTransition:
+ // "Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" "triggers" "{" triggers+=Trigger
+ // ("or" triggers+=Trigger)* "}" ("action" action=DetailCode)? "}";
+ public TriggeredTransitionElements getTriggeredTransitionAccess() {
+ return (pTriggeredTransition != null) ? pTriggeredTransition : (pTriggeredTransition = new TriggeredTransitionElements());
+ }
+
+ public ParserRule getTriggeredTransitionRule() {
+ return getTriggeredTransitionAccess().getRule();
+ }
+
+ //CPBranchTransition:
+ // "Transition" name=ID? ":" from=TransitionTerminal "->" to=TransitionTerminal "{" "cond" condition=DetailCode ("action"
+ // action=DetailCode)? "}";
+ public CPBranchTransitionElements getCPBranchTransitionAccess() {
+ return (pCPBranchTransition != null) ? pCPBranchTransition : (pCPBranchTransition = new CPBranchTransitionElements());
+ }
+
+ public ParserRule getCPBranchTransitionRule() {
+ return getCPBranchTransitionAccess().getRule();
+ }
+
+ //TransitionTerminal:
+ // StateTerminal | TrPointTerminal | SubStateTrPointTerminal | ChoicepointTerminal;
+ public TransitionTerminalElements getTransitionTerminalAccess() {
+ return (pTransitionTerminal != null) ? pTransitionTerminal : (pTransitionTerminal = new TransitionTerminalElements());
+ }
+
+ public ParserRule getTransitionTerminalRule() {
+ return getTransitionTerminalAccess().getRule();
+ }
+
+ //StateTerminal:
+ // state=[BaseState];
+ public StateTerminalElements getStateTerminalAccess() {
+ return (pStateTerminal != null) ? pStateTerminal : (pStateTerminal = new StateTerminalElements());
+ }
+
+ public ParserRule getStateTerminalRule() {
+ return getStateTerminalAccess().getRule();
+ }
+
+ //TrPointTerminal:
+ // "my" trPoint=[TrPoint];
+ public TrPointTerminalElements getTrPointTerminalAccess() {
+ return (pTrPointTerminal != null) ? pTrPointTerminal : (pTrPointTerminal = new TrPointTerminalElements());
+ }
+
+ public ParserRule getTrPointTerminalRule() {
+ return getTrPointTerminalAccess().getRule();
+ }
+
+ //SubStateTrPointTerminal:
+ // trPoint=[TrPoint] "of" state=[BaseState];
+ public SubStateTrPointTerminalElements getSubStateTrPointTerminalAccess() {
+ return (pSubStateTrPointTerminal != null) ? pSubStateTrPointTerminal : (pSubStateTrPointTerminal = new SubStateTrPointTerminalElements());
+ }
+
+ public ParserRule getSubStateTrPointTerminalRule() {
+ return getSubStateTrPointTerminalAccess().getRule();
+ }
+
+ //ChoicepointTerminal:
+ // "cp" cp=[ChoicePoint];
+ public ChoicepointTerminalElements getChoicepointTerminalAccess() {
+ return (pChoicepointTerminal != null) ? pChoicepointTerminal : (pChoicepointTerminal = new ChoicepointTerminalElements());
+ }
+
+ public ParserRule getChoicepointTerminalRule() {
+ return getChoicepointTerminalAccess().getRule();
+ }
+
+ ////TransitionSource: TransitionTerminal|ChoicePointCaseRef|ChoicePointDefaultRef;
+ //
+ ////TransitionSource: TransitionTerminal|ChoicePointRef;
+ //
+ ////TransitionDest: TransitionTerminal|ChoicePointRef;
+ //
+ ////ChoicePointCaseRef: 'cp' cp=[ChoicePoint|ID] 'case' case=[ChoicePointCase|ID];
+ //
+ ////ChoicePointDefaultRef: 'cp' cp=[ChoicePoint|ID] 'default';
+ //
+ ////ChoicePointRef: 'cp' cp=[ChoicePoint|ID];
+ //
+ //Trigger:
+ // "<" msgFromIfPairs+=MessageFromIf ("|" msgFromIfPairs+=MessageFromIf)* guard=Guard? ">";
+ public TriggerElements getTriggerAccess() {
+ return (pTrigger != null) ? pTrigger : (pTrigger = new TriggerElements());
+ }
+
+ public ParserRule getTriggerRule() {
+ return getTriggerAccess().getRule();
+ }
+
+ //MessageFromIf:
+ // message=[Message] ":" from=[InterfaceItem];
+ public MessageFromIfElements getMessageFromIfAccess() {
+ return (pMessageFromIf != null) ? pMessageFromIf : (pMessageFromIf = new MessageFromIfElements());
+ }
+
+ public ParserRule getMessageFromIfRule() {
+ return getMessageFromIfAccess().getRule();
+ }
+
+ //Guard:
+ // "guard" guard=DetailCode;
+ public GuardElements getGuardAccess() {
+ return (pGuard != null) ? pGuard : (pGuard = new GuardElements());
+ }
+
+ public ParserRule getGuardRule() {
+ return getGuardAccess().getRule();
+ }
+
+ //// **************************************************************
+ //
+ //// general
+ //
+ //Import:
+ // "import" importedNamespace=ImportedFQN;
+ public ImportElements getImportAccess() {
+ return (pImport != null) ? pImport : (pImport = new ImportElements());
+ }
+
+ public ParserRule getImportRule() {
+ return getImportAccess().getRule();
+ }
+
+ //ImportedFQN:
+ // FQN ("." "*")?;
+ public ImportedFQNElements getImportedFQNAccess() {
+ return (pImportedFQN != null) ? pImportedFQN : (pImportedFQN = new ImportedFQNElements());
+ }
+
+ public ParserRule getImportedFQNRule() {
+ return getImportedFQNAccess().getRule();
+ }
+
+ //FQN:
+ // ID ("." ID)*;
+ public FQNElements getFQNAccess() {
+ return (pFQN != null) ? pFQN : (pFQN = new FQNElements());
+ }
+
+ public ParserRule getFQNRule() {
+ return getFQNAccess().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.core.room/src-gen/org/eclipse/etrice/core/validation/AbstractRoomJavaValidator.java b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/validation/AbstractRoomJavaValidator.java index ebb459cf5..099dc4cf1 100644 --- a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/validation/AbstractRoomJavaValidator.java +++ b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/validation/AbstractRoomJavaValidator.java @@ -1,20 +1,20 @@ -package org.eclipse.etrice.core.validation; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.xtext.validation.AbstractDeclarativeValidator; -import org.eclipse.xtext.validation.ComposedChecks; - -@ComposedChecks(validators= {org.eclipse.xtext.validation.ImportUriValidator.class, org.eclipse.xtext.validation.NamesAreUniqueValidator.class}) -public class AbstractRoomJavaValidator extends AbstractDeclarativeValidator { - - @Override - protected List<EPackage> getEPackages() { - List<EPackage> result = new ArrayList<EPackage>(); - result.add(org.eclipse.etrice.core.room.RoomPackage.eINSTANCE); - return result; - } - -} +package org.eclipse.etrice.core.validation;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.xtext.validation.AbstractDeclarativeValidator;
+import org.eclipse.xtext.validation.ComposedChecks;
+
+@ComposedChecks(validators= {org.eclipse.xtext.validation.ImportUriValidator.class, org.eclipse.xtext.validation.NamesAreUniqueValidator.class})
+public class AbstractRoomJavaValidator extends AbstractDeclarativeValidator {
+
+ @Override
+ protected List<EPackage> getEPackages() {
+ List<EPackage> result = new ArrayList<EPackage>();
+ result.add(org.eclipse.etrice.core.room.RoomPackage.eINSTANCE);
+ return result;
+ }
+
+}
diff --git a/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/impl/ExpandedActorClassImpl.java b/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/impl/ExpandedActorClassImpl.java index 821dd854e..c1e9c210c 100644 --- a/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/impl/ExpandedActorClassImpl.java +++ b/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/etricegen/impl/ExpandedActorClassImpl.java @@ -353,6 +353,24 @@ public class ExpandedActorClassImpl extends ActorClassImpl implements ExpandedAc }
}
}
+
+ /**
+ * @param sg
+ */
+ private void checkTransitionChains(StateGraph sg) {
+ for (Transition t : sg.getTransitions()) {
+ TransitionChain chain = getChain(t);
+ if (chain==null)
+ if (!getActorClass().isAbstract())
+ validationError("transition is not part of a transition chain (only allowed for abstract actor classes)", t);
+ }
+
+ // recursion
+ for (State s : sg.getStates()) {
+ if (s.getSubgraph()!=null)
+ checkTransitionChains(s.getSubgraph());
+ }
+ }
private void doChecks(StateGraph sg) {
@@ -775,6 +793,7 @@ public class ExpandedActorClassImpl extends ActorClassImpl implements ExpandedAc findLeafStateTriggers(getStateMachine());
fillTriggerStringMap();
findTransitionChains(getStateMachine());
+ checkTransitionChains(getStateMachine());
}
/**
diff --git a/plugins/org.eclipse.etrice.ui.behavior/.gitignore b/plugins/org.eclipse.etrice.ui.behavior/.gitignore index ba077a403..092357e47 100644 --- a/plugins/org.eclipse.etrice.ui.behavior/.gitignore +++ b/plugins/org.eclipse.etrice.ui.behavior/.gitignore @@ -1 +1 @@ -bin +bin
diff --git a/plugins/org.eclipse.etrice.ui.behavior/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.ui.behavior/META-INF/MANIFEST.MF index 4766617bd..727ab4fd6 100644 --- a/plugins/org.eclipse.etrice.ui.behavior/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.etrice.ui.behavior/META-INF/MANIFEST.MF @@ -1,26 +1,26 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: Actor Behavior Diagram Editor -Bundle-SymbolicName: org.eclipse.etrice.ui.behavior;singleton:=true -Bundle-Version: 0.1.0 -Bundle-Activator: org.eclipse.etrice.ui.behavior.Activator -Require-Bundle: org.eclipse.etrice.core.room;bundle-version="0.1.0", - org.eclipse.etrice.ui.common;bundle-version="0.1.0", - org.eclipse.graphiti;bundle-version="0.7.0", - org.eclipse.graphiti.ui;bundle-version="0.7.0", - org.eclipse.ui;bundle-version="3.6.0", - org.eclipse.ui.ide;bundle-version="3.6.0", - org.eclipse.ui.forms;bundle-version="3.5.0", - org.eclipse.ui.views.properties.tabbed;bundle-version="3.5.100", - org.eclipse.jface.databinding;bundle-version="1.4.0", - org.eclipse.core.databinding;bundle-version="1.3.100", - org.eclipse.core.databinding.property;bundle-version="1.3.0", - org.eclipse.core.databinding.beans;bundle-version="1.2.100", - org.eclipse.gef;bundle-version="3.6.1", - org.eclipse.emf.ecore.xmi;bundle-version="2.5.0", - org.eclipse.emf.transaction;bundle-version="1.4.0" -Bundle-ActivationPolicy: lazy -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 -Bundle-Vendor: eTrice (Incubation) -Export-Package: org.eclipse.etrice.ui.behavior, - org.eclipse.etrice.ui.behavior.support;x-friends:="org.eclipse.etrice.ui.behavior.tests" +Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Actor Behavior Diagram Editor
+Bundle-SymbolicName: org.eclipse.etrice.ui.behavior;singleton:=true
+Bundle-Version: 0.1.0
+Bundle-Activator: org.eclipse.etrice.ui.behavior.Activator
+Require-Bundle: org.eclipse.etrice.core.room;bundle-version="0.1.0",
+ org.eclipse.etrice.ui.common;bundle-version="0.1.0",
+ org.eclipse.graphiti;bundle-version="0.7.0",
+ org.eclipse.graphiti.ui;bundle-version="0.7.0",
+ org.eclipse.ui;bundle-version="3.6.0",
+ org.eclipse.ui.ide;bundle-version="3.6.0",
+ org.eclipse.ui.forms;bundle-version="3.5.0",
+ org.eclipse.ui.views.properties.tabbed;bundle-version="3.5.100",
+ org.eclipse.jface.databinding;bundle-version="1.4.0",
+ org.eclipse.core.databinding;bundle-version="1.3.100",
+ org.eclipse.core.databinding.property;bundle-version="1.3.0",
+ org.eclipse.core.databinding.beans;bundle-version="1.2.100",
+ org.eclipse.gef;bundle-version="3.6.1",
+ org.eclipse.emf.ecore.xmi;bundle-version="2.5.0",
+ org.eclipse.emf.transaction;bundle-version="1.4.0"
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-Vendor: eTrice (Incubation)
+Export-Package: org.eclipse.etrice.ui.behavior,
+ org.eclipse.etrice.ui.behavior.support;x-friends:="org.eclipse.etrice.ui.behavior.tests"
diff --git a/plugins/org.eclipse.etrice.ui.common/.gitignore b/plugins/org.eclipse.etrice.ui.common/.gitignore index ba077a403..092357e47 100644 --- a/plugins/org.eclipse.etrice.ui.common/.gitignore +++ b/plugins/org.eclipse.etrice.ui.common/.gitignore @@ -1 +1 @@ -bin +bin
diff --git a/plugins/org.eclipse.etrice.ui.common/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.ui.common/META-INF/MANIFEST.MF index 5190fc7ef..31737b3c9 100644 --- a/plugins/org.eclipse.etrice.ui.common/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.etrice.ui.common/META-INF/MANIFEST.MF @@ -1,23 +1,23 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: UI Common -Bundle-SymbolicName: org.eclipse.etrice.ui.common -Bundle-Version: 0.1.0 -Bundle-Vendor: eTrice (Incubation) -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 -Require-Bundle: org.eclipse.core.databinding;bundle-version="1.3.100", - org.eclipse.core.databinding.beans;bundle-version="1.2.100", - org.eclipse.core.runtime;bundle-version="3.6.0", - org.eclipse.emf.ecore;bundle-version="2.6.0", - org.eclipse.jface.databinding;bundle-version="1.4.0", - org.eclipse.jface;bundle-version="3.6.0", - org.eclipse.ui.forms;bundle-version="3.5.0", - org.eclipse.core.resources;bundle-version="3.6.0", - org.eclipse.emf.transaction;bundle-version="1.4.0", - org.eclipse.etrice.core.room;bundle-version="0.1.0", - org.eclipse.graphiti;bundle-version="0.7.0", - org.eclipse.ui;bundle-version="3.6.1", - org.eclipse.ui.ide;bundle-version="3.6.0" -Export-Package: org.eclipse.etrice.ui.common, - org.eclipse.etrice.ui.common.dialogs, - org.eclipse.etrice.ui.common.support +Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: UI Common
+Bundle-SymbolicName: org.eclipse.etrice.ui.common
+Bundle-Version: 0.1.0
+Bundle-Vendor: eTrice (Incubation)
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.eclipse.core.databinding;bundle-version="1.3.100",
+ org.eclipse.core.databinding.beans;bundle-version="1.2.100",
+ org.eclipse.core.runtime;bundle-version="3.6.0",
+ org.eclipse.emf.ecore;bundle-version="2.6.0",
+ org.eclipse.jface.databinding;bundle-version="1.4.0",
+ org.eclipse.jface;bundle-version="3.6.0",
+ org.eclipse.ui.forms;bundle-version="3.5.0",
+ org.eclipse.core.resources;bundle-version="3.6.0",
+ org.eclipse.emf.transaction;bundle-version="1.4.0",
+ org.eclipse.etrice.core.room;bundle-version="0.1.0",
+ org.eclipse.graphiti;bundle-version="0.7.0",
+ org.eclipse.ui;bundle-version="3.6.1",
+ org.eclipse.ui.ide;bundle-version="3.6.0"
+Export-Package: org.eclipse.etrice.ui.common,
+ org.eclipse.etrice.ui.common.dialogs,
+ org.eclipse.etrice.ui.common.support
diff --git a/tests/org.eclipse.etrice.generator.tests/org.eclipse.etrice.generator.tests.launch b/tests/org.eclipse.etrice.generator.tests/org.eclipse.etrice.generator.tests.launch index a2fe47084..eb18abd9f 100644 --- a/tests/org.eclipse.etrice.generator.tests/org.eclipse.etrice.generator.tests.launch +++ b/tests/org.eclipse.etrice.generator.tests/org.eclipse.etrice.generator.tests.launch @@ -11,7 +11,7 @@ <booleanAttribute key="clearwslog" value="false"/>
<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
<booleanAttribute key="default" value="false"/>
-<stringAttribute key="deselected_workspace_plugins" value="org.eclipse.etrice.example,org.eclipse.etrice.integration.tests,org.eclipse.etrice.ui.structure.tests"/>
+<stringAttribute key="deselected_workspace_plugins" value="de.protos.automation.io,org.eclipse.etrice.example.hrr,org.eclipse.graphiti.examples.tutorial,org.eclipse.etrice.ui.behavior.tests,org.eclipse.graphiti.examples.common,org.eclipse.etrice.example,org.eclipse.etrice.integration.tests,de.protos.automation.demos.fischertechnik"/>
<booleanAttribute key="includeOptional" value="true"/>
<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
@@ -35,8 +35,13 @@ <stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product" value="org.eclipse.sdk.ide"/>
<booleanAttribute key="run_in_ui_thread" value="true"/>
+<<<<<<< HEAD <stringAttribute key="selected_target_plugins" value="org.eclipse.xtend.typesystem.uml2.ui@default:default,org.eclipse.emf.compare.diff@default:default,org.eclipse.xtext.xbase.lib@default:default,com.google.collect@default:default,org.eclipse.equinox.p2.reconciler.dropins@default:default,org.eclipse.ant.launching@default:default,org.eclipse.jdt.apt.core@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.polarion.eclipse.team.svn.connector.javahl16@default:default,org.eclipse.emf.generic.editor@default:default,org.apache.log4j@default:default,org.eclipse.team.cvs.ui@default:default,org.eclipse.pde@default:default,org.apache.lucene.core@default:default,org.eclipse.platform.doc.user@default:default,org.eclipse.ant.core@default:default,org.eclipse.xtext.builder@default:default,org.eclipse.equinox.p2.ui.sdk@default:default,org.eclipse.pde.ui.templates@default:default,org.eclipse.ui.workbench.compatibility@default:false,org.eclipse.core.net@default:default,org.eclipse.ui.presentations.r21@default:default,org.eclipse.xtext.common.types.ui@default:default,org.eclipse.xpand.examples@default:default,org.eclipse.pde.doc.user@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.p2.updatechecker@default:default,org.eclipse.ui.console@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.platform.doc.isv@default:default,org.eclipse.core.variables@default:default,org.eclipse.xtext.doc@default:default,com.google.inject@default:default,org.eclipse.pde.core@default:default,org.apache.lucene.highlighter@default:default,org.eclipse.jdt.debug.ui@default:default,org.eclipse.ui.win32@default:false,org.eclipse.debug.ui@default:default,org.eclipse.xtext.common.types@default:default,org.eclipse.jdt.compiler.tool@default:false,org.eclipse.xpand.ui@default:default,org.eclipse.xtend.ui@default:default,org.eclipse.xtext.xbase@default:default,org.eclipse.jface.text@default:default,org.eclipse.help.ui@default:default,org.eclipse.help@default:default,org.eclipse.pde.ui@default:default,org.eclipse.xtext.xtext.ui@default:default,org.eclipse.jdt.doc.isv@default:default,org.eclipse.graphiti.mm@default:default,org.antlr.runtime@default:default,org.eclipse.xtend.typesystem.xsd@default:default,org.eclipse.ui.intro.universal@default:default,org.eclipse.equinox.util@default:default,org.eclipse.pde.launching@default:default,org.eclipse.ui.views@default:default,javax.xml@default:default,org.eclipse.equinox.p2.extensionlocation@default:default,org.eclipse.xpand.incremental@default:default,org.eclipse.equinox.registry@default:default,de.itemis.xtext.antlr@default:default,org.eclipse.xtend.typesystem.uml2@default:default,org.antlr.gen@default:default,org.apache.commons.cli@default:default,org.eclipse.emf.codegen@default:default,org.eclipse.jface@default:default,org.eclipse.update.configurator@3:true,org.eclipse.uml2.uml.ecore.importer@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.pde.ds.ui@default:default,org.aopalliance@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.jdt.junit.runtime@default:default,org.polarion.eclipse.team.svn.connector.javahl16.win32@default:false,org.eclipse.pde.ds.core@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.help.appserver@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.equinox.p2.ui.sdk.scheduler@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.xtend.typesystem.xsd.ui@default:default,org.eclipse.jdt.junit@default:default,org.eclipse.rcp@default:default,org.eclipse.emf.mwe2.lib@default:default,org.eclipse.emf.transaction@default:default,org.eclipse.ant.ui@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.cvs@default:default,org.eclipse.draw2d@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.debug.core@default:default,org.eclipse.xtext.generator@default:default,javax.servlet@default:default,org.eclipse.equinox.p2.director.app@default:default,org.eclipse.xtend.profiler@default:default,org.eclipse.xtext.ui.junit@default:default,org.eclipse.xtext.xbase.ui@default:default,org.eclipse.team.cvs.ssh2@default:default,org.eclipse.emf.mwe.ui@default:default,org.eclipse.emf.mwe.doc@default:default,org.eclipse.platform@default:default,org.objectweb.asm@default:default,org.eclipse.core.net.win32.x86@default:false,org.eclipse.equinox.http.jetty@default:default,org.eclipse.core.jobs@default:default,org.eclipse.emf.edit@default:default,org.apache.lucene.analysis@default:default,org.eclipse.xpand.doc@default:default,org.eclipse.ui@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.pde.build@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.graphiti@default:default,org.eclipse.xtext.ui.shared@default:default,org.eclipse.update.ui@default:default,org.eclipse.equinox.concurrent@default:default,org.eclipse.emf.mwe2.language@default:default,org.eclipse.emf.workspace@default:default,org.eclipse.uml2.uml.resources@default:default,org.eclipse.emf.compare@default:default,org.apache.lucene.queries@default:default,org.eclipse.core.filesystem@default:default,org.eclipse.xtext.ui@default:default,org.eclipse.equinox.security.ui@default:default,org.apache.ant@default:default,org.eclipse.pde.api.tools.ui@default:default,org.eclipse.compare@default:default,org.eclipse.osgi@-1:true,org.eclipse.emf.databinding.edit@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.core.databinding.observable@default:default,org.apache.lucene.memory@default:default,org.eclipse.pde.ua.core@default:default,org.eclipse.xtext.util@default:default,org.eclipse.emf.mwe.utils@default:default,org.sat4j.pb@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.ui.browser@default:default,org.eclipse.pde.ua.ui@default:default,org.eclipse.jdt.doc.user@default:default,org.eclipse.xpand@default:default,org.eclipse.xtend.util.stdlib@default:default,org.hamcrest.core@default:default,org.eclipse.xsd@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.uml2.codegen.ecore@default:default,org.eclipse.xpand.activities@default:default,org.eclipse.jsch.core@default:default,org.eclipse.emf.mwe.ui.simpleEditor@default:default,org.eclipse.ui.intro@default:default,org.apache.lucene.snowball@default:default,org.eclipse.ui.workbench.texteditor@default:default,com.ibm.icu@default:default,org.eclipse.jdt.apt.ui@default:default,org.eclipse.equinox.p2.console@default:default,org.eclipse.swt.win32.win32.x86@default:false,org.eclipse.help.webapp@default:default,org.eclipse.sdk@default:default,org.mortbay.jetty.util@default:default,org.eclipse.xtext.logging@default:false,org.eclipse.jdt.core.manipulation@default:default,org.eclipse.graphiti.ui@default:default,com.jcraft.jsch@default:default,org.sat4j.core@default:default,org.eclipse.emf.mwe.core@default:default,org.eclipse.team.cvs.core@default:default,org.eclipse.emf.common@default:default,org.eclipse.osgi.util@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.event@default:default,org.eclipse.emf.ant@default:default,org.apache.commons.logging*1.0.4.v201005080501@default:default,org.eclipse.equinox.p2.repository.tools@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.update.scheduler@default:default,org.eclipse.ecf.provider.filetransfer.httpclient.ssl@default:false,org.antlr.generator@default:default,org.eclipse.xtend.check.ui@default:default,org.eclipse.team.svn.help@default:default,org.eclipse.core.boot@default:default,org.apache.lucene.misc@default:default,org.eclipse.ecf.provider.filetransfer.httpclient@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.uml2.uml@default:default,org.eclipse.core.filesystem.win32.x86@default:false,org.eclipse.team.core@default:default,org.eclipse.equinox.p2.repository@default:default,org.mortbay.jetty.server@default:default,org.eclipse.gef@default:default,org.eclipse.jdt@default:default,org.eclipse.swt@default:default,org.eclipse.search@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.pde.junit.runtime@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.codegen.ecore.ui@default:default,javax.servlet.jsp@default:default,org.eclipse.emf.mapping.ecore2xml@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.jdt.apt.pluggable.core@default:default,org.eclipse.equinox.launcher.win32.win32.x86@default:false,org.eclipse.equinox.p2.ui@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.jdt.ui@default:default,org.eclipse.xtend@default:default,org.apache.commons.httpclient@default:default,org.eclipse.compare.core@default:default,org.polarion.eclipse.team.svn.connector@default:default,org.eclipse.update.core.win32@default:false,org.eclipse.emf.common.ui@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.jdt.junit4.runtime@default:default,org.eclipse.jdt.debug@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.core.resources@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.help.base@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.pde.runtime@default:default,org.eclipse.ui.net@default:default,org.eclipse.ui.externaltools@default:default,org.eclipse.xtext.ecore@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.equinox.p2.operations@default:default,org.eclipse.xtend.typesystem.emf@default:default,org.eclipse.emf.mwe2.language.ui@default:default,org.apache.jasper@default:default,org.eclipse.graphiti.doc@default:default,org.eclipse.jdt.junit.core@default:default,org.eclipse.xtend.shared.ui@default:default,org.eclipse.emf.validation@default:default,org.eclipse.equinox.p2.metadata.generator@default:default,org.eclipse.jdt.launching@default:default,org.eclipse.equinox.security@default:default,org.apache.commons.lang@default:default,org.apache.lucene@default:default,org.eclipse.team.svn.core@default:default,org.eclipse.emf.compare.match@default:default,org.eclipse.equinox.p2.updatesite@default:default,org.eclipse.core.resources.win32.x86@default:false,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.text@default:default,org.eclipse.core.databinding@default:default,org.eclipse.team.svn@default:default,org.eclipse.xtext@default:default,org.eclipse.equinox.p2.ql@default:default,org.eclipse.equinox.p2.directorywatcher@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.core.commands@default:default,org.eclipse.emf.importer@default:default,org.junit*3.8.2.v3_8_2_v20100427-1100@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.team.ui@default:default,org.eclipse.team.svn.ui@default:default,org.eclipse.emf.ecore.editor@default:default,org.apache.commons.codec@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.xtext.ui.ecore@default:default,org.eclipse.emf.codegen.ecore@default:default,org.eclipse.ui.views.log@default:default,org.eclipse.osgi.services@default:default,org.eclipse.ui.cheatsheets@default:default,org.eclipse.pde.api.tools@default:default,org.apache.lucene.spellchecker@default:default,org.eclipse.ui.editors@default:default,org.junit4@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.ui.ide@default:default,org.junit*4.8.1.v4_8_1_v20100427-1100@default:default,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.jsch.ui@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.core.expressions@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.core.runtime@default:true,org.eclipse.xtend.typesystem.emf.ui@default:default,org.eclipse.uml2.common@default:default,org.eclipse.jdt.compiler.apt@default:false,org.eclipse.update.core@default:default,org.eclipse.equinox.security.win32.x86@default:false,org.eclipse.emf.mwe.activities@default:default,org.apache.commons.el@default:default,org.eclipse.jdt.core@default:default,org.eclipse.equinox.p2.touchpoint.natives@default:default,org.eclipse.ecf@default:default,org.eclipse.emf.converter@default:default,org.eclipse.compare.win32@default:default,org.eclipse.xtext.junit@default:default,org.eclipse.equinox.jsp.jasper@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.emf.mwe2.runtime@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.xtext.activities@default:default,org.eclipse.emf.mwe2.launch@default:default,org.eclipse.xtext.xtext.ui.examples@default:default,org.eclipse.core.externaltools@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.jsp.jasper.registry@default:default"/>
<stringAttribute key="selected_workspace_plugins" value="org.eclipse.etrice.generator@default:default,org.eclipse.etrice.ui.behavior.tests@default:default,de.protos.automation.io@default:default,org.eclipse.etrice.generator.java@default:default,de.protos.automation.demos.fischertechnik@default:default,org.eclipse.etrice.ui.structure@default:default,org.xtext.example.mydsl.generator@default:default,org.eclipse.etrice.core.room.ui@default:default,org.eclipse.etrice.ui.tests.base@default:default,org.eclipse.etrice.modellib@default:default,org.eclipse.etrice.example.hrr@default:default,org.eclipse.etrice.generator.tests@default:default,org.eclipse.etrice.core.room@default:default,org.eclipse.etrice.ui.common@default:default,org.xtext.example.mydsl@default:default,org.eclipse.etrice.ui.behavior@default:default,org.eclipse.xtext@default:default,org.xtext.example.mydsl.ui@default:default"/>
+======= +<stringAttribute key="selected_target_plugins" value="org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.update.core.win32@default:false,org.eclipse.debug.core@default:default,org.eclipse.xtend.typesystem.uml2.ui@default:default,org.eclipse.emf.ecore.change*2.5.1.v20100907-1643@default:default,org.eclipse.core.jobs*3.5.1.R36x_v20100824@default:default,org.eclipse.draw2d.doc.isv@default:default,org.eclipse.pde.ua.ui@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.apache.commons.lang@default:default,org.eclipse.help@default:default,org.sat4j.core@default:default,org.eclipse.pde.build@default:default,org.eclipse.core.resources@default:default,org.eclipse.osgi.services@default:default,org.eclipse.epp.mpc.core@default:default,org.eclipse.emf.ant@default:default,org.eclipse.emf.compare.doc@default:default,org.eclipse.emf.compare.diff.edit@default:default,org.eclipse.equinox.p2.discovery.compatibility@default:default,org.eclipse.equinox.concurrent@default:default,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.pde.ds.core@default:default,de.itemis.xtext.antlr@default:default,org.eclipse.emf.java.editor@default:default,org.eclipse.xsd.ecore.exporter@default:default,org.eclipse.xtend.util.stdlib@default:default,org.apache.commons.codec@default:default,org.eclipse.ui.intro@default:default,org.eclipse.emf.mapping.xsd2ecore@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.apache.jasper@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.xtend.profiler@default:default,org.eclipse.equinox.p2.repository*2.0.1.R36x_v20100823@default:default,org.eclipse.emf.examples.generator.validator@default:default,org.eclipse.ui.net@default:default,org.eclipse.uml2.uml.ecore.importer@default:default,org.sat4j.pb@default:default,org.apache.commons.logging*1.0.4.v201005080501@default:default,org.eclipse.emf.mwe2.runtime@default:default,org.eclipse.equinox.p2.updatesite@default:default,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.ui.ide*3.6.1.M20100825-0800@default:default,org.mortbay.jetty.server@default:default,org.eclipse.emf.transaction.doc@default:default,org.eclipse.ui*3.6.1.M20100826-1330@default:default,org.eclipse.ui.externaltools@default:default,org.eclipse.swt*3.6.1.v3655c@default:default,org.eclipse.xpand.doc@default:default,org.eclipse.help.webapp@default:default,org.eclipse.osgi*3.6.1.R36x_v20100806@-1:true,org.eclipse.emf.converter@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.equinox.p2.ui.sdk@default:default,org.eclipse.emf.doc@default:default,org.eclipse.ui.workbench.compatibility@default:false,org.eclipse.emf.mapping.ecore2xml.ui@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.core.runtime@default:true,org.eclipse.ecf.provider.filetransfer.httpclient@default:default,org.eclipse.core.filesystem*1.3.1.R36x_v20100727-0745@default:default,org.eclipse.jdt.compiler.tool@default:false,org.eclipse.pde.launching@default:default,org.eclipse.jdt.debug.ui@default:default,org.eclipse.xtend.typesystem.uml2@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.team.core@default:default,org.eclipse.xtext.xbase.ui@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.emf.importer.java@default:default,javax.servlet@default:default,org.eclipse.jface.text*3.6.1.r361_v20100825-0800@default:default,org.eclipse.pde.ua.core@default:default,org.eclipse.ui.cheatsheets@default:default,org.eclipse.xtext.xtext.ui@default:default,org.eclipse.uml2.codegen.ecore@default:default,org.eclipse.debug.ui@default:default,org.eclipse.xtend.ui@default:default,org.eclipse.ui.forms*3.5.0.v20100427@default:default,org.apache.commons.logging*1.1.1.v201005080502@default:default,org.eclipse.team.svn.core@default:default,org.eclipse.equinox.p2.ql@default:default,org.eclipse.gef.doc.isv@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.xtext.xtend@default:default,org.eclipse.emf.mapping.ecore2ecore.editor@default:default,org.eclipse.emf.java@default:default,org.eclipse.emf.databinding@default:default,org.eclipse.xtext.common.types.ui@default:default,org.eclipse.jdt.apt.core@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.xsd.cheatsheets@default:default,org.eclipse.emf.examples@default:default,org.eclipse.jdt.doc.user@default:default,org.eclipse.jdt.apt.pluggable.core@default:default,org.eclipse.help.appserver@default:default,org.eclipse.emf.workspace.doc@default:default,org.eclipse.emf.mwe.ui.simpleEditor@default:default,org.eclipse.xtend.typesystem.xsd@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.p2.updatechecker@default:default,org.eclipse.emf.exporter.html@default:default,org.eclipse.update.configurator@3:true,org.eclipse.equinox.http.servlet@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.emf.workspace@default:default,org.eclipse.emf.databinding.edit@default:default,org.eclipse.xtext.ui@default:default,org.eclipse.jdt.compiler.apt@default:false,org.eclipse.emf.validation@default:default,org.eclipse.emf.examples.library.edit@default:default,org.eclipse.emf.mapping.ecore2xml@default:default,org.eclipse.equinox.p2.extensionlocation@default:default,com.google.collect@default:default,org.eclipse.xsd.ecore.importer@default:default,org.eclipse.equinox.p2.reconciler.dropins@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.apache.lucene@default:default,org.eclipse.core.externaltools@default:default,org.eclipse.team.svn.help@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.xpand@default:default,org.eclipse.emf.mwe2.language@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.jdt.junit@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.xsd.editor@default:default,org.junit4@default:default,org.eclipse.pde.core@default:default,org.eclipse.ui.forms*3.5.2.r36_v20100702@default:default,org.eclipse.jdt.doc.isv@default:default,org.eclipse.emf.examples.library.editor@default:default,org.eclipse.team.cvs.ui@default:default,org.eclipse.xpand.ui@default:default,org.eclipse.xtext.util@default:default,javax.servlet.jsp@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.equinox.p2.ui@default:default,org.eclipse.help.ui@default:default,org.eclipse.swt.win32.win32.x86@default:false,org.eclipse.emf.edit*2.6.0.v20100914-1218@default:default,org.eclipse.ui.workbench*3.6.1.M20100826-1330@default:default,org.eclipse.equinox.security.win32.x86@default:false,org.eclipse.equinox.p2.director.app@default:default,org.eclipse.jface*3.6.0.I20100601-0800@default:default,org.eclipse.ecf.provider.filetransfer.httpclient.ssl@default:false,org.eclipse.ant.core@default:default,org.eclipse.emf.compare.match@default:default,org.eclipse.equinox.common@2:true,org.apache.lucene.analysis@default:default,org.eclipse.emf.edit.ui*2.6.0.v20100914-1218@default:default,org.eclipse.compare.win32@default:default,org.eclipse.emf.mwe2.language.ui@default:default,org.eclipse.equinox.servletbridge.extensionbundle@default:false,org.eclipse.emf.mapping.ecore2ecore@default:default,org.eclipse.xtext.ui.shared@default:default,org.eclipse.ui.console@default:default,org.eclipse.pde.api.tools@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.platform.doc.isv@default:default,org.eclipse.emf.compare@default:default,org.eclipse.emf.mwe.doc@default:default,org.eclipse.equinox.p2.core*2.0.2.R36x_v20100804@default:default,org.eclipse.core.expressions@default:default,org.eclipse.xpand.activities@default:default,org.eclipse.xtext.xbase@default:default,org.eclipse.equinox.p2.ui.discovery@default:default,org.eclipse.xtend.typesystem.emf@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.jdt.core@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.compare.core@default:default,com.google.inject@default:default,org.eclipse.core.net.win32.x86@default:false,org.eclipse.core.filesystem.win32.x86@default:false,org.eclipse.equinox.p2.metadata.generator@default:default,org.eclipse.jdt.junit.runtime@default:default,org.eclipse.jdt.ui@default:default,org.eclipse.equinox.launcher.win32.win32.x86@default:false,org.eclipse.jdt.core.manipulation@default:default,org.eclipse.platform.doc.user@default:default,org.eclipse.emf.compare.diff@default:default,org.eclipse.emf.codegen@default:default,org.eclipse.emf@default:default,org.eclipse.draw2d@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.emf.transaction.ui@default:default,org.eclipse.pde.runtime@default:default,org.eclipse.emf.generic.editor@default:default,org.eclipse.cvs@default:default,org.eclipse.emf.workspace.ui@default:default,org.eclipse.xtext.xtext.ui.examples@default:default,org.eclipse.jface.text*3.6.0.v20100526-0800@default:default,org.eclipse.ui.win32@default:false,org.eclipse.equinox.p2.console@default:default,org.eclipse.jdt@default:default,org.eclipse.equinox.p2.discovery@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.xsd.edit@default:default,org.eclipse.jsch.core@default:default,org.eclipse.equinox.jsp.jasper@default:default,org.eclipse.rcp@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.emf.importer.ecore@default:default,org.eclipse.graphiti.doc@default:default,org.eclipse.update.ui@default:default,org.eclipse.emf.transaction.examples@default:default,org.eclipse.xsd.doc@default:default,org.eclipse.emf.cheatsheets@default:default,org.eclipse.xtext.common.types@default:default,org.eclipse.emf.activities@default:default,org.junit*4.8.1.v4_8_1_v20100427-1100@default:default,org.eclipse.ui.editors@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.emf.ecore.editor@default:default,org.eclipse.emf.mapping.ecore@default:default,org.eclipse.ecf@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.xtext.logging@default:false,org.eclipse.emf.compare.epatch@default:default,org.eclipse.emf.example.installer@default:default,org.eclipse.equinox.p2.ui.sdk.scheduler@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.mapping@default:default,org.eclipse.emf.mwe.activities@default:default,org.eclipse.xtext.doc@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.jdt.junit.core@default:default,org.eclipse.emf.mapping.xsd2ecore.editor@default:default,org.eclipse.xtext.activities@default:default,org.eclipse.emf.importer.rose@default:default,org.eclipse.equinox.security.ui@default:default,org.eclipse.emf.ecore.edit*2.6.0.v20100914-1218@default:default,org.apache.commons.cli@default:default,org.eclipse.help.base@default:default,org.eclipse.ui.views@default:default,org.eclipse.xsd.mapping@default:default,org.eclipse.pde.ui.templates@default:default,org.eclipse.xpand.incremental@default:default,org.eclipse.equinox.p2.directorywatcher@default:default,org.eclipse.team.cvs.ssh2@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.uml2.uml@default:default,org.eclipse.compare@default:default,org.eclipse.equinox.p2.metadata@default:default,org.apache.log4j@default:default,org.eclipse.jdt.junit4.runtime@default:default,org.eclipse.ui.ide.application@default:default,org.junit*3.8.2.v3_8_2_v20100427-1100@default:default,org.eclipse.emf.common.ui*2.6.0.v20100914-1218@default:default,com.ibm.icu@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.xtend.shared.ui@default:default,org.eclipse.equinox.p2.operations@default:default,org.eclipse.core.resources.win32.x86@default:false,org.eclipse.emf.codegen.ecore@default:default,org.eclipse.emf.mwe.core@default:default,org.eclipse.pde.api.tools.ui@default:default,org.eclipse.ui.browser@default:default,org.eclipse.core.net@default:default,org.eclipse.ant.launching@default:default,org.eclipse.ui.intro.universal@default:default,org.eclipse.uml2.uml.resources@default:default,org.eclipse.equinox.p2.touchpoint.natives@default:default,org.eclipse.emf.mapping.ui@default:default,org.eclipse.jface*3.6.1.M20100825-0800@default:default,org.eclipse.emf.mwe.utils@default:default,org.eclipse.xtend.check.ui@default:default,org.apache.commons.el@default:default,org.eclipse.ui.presentations.r21@default:default,org.antlr.gen@default:default,org.eclipse.gef.examples.ui.pde@default:default,org.eclipse.emf.transaction@default:default,org.eclipse.ui.views.log@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.text@default:default,org.eclipse.pde.ds.ui@default:default,org.eclipse.emf.exporter@default:default,org.aopalliance@default:default,org.eclipse.search@default:default,org.eclipse.equinox.p2.repository.tools@default:default,org.hamcrest.core@default:default,org.eclipse.emf.compare.ui@default:default,org.mortbay.jetty.util@default:default,org.apache.ant@default:default,org.eclipse.update.core@default:default,org.eclipse.ant.ui@default:default,org.eclipse.core.boot@default:default,org.polarion.eclipse.team.svn.connector.javahl16@default:default,org.eclipse.emf.mwe2.launch@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.xsd.mapping.editor@default:default,org.eclipse.jdt.debug@default:default,org.eclipse.xsd@default:default,org.eclipse.core.commands@default:default,org.eclipse.xsd.example.installer@default:default,org.eclipse.xtend.typesystem.xsd.ui@default:default,org.eclipse.equinox.event@default:default,org.antlr.runtime@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.osgi.util@default:default,org.eclipse.emf.ecore*2.6.1.v20100914-1218@default:default,org.eclipse.xsd.example@default:default,org.eclipse.xtext.builder@default:default,org.eclipse.xtend@default:default,org.eclipse.emf.codegen.ui@default:default,org.eclipse.pde.junit.runtime@default:default,org.eclipse.team.ui@default:default,org.eclipse.xtext.generator@default:default,org.eclipse.team.svn.ui@default:default,org.eclipse.platform@default:default,org.eclipse.emf.java.edit@default:default,org.eclipse.gef@default:default,org.eclipse.pde.ui@default:default,org.eclipse.jdt.apt.ui@default:default,org.eclipse.epp.mpc.ui@default:default,org.eclipse.emf.mwe.ui@default:default,com.jcraft.jsch@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.jsch.ui@default:default,org.eclipse.xsd.ecore.converter@default:default,org.eclipse.uml2.common@default:default,org.eclipse.emf.ecore.change.edit@default:default,org.eclipse.xtext@default:default,org.eclipse.update.scheduler@default:default,org.eclipse.equinox.jsp.jasper.registry@default:default,org.eclipse.xtext.junit@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.sdk@default:default,org.eclipse.team.svn@default:default,org.polarion.eclipse.team.svn.connector@default:default,org.eclipse.jdt.launching@default:default,org.eclipse.emf.mapping.ecore.editor@default:default,org.eclipse.xtext.ecore@default:default,org.eclipse.xtext.ui.ecore@default:default,org.eclipse.xpand.examples@default:default,org.eclipse.xtend.typesystem.emf.ui@default:default,org.eclipse.emf.examples.library@default:default,org.eclipse.core.databinding@default:default,org.polarion.eclipse.team.svn.connector.svnkit16@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.equinox.security@default:default,org.eclipse.pde.doc.user@default:default,org.eclipse.equinox.util@default:default,org.eclipse.core.variables@default:default,org.eclipse.emf.importer@default:default,org.eclipse.equinox.app*1.3.1.R36x_v20100803@default:default,org.eclipse.emf.common*2.6.0.v20100914-1218@default:default,org.apache.commons.httpclient@default:default,org.eclipse.emf.codegen.ecore.ui@default:default,org.eclipse.pde@default:default,org.objectweb.asm@default:default,org.eclipse.epp.mpc.help.ui@default:default,org.eclipse.xtext.ui.junit@default:default,org.eclipse.team.cvs.core@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.graphiti.mm@default:default,org.eclipse.etrice.core.room@default:default,org.eclipse.etrice.ui.behavior@default:default,org.eclipse.etrice.ui.structure.tests@default:default,org.eclipse.etrice.generator@default:default,org.eclipse.etrice.ui.tests.base@default:default,org.eclipse.graphiti.ui@default:default,org.eclipse.etrice.ui.common@default:default,org.eclipse.graphiti@default:default,org.eclipse.etrice.modellib@default:default,org.eclipse.xtext@default:default,org.eclipse.etrice.core.room.ui@default:default,org.eclipse.etrice.ui.structure@default:default,org.eclipse.etrice.generator.tests@default:default,org.eclipse.graphiti.pattern@default:default,org.eclipse.etrice.generator.java@default:default"/>
+>>>>>>> branch 'refs/heads/master' of https://hrentzreich@git.eclipse.org/gitroot/etrice/org.eclipse.etrice.git <booleanAttribute key="show_selected_only" value="false"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
diff --git a/tests/org.eclipse.etrice.tests.base/src/org/eclipse/etrice/tests/base/TestBase.java b/tests/org.eclipse.etrice.tests.base/src/org/eclipse/etrice/tests/base/TestBase.java index 04ed1b596..da3f3534e 100644 --- a/tests/org.eclipse.etrice.tests.base/src/org/eclipse/etrice/tests/base/TestBase.java +++ b/tests/org.eclipse.etrice.tests.base/src/org/eclipse/etrice/tests/base/TestBase.java @@ -1,77 +1,77 @@ -/******************************************************************************* - * Copyright (c) 2010 protos software gmbh (http://www.protos.de). - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * CONTRIBUTORS: - * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution) - * - *******************************************************************************/ - -package org.eclipse.etrice.tests.base; - -import static org.junit.Assert.fail; - -import java.io.File; -import java.io.IOException; -import java.net.URL; -import java.util.LinkedList; - -import org.eclipse.core.runtime.FileLocator; -import org.eclipse.emf.common.util.URI; -import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.etrice.core.room.RoomModel; -import org.eclipse.xtext.resource.XtextResource; -import org.eclipse.xtext.resource.XtextResourceSet; - -public abstract class TestBase { - - private String basePath; - private LinkedList<RoomModel> models = new LinkedList<RoomModel>(); - - protected void loadModelFile() { - try { - URL modelsDir = getModelsDirectoy(); - URL fileURL = FileLocator.toFileURL(modelsDir); - basePath = fileURL.getFile(); - } catch (IOException e) { - e.printStackTrace(); - } - - loadModels(getModelFileName()); - } - - protected void removeDiagramsDirectory() { - File diagDir = new File(basePath+File.separator+"diagrams"); - if (diagDir.isDirectory()) { - File[] files = diagDir.listFiles(); - if (files!=null) - for (int i = 0; i < files.length; i++) { - files[i].delete(); - } - diagDir.delete(); - } - } - - private void loadModels(String modelName) { - XtextResourceSet rs = new XtextResourceSet(); - rs.addLoadOption(XtextResource.OPTION_RESOLVE_ALL, Boolean.TRUE); - String path = basePath + modelName; - URI uri = URI.createFileURI(path); - Resource resource = rs.getResource(uri, true); - Object root = resource.getContents().get(0); - if (root instanceof RoomModel) - models.add((RoomModel) root); - else - fail("File contains no RoomModel as root object"); - } - - public LinkedList<RoomModel> getModels() { - return models; - } - - protected abstract String getModelFileName(); - protected abstract URL getModelsDirectoy(); -} +/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.tests.base;
+
+import static org.junit.Assert.fail;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.URL;
+import java.util.LinkedList;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.etrice.core.room.RoomModel;
+import org.eclipse.xtext.resource.XtextResource;
+import org.eclipse.xtext.resource.XtextResourceSet;
+
+public abstract class TestBase {
+
+ private String basePath;
+ private LinkedList<RoomModel> models = new LinkedList<RoomModel>();
+
+ protected void loadModelFile() {
+ try {
+ URL modelsDir = getModelsDirectoy();
+ URL fileURL = FileLocator.toFileURL(modelsDir);
+ basePath = fileURL.getFile();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ loadModels(getModelFileName());
+ }
+
+ protected void removeDiagramsDirectory() {
+ File diagDir = new File(basePath+File.separator+"diagrams");
+ if (diagDir.isDirectory()) {
+ File[] files = diagDir.listFiles();
+ if (files!=null)
+ for (int i = 0; i < files.length; i++) {
+ files[i].delete();
+ }
+ diagDir.delete();
+ }
+ }
+
+ private void loadModels(String modelName) {
+ XtextResourceSet rs = new XtextResourceSet();
+ rs.addLoadOption(XtextResource.OPTION_RESOLVE_ALL, Boolean.TRUE);
+ String path = basePath + modelName;
+ URI uri = URI.createFileURI(path);
+ Resource resource = rs.getResource(uri, true);
+ Object root = resource.getContents().get(0);
+ if (root instanceof RoomModel)
+ models.add((RoomModel) root);
+ else
+ fail("File contains no RoomModel as root object");
+ }
+
+ public LinkedList<RoomModel> getModels() {
+ return models;
+ }
+
+ protected abstract String getModelFileName();
+ protected abstract URL getModelsDirectoy();
+}
diff --git a/tests/org.eclipse.etrice.ui.behavior.tests/.classpath b/tests/org.eclipse.etrice.ui.behavior.tests/.classpath index ad32c83a7..8a8f1668c 100644 --- a/tests/org.eclipse.etrice.ui.behavior.tests/.classpath +++ b/tests/org.eclipse.etrice.ui.behavior.tests/.classpath @@ -1,7 +1,7 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> - <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> - <classpathentry kind="src" path="src"/> - <classpathentry kind="output" path="bin"/> -</classpath> +<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.etrice.ui.behavior.tests/.gitignore b/tests/org.eclipse.etrice.ui.behavior.tests/.gitignore index ba077a403..092357e47 100644 --- a/tests/org.eclipse.etrice.ui.behavior.tests/.gitignore +++ b/tests/org.eclipse.etrice.ui.behavior.tests/.gitignore @@ -1 +1 @@ -bin +bin
diff --git a/tests/org.eclipse.etrice.ui.behavior.tests/.project b/tests/org.eclipse.etrice.ui.behavior.tests/.project index 0b60a5db7..9b5577fbd 100644 --- a/tests/org.eclipse.etrice.ui.behavior.tests/.project +++ b/tests/org.eclipse.etrice.ui.behavior.tests/.project @@ -1,34 +1,34 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>org.eclipse.etrice.ui.behavior.tests</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.pde.PluginNature</nature> - <nature>org.eclipse.jdt.core.javanature</nature> - <nature>org.eclipse.xtext.ui.shared.xtextNature</nature> - </natures> -</projectDescription> +<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.etrice.ui.behavior.tests</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.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+ </natures>
+</projectDescription>
diff --git a/tests/org.eclipse.etrice.ui.behavior.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.ui.behavior.tests/META-INF/MANIFEST.MF index 261309db6..a4478f3c6 100644 --- a/tests/org.eclipse.etrice.ui.behavior.tests/META-INF/MANIFEST.MF +++ b/tests/org.eclipse.etrice.ui.behavior.tests/META-INF/MANIFEST.MF @@ -1,18 +1,18 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: eTrice Behavior Diagram Tests -Bundle-SymbolicName: org.eclipse.etrice.ui.behavior.tests -Bundle-Version: 0.1.0 -Bundle-Activator: org.eclipse.etrice.ui.behavior.BehaviorTestActivator -Bundle-Vendor: eTrice (Incubation) -Require-Bundle: org.eclipse.ui, - org.eclipse.core.runtime, - org.junit;bundle-version="4.8.1", - org.eclipse.etrice.core.room;bundle-version="0.1.0", - org.eclipse.etrice.ui.behavior;bundle-version="0.1.0", - org.eclipse.xtext;bundle-version="1.0.1", - org.eclipse.graphiti;bundle-version="0.7.0", - org.eclipse.etrice.ui.common;bundle-version="0.1.0", - org.eclipse.etrice.ui.tests.base;bundle-version="0.1.0" -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 -Bundle-ActivationPolicy: lazy +Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: eTrice Behavior Diagram Tests
+Bundle-SymbolicName: org.eclipse.etrice.ui.behavior.tests
+Bundle-Version: 0.1.0
+Bundle-Activator: org.eclipse.etrice.ui.behavior.BehaviorTestActivator
+Bundle-Vendor: eTrice (Incubation)
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.junit;bundle-version="4.8.1",
+ org.eclipse.etrice.core.room;bundle-version="0.1.0",
+ org.eclipse.etrice.ui.behavior;bundle-version="0.1.0",
+ org.eclipse.xtext;bundle-version="1.0.1",
+ org.eclipse.graphiti;bundle-version="0.7.0",
+ org.eclipse.etrice.ui.common;bundle-version="0.1.0",
+ org.eclipse.etrice.ui.tests.base;bundle-version="0.1.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-ActivationPolicy: lazy
diff --git a/tests/org.eclipse.etrice.ui.behavior.tests/build.properties b/tests/org.eclipse.etrice.ui.behavior.tests/build.properties index 34d2e4d2d..41eb6ade2 100644 --- a/tests/org.eclipse.etrice.ui.behavior.tests/build.properties +++ b/tests/org.eclipse.etrice.ui.behavior.tests/build.properties @@ -1,4 +1,4 @@ -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - . +source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/tests/org.eclipse.etrice.ui.behavior.tests/models/HierarchicalStateMachine.room b/tests/org.eclipse.etrice.ui.behavior.tests/models/HierarchicalStateMachine.room index 4afd5c530..e62059df3 100644 --- a/tests/org.eclipse.etrice.ui.behavior.tests/models/HierarchicalStateMachine.room +++ b/tests/org.eclipse.etrice.ui.behavior.tests/models/HierarchicalStateMachine.room @@ -1,88 +1,88 @@ -RoomModel ActorClassWithPorts { - ActorClass MyActorClass { - Interface { - Port ip: MyProtocol - Port xp: MyProtocol - } - Structure { - external Port xp - conjugated Port sp: MyProtocol - } - Behavior { - StateMachine { - Transition tr0: my tptop -> my tptop { - triggers { - <in2: xp> - } - } - Transition tr1: state1 -> cp cp0 { - triggers { - <out1: sp> - } - } - Transition tr2: cp cp0 -> elseState { - } - Transition tr3: cp cp0 -> ifState { - cond { - "true" - } - } - Transition init: initial -> enter of state1 { - } - Transition tr4: leave of state1 -> ifState { - } - ChoicePoint cp0 - TransitionPoint tptop - State state1 { - entry { - "//entry" - } - exit { - "//exit" - } - subgraph { - Transition tr0: my tp -> my tp { - triggers { - <in1: xp> - } - } - Transition tr1: second -> my leave { - triggers { - <in2: xp> - } - } - Transition tr2: first -> second { - triggers { - <out1: sp> - } - } - Transition tr3: my enter -> first { - } - EntryPoint enter - ExitPoint leave - TransitionPoint tp - State first { - } - State second { - } - } - } - State elseState { - } - State ifState { - } - } - } - } - - ProtocolClass MyProtocol { - incoming { - Message in1() - Message in2() - } - outgoing { - Message out1() - } - } - +RoomModel ActorClassWithPorts {
+ ActorClass MyActorClass {
+ Interface {
+ Port ip: MyProtocol
+ Port xp: MyProtocol
+ }
+ Structure {
+ external Port xp
+ conjugated Port sp: MyProtocol
+ }
+ Behavior {
+ StateMachine {
+ Transition tr0: my tptop -> my tptop {
+ triggers {
+ <in2: xp>
+ }
+ }
+ Transition tr1: state1 -> cp cp0 {
+ triggers {
+ <out1: sp>
+ }
+ }
+ Transition tr2: cp cp0 -> elseState {
+ }
+ Transition tr3: cp cp0 -> ifState {
+ cond {
+ "true"
+ }
+ }
+ Transition init: initial -> enter of state1 {
+ }
+ Transition tr4: leave of state1 -> ifState {
+ }
+ ChoicePoint cp0
+ TransitionPoint tptop
+ State state1 {
+ entry {
+ "//entry"
+ }
+ exit {
+ "//exit"
+ }
+ subgraph {
+ Transition tr0: my tp -> my tp {
+ triggers {
+ <in1: xp>
+ }
+ }
+ Transition tr1: second -> my leave {
+ triggers {
+ <in2: xp>
+ }
+ }
+ Transition tr2: first -> second {
+ triggers {
+ <out1: sp>
+ }
+ }
+ Transition tr3: my enter -> first {
+ }
+ EntryPoint enter
+ ExitPoint leave
+ TransitionPoint tp
+ State first {
+ }
+ State second {
+ }
+ }
+ }
+ State elseState {
+ }
+ State ifState {
+ }
+ }
+ }
+ }
+
+ ProtocolClass MyProtocol {
+ incoming {
+ Message in1()
+ Message in2()
+ }
+ outgoing {
+ Message out1()
+ }
+ }
+
}
\ No newline at end of file diff --git a/tests/org.eclipse.etrice.ui.structure.tests/.gitignore b/tests/org.eclipse.etrice.ui.structure.tests/.gitignore index ba077a403..092357e47 100644 --- a/tests/org.eclipse.etrice.ui.structure.tests/.gitignore +++ b/tests/org.eclipse.etrice.ui.structure.tests/.gitignore @@ -1 +1 @@ -bin +bin
diff --git a/tests/org.eclipse.etrice.ui.structure.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.ui.structure.tests/META-INF/MANIFEST.MF index 63e442c16..de65161c3 100644 --- a/tests/org.eclipse.etrice.ui.structure.tests/META-INF/MANIFEST.MF +++ b/tests/org.eclipse.etrice.ui.structure.tests/META-INF/MANIFEST.MF @@ -1,18 +1,18 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: eTrice Structure Diagram Tests -Bundle-SymbolicName: org.eclipse.etrice.ui.structure.tests -Bundle-Version: 0.1.0 -Require-Bundle: org.eclipse.ui, - org.eclipse.core.runtime, - org.junit;bundle-version="4.8.1", - org.eclipse.etrice.core.room;bundle-version="0.1.0", - org.eclipse.etrice.ui.structure;bundle-version="0.1.0", - org.eclipse.xtext;bundle-version="1.0.1", - org.eclipse.graphiti;bundle-version="0.7.0", - org.eclipse.etrice.ui.common;bundle-version="0.1.0", - org.eclipse.etrice.ui.tests.base;bundle-version="0.1.0" -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 -Bundle-Vendor: eTrice (Incubation) -Bundle-ActivationPolicy: lazy -Bundle-Activator: org.eclipse.etrice.ui.structure.StructureTestActivator +Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: eTrice Structure Diagram Tests
+Bundle-SymbolicName: org.eclipse.etrice.ui.structure.tests
+Bundle-Version: 0.1.0
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.junit;bundle-version="4.8.1",
+ org.eclipse.etrice.core.room;bundle-version="0.1.0",
+ org.eclipse.etrice.ui.structure;bundle-version="0.1.0",
+ org.eclipse.xtext;bundle-version="1.0.1",
+ org.eclipse.graphiti;bundle-version="0.7.0",
+ org.eclipse.etrice.ui.common;bundle-version="0.1.0",
+ org.eclipse.etrice.ui.tests.base;bundle-version="0.1.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-Vendor: eTrice (Incubation)
+Bundle-ActivationPolicy: lazy
+Bundle-Activator: org.eclipse.etrice.ui.structure.StructureTestActivator
diff --git a/tests/org.eclipse.etrice.ui.tests.base/.classpath b/tests/org.eclipse.etrice.ui.tests.base/.classpath index ad32c83a7..8a8f1668c 100644 --- a/tests/org.eclipse.etrice.ui.tests.base/.classpath +++ b/tests/org.eclipse.etrice.ui.tests.base/.classpath @@ -1,7 +1,7 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> - <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> - <classpathentry kind="src" path="src"/> - <classpathentry kind="output" path="bin"/> -</classpath> +<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.etrice.ui.tests.base/.gitignore b/tests/org.eclipse.etrice.ui.tests.base/.gitignore index ba077a403..092357e47 100644 --- a/tests/org.eclipse.etrice.ui.tests.base/.gitignore +++ b/tests/org.eclipse.etrice.ui.tests.base/.gitignore @@ -1 +1 @@ -bin +bin
diff --git a/tests/org.eclipse.etrice.ui.tests.base/.project b/tests/org.eclipse.etrice.ui.tests.base/.project index ebe0323d9..56bbc0f5a 100644 --- a/tests/org.eclipse.etrice.ui.tests.base/.project +++ b/tests/org.eclipse.etrice.ui.tests.base/.project @@ -1,28 +1,28 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>org.eclipse.etrice.ui.tests.base</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.pde.PluginNature</nature> - <nature>org.eclipse.jdt.core.javanature</nature> - </natures> -</projectDescription> +<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.etrice.ui.tests.base</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.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/tests/org.eclipse.etrice.ui.tests.base/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.etrice.ui.tests.base/.settings/org.eclipse.jdt.core.prefs index 00cf6ec9e..a5e428cf7 100644 --- a/tests/org.eclipse.etrice.ui.tests.base/.settings/org.eclipse.jdt.core.prefs +++ b/tests/org.eclipse.etrice.ui.tests.base/.settings/org.eclipse.jdt.core.prefs @@ -1,8 +1,8 @@ -#Thu Feb 10 12:03:48 CET 2011 -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.6 +#Thu Feb 10 12:03:48 CET 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/tests/org.eclipse.etrice.ui.tests.base/META-INF/MANIFEST.MF b/tests/org.eclipse.etrice.ui.tests.base/META-INF/MANIFEST.MF index 2aac5d08c..b175b4734 100644 --- a/tests/org.eclipse.etrice.ui.tests.base/META-INF/MANIFEST.MF +++ b/tests/org.eclipse.etrice.ui.tests.base/META-INF/MANIFEST.MF @@ -1,14 +1,14 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: eTrice Diagram Test Base Classes -Bundle-SymbolicName: org.eclipse.etrice.ui.tests.base -Bundle-Version: 0.1.0 -Require-Bundle: org.junit;bundle-version="4.8.1", - org.eclipse.core.runtime, - org.eclipse.etrice.core.room;bundle-version="0.1.0", - org.eclipse.etrice.ui.structure;bundle-version="0.1.0", - org.eclipse.xtext;bundle-version="1.0.1", - org.eclipse.graphiti;bundle-version="0.7.0" -Bundle-Vendor: eTrice (Incubation) -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 -Export-Package: org.eclipse.etrice.tests.base +Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: eTrice Diagram Test Base Classes
+Bundle-SymbolicName: org.eclipse.etrice.ui.tests.base
+Bundle-Version: 0.1.0
+Require-Bundle: org.junit;bundle-version="4.8.1",
+ org.eclipse.core.runtime,
+ org.eclipse.etrice.core.room;bundle-version="0.1.0",
+ org.eclipse.etrice.ui.structure;bundle-version="0.1.0",
+ org.eclipse.xtext;bundle-version="1.0.1",
+ org.eclipse.graphiti;bundle-version="0.7.0"
+Bundle-Vendor: eTrice (Incubation)
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Export-Package: org.eclipse.etrice.tests.base
diff --git a/tests/org.eclipse.etrice.ui.tests.base/build.properties b/tests/org.eclipse.etrice.ui.tests.base/build.properties index 34d2e4d2d..41eb6ade2 100644 --- a/tests/org.eclipse.etrice.ui.tests.base/build.properties +++ b/tests/org.eclipse.etrice.ui.tests.base/build.properties @@ -1,4 +1,4 @@ -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - . +source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/tests/org.eclipse.etrice.ui.tests.base/src/org/eclipse/etrice/tests/base/TestBase.java b/tests/org.eclipse.etrice.ui.tests.base/src/org/eclipse/etrice/tests/base/TestBase.java index 73a95af74..fc80b940a 100644 --- a/tests/org.eclipse.etrice.ui.tests.base/src/org/eclipse/etrice/tests/base/TestBase.java +++ b/tests/org.eclipse.etrice.ui.tests.base/src/org/eclipse/etrice/tests/base/TestBase.java @@ -1,89 +1,89 @@ -/******************************************************************************* - * Copyright (c) 2010 protos software gmbh (http://www.protos.de). - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * CONTRIBUTORS: - * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution) - * - *******************************************************************************/ - -package org.eclipse.etrice.tests.base; - -import static org.junit.Assert.fail; - -import java.io.File; -import java.io.IOException; -import java.net.URL; -import java.util.LinkedList; - -import org.eclipse.core.runtime.FileLocator; -import org.eclipse.emf.common.util.URI; -import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.etrice.core.room.RoomModel; -import org.eclipse.graphiti.mm.algorithms.styles.Color; -import org.eclipse.graphiti.util.IColorConstant; -import org.eclipse.xtext.resource.XtextResource; -import org.eclipse.xtext.resource.XtextResourceSet; - -public abstract class TestBase { - - private String basePath; - private LinkedList<RoomModel> models = new LinkedList<RoomModel>(); - - protected void loadModelFile() { - try { - URL modelsDir = getModelsDirectoy(); - URL fileURL = FileLocator.toFileURL(modelsDir); - basePath = fileURL.getFile(); - } catch (IOException e) { - e.printStackTrace(); - } - - loadModels(getModelFileName()); - } - - protected void removeDiagramsDirectory() { - File diagDir = new File(basePath+File.separator+"diagrams"); - if (diagDir.isDirectory()) { - File[] files = diagDir.listFiles(); - if (files!=null) - for (int i = 0; i < files.length; i++) { - files[i].delete(); - } - diagDir.delete(); - } - } - - private void loadModels(String modelName) { - XtextResourceSet rs = new XtextResourceSet(); - rs.addLoadOption(XtextResource.OPTION_RESOLVE_ALL, Boolean.TRUE); - String path = basePath + modelName; - URI uri = URI.createFileURI(path); - Resource resource = rs.getResource(uri, true); - Object root = resource.getContents().get(0); - if (root instanceof RoomModel) - models.add((RoomModel) root); - else - fail("File contains no RoomModel as root object"); - } - - public LinkedList<RoomModel> getModels() { - return models; - } - - protected abstract String getModelFileName(); - protected abstract URL getModelsDirectoy(); - - protected boolean isEqual(Color c, IColorConstant cc) { - if (c.getRed()!=cc.getRed()) - return false; - if (c.getGreen()!=cc.getGreen()) - return false; - if (c.getBlue()!=cc.getBlue()) - return false; - return true; - } -} +/*******************************************************************************
+ * Copyright (c) 2010 protos software gmbh (http://www.protos.de).
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * CONTRIBUTORS:
+ * Thomas Schuetz and Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.tests.base;
+
+import static org.junit.Assert.fail;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.URL;
+import java.util.LinkedList;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.etrice.core.room.RoomModel;
+import org.eclipse.graphiti.mm.algorithms.styles.Color;
+import org.eclipse.graphiti.util.IColorConstant;
+import org.eclipse.xtext.resource.XtextResource;
+import org.eclipse.xtext.resource.XtextResourceSet;
+
+public abstract class TestBase {
+
+ private String basePath;
+ private LinkedList<RoomModel> models = new LinkedList<RoomModel>();
+
+ protected void loadModelFile() {
+ try {
+ URL modelsDir = getModelsDirectoy();
+ URL fileURL = FileLocator.toFileURL(modelsDir);
+ basePath = fileURL.getFile();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ loadModels(getModelFileName());
+ }
+
+ protected void removeDiagramsDirectory() {
+ File diagDir = new File(basePath+File.separator+"diagrams");
+ if (diagDir.isDirectory()) {
+ File[] files = diagDir.listFiles();
+ if (files!=null)
+ for (int i = 0; i < files.length; i++) {
+ files[i].delete();
+ }
+ diagDir.delete();
+ }
+ }
+
+ private void loadModels(String modelName) {
+ XtextResourceSet rs = new XtextResourceSet();
+ rs.addLoadOption(XtextResource.OPTION_RESOLVE_ALL, Boolean.TRUE);
+ String path = basePath + modelName;
+ URI uri = URI.createFileURI(path);
+ Resource resource = rs.getResource(uri, true);
+ Object root = resource.getContents().get(0);
+ if (root instanceof RoomModel)
+ models.add((RoomModel) root);
+ else
+ fail("File contains no RoomModel as root object");
+ }
+
+ public LinkedList<RoomModel> getModels() {
+ return models;
+ }
+
+ protected abstract String getModelFileName();
+ protected abstract URL getModelsDirectoy();
+
+ protected boolean isEqual(Color c, IColorConstant cc) {
+ if (c.getRed()!=cc.getRed())
+ return false;
+ if (c.getGreen()!=cc.getGreen())
+ return false;
+ if (c.getBlue()!=cc.getBlue())
+ return false;
+ return true;
+ }
+}
|